|
VR-Engage
2.2
|
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 DtInitializer & | initializer () |
| virtual DtInitTable | startupConfig () |
| virtual DtInitTable | findInitTable (const std::string &name) |
| virtual DtPlayerCreationPalette & | playerCreationPalette () |
| virtual DtChooseRolePanel * | getChoosePlayerPanel () |
| virtual DtSensorLibrary | sensorLibrary () const |
| virtual bool | isDragging () |
| virtual void | setIsDragging (bool dragging) |
| virtual DtComponentFactory & | componentFactory () |
| virtual DtConnectorFactory & | connectorFactory () |
| virtual DtInputDeviceFactory * | inputDeviceFactory () |
| virtual DtPlayerStation * | createPlayerStation () |
| virtual DtPlayerStation * | createPlayerStation (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 DtPlayerStation * | findPlayerStation (const DtEntityIdentifier &, const std::string &stationName) |
| virtual DtPlayerStation * | findPlayer () |
| virtual DtPlayerStation * | findPlayerAt (int index) |
| virtual DtPlayerStation * | findPlayer (const DtEntityIdentifier &) |
| virtual DtPlayerStation * | findPlayer (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 DtVreStatusListener * | statusListener () 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 DtPlayerStationStateManager & | stateManager () |
| virtual DtVreInputManager & | inputManager () |
| virtual DtChatCommandsManager & | chatCommandManager () |
| bool | isTypeAllowed (DtEntityType entityType) |
| virtual bool | setPlayStateObserverMode () |
| virtual bool | setNonPlayStateObserverMode (enum DtDimensionality dimensionality) |
| virtual DtVreObserverModeMapper * | vreObserverModeMapper () const |
| virtual DtVreSensorModeMapper * | vreSensorModeMapper () const |
| virtual DtPlayerStationTempNotification * | tempNotification () |
| 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 DtPlayerStationApp * | instance () |
| 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) |
Static Protected Attributes | |
| static DtPlayerStationApp * | theApp |
| makVre::DtPlayerStationApp::DtPlayerStationApp | ( | makVrv::DtDe & | de | ) |
Constructor.
| de | Reference 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().
|
virtual |
Virtual destructor.
Cleans up resources and performs final shutdown operations.
|
static |
Gets the singleton instance of this class.
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().
|
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.
|
virtual |
Updates the application state.
| dt | Time 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.
|
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.
|
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.
|
virtual |
Gets the name of the currently active VR-Engage 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.
|
virtual |
Gets the unique identifier for this VR-Engage 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.
|
virtual |
Gets a reference to the VR-Vantage 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().
|
virtual |
Gets the application initializer.
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.
|
virtual |
Gets the 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.
|
virtual |
Finds a named initialization table.
| name | Name of the table to find |
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.
|
virtual |
Gets 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.
|
virtual |
Gets the role selection 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.
|
virtual |
Gets the current sensor library.
Returns the sensor library currently in use for the application, which determines how visual effects like night vision and thermal imaging are rendered.
|
virtual |
Checks if the application window is being dragged.
Determines whether the application window is currently being dragged in the display, which may affect input handling and rendering.
|
virtual |
Sets the dragging state of the application window.
| dragging | True to indicate dragging is active, false otherwise |
Updates the internal state that tracks whether the application window is currently being dragged in the display.
|
virtual |
Gets 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.
|
virtual |
Gets the connector factory.
Returns the factory for creating DtConnector class objects. Connectors handle communication between the application and external systems or simulation entities.
|
virtual |
Gets 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.
|
virtual |
Creates a new player station with default settings.
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.
|
virtual |
Creates a new player station with specific settings.
| id | The SISO entity identifier of the entity to be created |
| station | The name of the station to create |
| displayLayout | The name of the display layout to use |
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.
|
virtual |
Destroys all player stations.
Removes and destroys all active player stations, freeing their resources.
|
virtual |
Destroys a specific player station by entity identifier.
| entityId | The entity identifier of the player station to destroy |
Removes and destroys a player station with the specified entity identifier.
|
virtual |
Destroys a specific player station by entity identifier and station name.
| entityId | The entity identifier of the player station to destroy |
| stationName | The name of the station to destroy |
Removes and destroys a player station matching both the specified entity identifier and station name.
|
virtual |
Finds a player station by entity identifier and station name.
| entityId | The entity identifier to search for |
| stationName | The station name to search for |
Searches for a player station that matches both the specified entity identifier and station name.
|
virtual |
Finds the first player station in the list.
Returns the first player station in the player list. Used as a convenience method when the application only has a single player station.
|
virtual |
Finds a player station at a specific index.
| index | The index in the player list |
Returns the player station at the specified index in the player list.
|
virtual |
Finds a player station by entity identifier.
| entityId | The entity identifier to search for |
Searches for a player station with the specified entity identifier.
|
virtual |
Finds a player station by element ID.
| elementId | The VR-Vantage element ID to search for |
Searches for a player station with the specified VR-Vantage element ID.
|
virtual |
Gets the list of all player stations.
Returns a reference to the internal list of all active player stations. This list is valid for the duration of the application.
|
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.
|
virtual |
Sets the entity to which the observer is attached.
| entityId | The 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.
|
virtual |
Gets the entity to which the observer is currently attached.
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.
|
virtual |
Detaches the observer if it is attached to the specified element.
| elementId | The 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.
|
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.
|
virtual |
Makes the observer look at multiple entities.
| entityIds | Vector 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.
|
virtual |
Makes the observer look at a single entity.
| entityId | Entity 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.
|
virtual |
Makes the observer follow an entity.
| entityId | Entity 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.
|
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.
|
virtual |
Checks if the observer has a default position.
| outName | Optional parameter to receive the name of the default position |
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.
|
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.
|
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.
|
virtual |
Gets the name of the application-level 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.
|
virtual |
Gets 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.
|
virtual |
Sets the current player station type name.
| playerType | The 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.
|
virtual |
Sets the display layout for the current player station.
| displayLayout | The 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.
|
virtual |
Gets the current player station type name.
Returns the type name of the current player station, such as "Pilot", "Human", "Vehicle Driver", etc.
|
virtual |
Gets the current player station display layout.
Returns the name of the display layout currently in use by the player station.
|
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.
|
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.
|
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.
|
virtual |
Sets the play fullscreen mode.
| fullscreen | True 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.
|
virtual |
Gets the play fullscreen mode setting.
Returns whether the application is configured to use the full screen when in play mode.
|
virtual |
Sets the application's fullscreen state.
| fullscreen | True 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.
|
virtual |
Checks if the application is currently in fullscreen mode.
Returns whether the application is currently displayed in fullscreen mode.
|
virtual |
Sets the current mode of the application.
| mode | The application mode to set (e.g., "Admin", "Player") |
| changeMenus | Whether to update the menus based on the new mode (default: true) |
| isInitialSet | Whether this is the initial setting of the mode (default: false) |
Changes the current application mode, which affects available features and UI elements. Different modes provide different access levels and functionality.
|
virtual |
Gets the current application mode.
Returns the current operating mode of the application, such as "Admin" or "Player".
|
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.
|
virtual |
Updates the application menus based on the specified mode.
| appMode | The 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.
|
virtual |
Enables or disables admin mode.
| enabled | True 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.
|
virtual |
Checks if admin mode is enabled.
Determines whether the application currently has administrative features enabled.
|
virtual |
Spectator mode functions.
Checks if spectator mode is active
Determines whether the application is in spectator mode, which blocks all input except view controls, allowing passive observation only.
|
virtual |
Sets spectator mode state.
| value | True 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.
|
virtual |
Role mode functions.
Checks if fixed role mode is enabled
Determines whether the application is in fixed role mode, which restricts the user to a predetermined role rather than allowing role selection.
|
virtual |
Sets the fixed role mode state.
| on | True 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.
|
virtual |
Checks if VR support is available.
Determines whether VR hardware and software support is available in the current runtime environment.
|
virtual |
Checks if VRV controls are enabled.
Determines whether VR-Vantage specific controls are currently enabled in the application interface.
|
virtual |
Checks if the 3D role selection panel is enabled.
Determines whether the application is using a 3D or 2D version of the role selection panel interface.
|
virtual |
Gets the application state manager.
Provides access to the state manager, which controls application state transitions and maintains the state stack.
|
virtual |
Gets the input manager.
Provides access to the input manager, which handles user input from various devices and dispatches input events.
|
virtual |
Gets the chat command manager.
Provides access to the chat command manager, which handles processing and execution of text commands in the chat interface.
| bool makVre::DtPlayerStationApp::isTypeAllowed | ( | DtEntityType | entityType | ) |
Checks if an entity type is allowed.
| entityType | The entity type to check |
Determines whether the specified entity type is allowed to be created or used in the current application configuration.
|
virtual |
Sets the observer mode for play state.
Configures the observer mode that will be used when in the play state, based on the current sensor library configuration.
|
virtual |
Sets the observer mode for non-play states.
| dimensionality | Specifies whether to use 2D or 3D mode |
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.
|
virtual |
Gets 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.
|
virtual |
Gets 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.
|
inlinevirtual |
Gets the temporary notification handler.
Returns the handler for showing temporary notifications in the UI.
References myTempNotification.
| int makVre::DtPlayerStationApp::incrementActiveHudTexture | ( | int | textureID | ) |
Increments the active HUD texture count.
| textureID | ID of the texture to increment |
Increases the reference count for a HUD texture and returns the new count.
| int makVre::DtPlayerStationApp::decrementActiveHudTexture | ( | int | textureID | ) |
Decrements the active HUD texture count.
| textureID | ID of the texture to decrement |
Decreases the reference count for a HUD texture and returns the new count.
| int makVre::DtPlayerStationApp::getActiveHudTextureCount | ( | int | textureID | ) |
Gets the current HUD texture count.
| textureID | ID of the texture to query |
Returns the current reference count for a specific HUD texture ID.
|
static |
Air mode functions.
Checks if air mode is enabled
| b | Optional parameter to check alternate state |
|
static |
Checks if air-only mode is active.
|
static |
Ground mode functions.
Checks if ground mode is enabled
| b | Optional parameter to check alternate state |
|
static |
Checks if ground-only mode is active.
|
static |
Sensor mode functions.
Checks if sensor mode is enabled
| b | Optional parameter to check alternate state |
|
static |
Checks if sensor-only mode is active.
|
static |
Checks if combined mode is active.
Determines whether the application is in combined mode, which allows multiple role types simultaneously.
|
virtual |
Gets the application name.
Returns the application name, used by the network forwarder to identify this application for RequestSubscribeMessage events.
|
virtual |
Checks if the menu bar is visible.
Determines whether the application menu bar is currently visible.
| bool makVre::DtPlayerStationApp::isImguiVisible | ( | ) |
Checks if ImGui is visible.
Determines whether ImGui debug interface is currently visible.
| DtAttributeHandle makVre::DtPlayerStationApp::appAttributeStore | ( | ) |
Gets the application attribute store.
Provides access to the application's attribute store, which contains shared application data.
| const DtAttributeHandle makVre::DtPlayerStationApp::appAttributeStore | ( | ) | const |
Gets the application attribute store (const version)
| void makVre::DtPlayerStationApp::deferFunction | ( | std::function< void()> & | f, |
| int | delayInTicks = 0 ) |
Defers a function to be executed after a number of ticks.
| f | Function to execute |
| delayInTicks | Number of ticks to wait before execution (default: 0) |
Schedules a function to be executed after the specified number of ticks.
| void makVre::DtPlayerStationApp::deferFunction | ( | std::function< void()> & | f, |
| double | delayInSeconds ) |
Defers a function to be executed after a time delay.
| f | Function to execute |
| delayInSeconds | Seconds to wait before execution |
Schedules a function to be executed after the specified time delay in seconds.
|
protectedvirtual |
Sets the observer mode for the primary observer.
| name | Name of the observer mode to set |
Sets the observer mode for "Observer 1", the main application observer.
|
protectedvirtual |
Gets the path to the plugin directory.
Returns the full path to the directory containing VR-Engage plugins. Plugins are loaded from this directory during application initialization.
|
protectedvirtual |
Loads a VR-Engage DLL plugin.
| filename | Name of the DLL file to load |
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
protected |
Monitors the status of the boss station in minion mode.
| message | The status message to process |
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.
|
protected |
Requests the boss station to forward messages.
| message | The subscription request message |
If this station is in minion mode, requests the boss station to forward messages of the specified type to this station.
|
protected |
Requests the boss station to stop forwarding messages.
| message | The unsubscription request message |
If this station is in minion mode, requests the boss station to stop forwarding messages of the specified type to this station.
|
protected |
Handles session SMS list messages.
| message | The session SMS list message |
Processes messages containing the list of simulation model sets (SMS) available in the current session.
| boost::signalslib::signal<void()> makVre::DtPlayerStationApp::signal_menuBarVisibilityChanged |
Signal for menu bar visibility changes.
|
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.
|
protected |
Temporary notification handler.
Referenced by tempNotification().
|
protected |
Initializers and configuration.
Lua configuration initializer
Responsible for loading and parsing Lua configuration files.
|
protected |
Startup configuration table.
Contains the startup configuration data from playerStation.lua.
|
protected |
Minion mode configuration table.
Contains configuration data for minion mode operation.
|
protected |
Entity resolver.
Resolves entity identifiers to entity instances.
|
protected |
Application managers.
Instrument panel manager
Manages the creation and arrangement of instrument panels in the UI.
|
protected |
Signal connection manager.
Manages signal connections between components in the application.
|
protected |
State manager.
Manages application state transitions and maintains the state stack.
|
protected |
Input manager.
Handles user input from various devices and dispatches input events.
|
protected |
Input logic handler.
Implements application-specific input handling logic.
|
protected |
Factory objects.
Component factory
Creates player component instances based on registered component classes.
|
protected |
Connector factory.
Creates connector instances based on registered connector classes.
|
protected |
Input device factory.
Creates input device instances based on registered device classes.
|
protected |
Chat commands manager.
Manages the processing and execution of text commands in the chat interface.
|
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.
|
protected |
Menu bar visibility state.
Tracks whether the application menu bar is currently visible.
|
protected |
Full screen mode state for play mode.
Controls whether the application uses the full screen when in play mode.
|
protected |
Spectator mode state.
When true, blocks all input except view controls. Spectator mode allows passive observation of the simulation without player interaction.
|
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.
|
protected |
Resource mutex.
Protects shared resources from concurrent access.
|
protected |
Reference to the VR-Vantage display engine.
Provides access to the rendering engine and window management.
|
protected |
Current player station type name.
The type name of the current player station, such as "Pilot" or "Vehicle Driver".
|
protected |
Current display layout name.
The name of the display layout currently in use by the player station.
|
protected |
Admin mode variables.
Current application mode
The current operating mode of the application, such as "Admin" or "Player".
|
protected |
Previous application mode.
Stores the previous application mode, used when toggling between modes.
|
protected |
Admin mode enabled state.
Controls whether administrative features are available in the application.
|
protected |
Debug mode state.
When true, enables additional debug output and functionality.
|
protected |
Player creation palette.
Contains information about available player roles and their configurations. Used for the role selection interface.
|
protected |
Role selection panel.
Panel used for selecting and configuring player roles.
|
protected |
Fixed role mode state.
When true, the application uses a predetermined role rather than allowing the user to select from available roles.
|
protected |
Window dragging state.
Tracks whether the application window is currently being dragged.
|
protected |
VR-Vantage controls state.
Controls whether VR-Vantage specific controls are enabled in the interface.
|
protected |
3D role panel state
When true, uses a 3D version of the role selection panel interface. When false, uses a 2D panel.
|
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.
|
protected |
Status publisher.
Broadcasts the state of the VR-Engage application and its player stations to other components in the distributed simulation.
|
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.
|
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.
|
protected |
Observer mode for 3D non-play states.
Observer mode to use while in the choosing role state when using 3D view.
|
protected |
Observer mode for play state.
Observer mode to use while in the play state (always 3D).
|
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.
|
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.
|
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".
|
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.
|
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.
|
protected |
List of deferred functions.
Contains functions that are scheduled to be executed after a delay.