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

DtAerodromeStatusManager manages status data for all the aerodromes and related runways in a VR-Link connection. It maintains a map indexed by DtUniqueID of each aerodrome using a DtAerodromeStatusData object (and an additional aerodrome map indexed by name. It also manages runway status data. Typically a physical runway has two logical names, based on each direction the runway could be used from; these are referred to as logical runways here. The DtAerodromeStatusManager maintains a map of each physical runway by DtUniqueID with a corresponding DtPhysicalRunwayStatusData object. The DtPhysicalRunwayStatusData in turn contains the logical runway-specific data. All additions, removals and changes to aerodromes or runways are handle by this singleton class. The primary data of interest currently is the intensity of different groups of lights on these runways ans some basic runway status, including whether the runway is wet, damaged, has arrestors up, and which logical runway (if any) is active. When light intensities are modified, this class uses a DtRunwayLightUpdaterAgent to notify the main (render) thread of those changes. For the other runway status data DtRunwayStatusUpdaterAgent is used.

Inheritance diagram for makVrv::DtAerodromeStatusManager:
Inheritance graph
[legend]

Public Member Functions

 DtAerodromeStatusManager (DtBaseConnection &conn)
 
virtual ~DtAerodromeStatusManager ()
 
 DtAerodromeStatusManager ()=delete
 
 DtAerodromeStatusManager (const DtAerodromeStatusManager &)=delete
 
DtAerodromeStatusManageroperator= (const DtAerodromeStatusManager &)=delete
 
virtual
DtPhysicalRunwayStatusData
findPhysicalRunwayData (DtUniqueID runwayId)
 
virtual DtPhysicalRunwayStatusData physicalRunwayData (DtUniqueID runwayId) const
 
virtual DtLogicalRunwayStatusDatafindLogicalRunwayData (DtUniqueID runwayId, const std::string &logicalRunwayName)
 
virtual DtLogicalRunwayStatusData logicalRunwayData (DtUniqueID runwayId, const std::string &logicalRunwayName) const
 
virtual DtLogicalRunwayStatusDatafindLogicalRunwayData (DtUniqueID runwayId, unsigned int logicalRunwayIndex)
 
virtual DtLogicalRunwayStatusData logicalRunwayData (DtUniqueID runwayId, unsigned int logicalRunwayIndex) const
 
virtual void addAerodrome (DtUniqueID uniqueId, const std::string &aerodromeName)
 
virtual void removeAerodrome (DtUniqueID aerodromeId)
 
virtual DtAerodromeStatusDatafindAerodromeData (DtUniqueID aerodromeId)
 
virtual DtAerodromeStatusData aerodromeData (DtUniqueID aerodromeId) const
 
virtual DtAerodromeStatusData aerodromeData (const std::string &aerodromeName) const
 
virtual DtAerodromeStatusDatafindAerodromeData (const std::string &aerodromeName)
 
virtual void addRunway (DtUniqueID runwayId, DtUniqueID aerodromeId)
 
virtual void removeRunway (DtUniqueID runwayId)
 
virtual void setPhysicalRunwayName (DtUniqueID runwayId, const std::string &name)
 
virtual std::string physicalRunwayName (DtUniqueID runwayId) const
 
virtual void setLogicalRunwayName (DtUniqueID runwayId, unsigned int logicalRunwayIndex, const std::string &name)
 
virtual std::string logicalRunwayName (DtUniqueID runwayId, unsigned int logicalRunwayIndex)
 
virtual unsigned int logicalRunwayIndex (DtUniqueID runwayId, const std::string &runwayName) const
 
virtual void setRunwayLightIntensity (DtUniqueID runwayId, unsigned int logicalRunwayIndex, DtRunwayLightsEnum lightType, float intensity)
 
virtual float runwayLightIntensity (DtUniqueID runwayId, unsigned int logicalRunwayIndex, DtRunwayLightsEnum lightType) const
 
virtual void setRunwayIsActive (DtUniqueID runwayId, unsigned int logicalRunwayIndex, bool isActive)
 
virtual bool runwayIsActive (DtUniqueID runwayId, unsigned int logicalRunwayIndex) const
 
virtual void setRunwayHasArrestorsUp (DtUniqueID runwayId, unsigned int logicalRunwayIndex, bool hasArrestorsUp)
 
virtual bool runwayHasArrestorsUp (DtUniqueID runwayId, unsigned int logicalRunwayIndex) const
 
virtual void setRunwayGuardLightsIntensity (DtUniqueID runwayId, float intensity)
 
virtual float runwayGuardLightsIntensity (DtUniqueID runwayId) const
 
virtual void setRunwayCondition (DtUniqueID runwayId, DtRunwayCondition cond)
 
virtual DtRunwayCondition runwayCondition (DtUniqueID runwayId) const
 
virtual void setRunwayIsDamaged (DtUniqueID runwayId, bool isDamaged)
 
virtual bool runwayIsDamaged (DtUniqueID runwayId) const
 
virtual void setAerodromeLightIntensity (DtUniqueID aerodromeId, DtAerodromeLightsEnum lightType, float intensity)
 
virtual float aerodromeLightIntensity (DtUniqueID aerodromeId, DtAerodromeLightsEnum lightType) const
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 
virtual ~DtVirtualBaseClass ()
 

Static Public Member Functions

static DtAerodromeStatusManagerinstance (DtBaseConnection &conn)
 

Protected Attributes

DtBaseConnectionmyConnection
 
DtRunwayLightingUpdaterAgent * myRunwayLightingUpdaterAgent
 
DtRunwayStatusUpdaterAgent * myRunwayStatusUpdaterAgent
 
DtAerodromeLightingUpdaterAgent * myAerodromeLightingUpdaterAgent
 
std::unordered_map< DtUniqueID,
DtAerodromeStatusData
myAerodromeIdToDataMap
 
std::unordered_map
< std::string, DtUniqueID
myAerodromeNameToIdMap
 
std::unordered_map< DtUniqueID,
DtPhysicalRunwayStatusData
myRunwayIdToDataMap
 

Constructor & Destructor Documentation

makVrv::DtAerodromeStatusManager::DtAerodromeStatusManager ( DtBaseConnection conn)

Constructor takes the connection the processor will use.

virtual makVrv::DtAerodromeStatusManager::~DtAerodromeStatusManager ( )
virtual

Destructor.

makVrv::DtAerodromeStatusManager::DtAerodromeStatusManager ( )
delete

not allowed - default constructor

makVrv::DtAerodromeStatusManager::DtAerodromeStatusManager ( const DtAerodromeStatusManager )
delete

not allowed - copy constructor

Member Function Documentation

DtAerodromeStatusManager& makVrv::DtAerodromeStatusManager::operator= ( const DtAerodromeStatusManager )
delete

not allowed - assignment operator

virtual void makVrv::DtAerodromeStatusManager::addAerodrome ( DtUniqueID  uniqueId,
const std::string &  aerodromeName 
)
virtual

Add a newly discovered aerodrome.

virtual void makVrv::DtAerodromeStatusManager::removeAerodrome ( DtUniqueID  aerodromeId)
virtual

Remove a deleted aerodrome.

virtual DtAerodromeStatusData* makVrv::DtAerodromeStatusManager::findAerodromeData ( DtUniqueID  aerodromeId)
virtual

Get a pointer to the aerodrome data by id. An nullptr will be returned if the aerodrome is not found.

virtual DtAerodromeStatusData makVrv::DtAerodromeStatusManager::aerodromeData ( DtUniqueID  aerodromeId) const
virtual

Get a copy of the aerodrome data by id. An empty object will be returned (with an empty name string) if the aerodrome is not found.

virtual DtAerodromeStatusData makVrv::DtAerodromeStatusManager::aerodromeData ( const std::string &  aerodromeName) const
virtual

Get a copy of the aerodrome data by name. An empty object will be returned (with an empty name string) if the aerodrome is not found.

virtual DtAerodromeStatusData* makVrv::DtAerodromeStatusManager::findAerodromeData ( const std::string &  aerodromeName)
virtual

Get a pointer to the aerodrome data by name. An nullptr will be returned if the aerodrome is not found.

virtual void makVrv::DtAerodromeStatusManager::addRunway ( DtUniqueID  runwayId,
DtUniqueID  aerodromeId 
)
virtual

Add a newly discovered runway.

virtual void makVrv::DtAerodromeStatusManager::removeRunway ( DtUniqueID  runwayId)
virtual

Remove a deleted runwway.

virtual void makVrv::DtAerodromeStatusManager::setPhysicalRunwayName ( DtUniqueID  runwayId,
const std::string &  name 
)
virtual

Set the name of a physical runway (from VR-Link, the runways direction-based names separated by a '/')

virtual std::string makVrv::DtAerodromeStatusManager::physicalRunwayName ( DtUniqueID  runwayId) const
virtual

Get a physical runway's name.

virtual void makVrv::DtAerodromeStatusManager::setLogicalRunwayName ( DtUniqueID  runwayId,
unsigned int  logicalRunwayIndex,
const std::string &  name 
)
virtual

Set the name of a logical runway referenced by index (either 0 or 1)

virtual std::string makVrv::DtAerodromeStatusManager::logicalRunwayName ( DtUniqueID  runwayId,
unsigned int  logicalRunwayIndex 
)
virtual

Get the name of a logical runway from it's index (0 or 1). Returns an empty string if the runway is not found.

virtual unsigned int makVrv::DtAerodromeStatusManager::logicalRunwayIndex ( DtUniqueID  runwayId,
const std::string &  runwayName 
) const
virtual

Get the index of a logical runway from its name. Returns UINT_MAX if the runway is not found.

virtual void makVrv::DtAerodromeStatusManager::setRunwayLightIntensity ( DtUniqueID  runwayId,
unsigned int  logicalRunwayIndex,
DtRunwayLightsEnum  lightType,
float  intensity 
)
virtual

Add a newly discovered runway.

virtual float makVrv::DtAerodromeStatusManager::runwayLightIntensity ( DtUniqueID  runwayId,
unsigned int  logicalRunwayIndex,
DtRunwayLightsEnum  lightType 
) const
virtual

Add a newly discovered runway.

virtual void makVrv::DtAerodromeStatusManager::setRunwayIsActive ( DtUniqueID  runwayId,
unsigned int  logicalRunwayIndex,
bool  isActive 
)
virtual
virtual bool makVrv::DtAerodromeStatusManager::runwayIsActive ( DtUniqueID  runwayId,
unsigned int  logicalRunwayIndex 
) const
virtual
virtual void makVrv::DtAerodromeStatusManager::setRunwayHasArrestorsUp ( DtUniqueID  runwayId,
unsigned int  logicalRunwayIndex,
bool  hasArrestorsUp 
)
virtual
virtual bool makVrv::DtAerodromeStatusManager::runwayHasArrestorsUp ( DtUniqueID  runwayId,
unsigned int  logicalRunwayIndex 
) const
virtual
virtual void makVrv::DtAerodromeStatusManager::setRunwayGuardLightsIntensity ( DtUniqueID  runwayId,
float  intensity 
)
virtual
virtual float makVrv::DtAerodromeStatusManager::runwayGuardLightsIntensity ( DtUniqueID  runwayId) const
virtual
virtual void makVrv::DtAerodromeStatusManager::setRunwayCondition ( DtUniqueID  runwayId,
DtRunwayCondition  cond 
)
virtual
virtual DtRunwayCondition makVrv::DtAerodromeStatusManager::runwayCondition ( DtUniqueID  runwayId) const
virtual
virtual void makVrv::DtAerodromeStatusManager::setRunwayIsDamaged ( DtUniqueID  runwayId,
bool  isDamaged 
)
virtual
virtual bool makVrv::DtAerodromeStatusManager::runwayIsDamaged ( DtUniqueID  runwayId) const
virtual
virtual DtPhysicalRunwayStatusData* makVrv::DtAerodromeStatusManager::findPhysicalRunwayData ( DtUniqueID  runwayId)
virtual

Get a pointer to the physical runway data object for the specified id. If not found, nullptr is returned.

virtual DtPhysicalRunwayStatusData makVrv::DtAerodromeStatusManager::physicalRunwayData ( DtUniqueID  runwayId) const
virtual

Get a copy of the physical runway data for the runway id specified. If not found, an empty copy is returned.

virtual DtLogicalRunwayStatusData* makVrv::DtAerodromeStatusManager::findLogicalRunwayData ( DtUniqueID  runwayId,
const std::string &  logicalRunwayName 
)
virtual

Get a pointer to the logical runway data object for the specified id and name. If not found, nullptr is returned.

virtual DtLogicalRunwayStatusData makVrv::DtAerodromeStatusManager::logicalRunwayData ( DtUniqueID  runwayId,
const std::string &  logicalRunwayName 
) const
virtual

Get a copy of the logical runway data for the runway id and name specified. If not found, an empty copy is returned.

virtual DtLogicalRunwayStatusData* makVrv::DtAerodromeStatusManager::findLogicalRunwayData ( DtUniqueID  runwayId,
unsigned int  logicalRunwayIndex 
)
virtual

Get a pointer to the logical runway data object for the specified id and index. If not found, nullptr is returned.

virtual DtLogicalRunwayStatusData makVrv::DtAerodromeStatusManager::logicalRunwayData ( DtUniqueID  runwayId,
unsigned int  logicalRunwayIndex 
) const
virtual

Get a copy of the logical runway data for the runway id and index specified. If not found, an empty copy is returned.

virtual void makVrv::DtAerodromeStatusManager::setAerodromeLightIntensity ( DtUniqueID  aerodromeId,
DtAerodromeLightsEnum  lightType,
float  intensity 
)
virtual

Set / get the intensity for an aerodrome's lights specified by the light type The range for intensity is 0.0 - 1.0. An intensity greater than 1.0 is supported and would result in an overly bright light.

virtual float makVrv::DtAerodromeStatusManager::aerodromeLightIntensity ( DtUniqueID  aerodromeId,
DtAerodromeLightsEnum  lightType 
) const
virtual

Set / get the intensity for an aerodrome's lights specified by the light type The range for intensity is 0.0 - 1.0. An intensity greater than 1.0 is supported and would result in an overly bright light.

static DtAerodromeStatusManager& makVrv::DtAerodromeStatusManager::instance ( DtBaseConnection conn)
static

Find an instance registered with a connection.

Member Data Documentation

DtBaseConnection& makVrv::DtAerodromeStatusManager::myConnection
protected
DtRunwayLightingUpdaterAgent* makVrv::DtAerodromeStatusManager::myRunwayLightingUpdaterAgent
protected
DtRunwayStatusUpdaterAgent* makVrv::DtAerodromeStatusManager::myRunwayStatusUpdaterAgent
protected
DtAerodromeLightingUpdaterAgent* makVrv::DtAerodromeStatusManager::myAerodromeLightingUpdaterAgent
protected
std::unordered_map<DtUniqueID, DtAerodromeStatusData> makVrv::DtAerodromeStatusManager::myAerodromeIdToDataMap
protected
std::unordered_map<std::string, DtUniqueID> makVrv::DtAerodromeStatusManager::myAerodromeNameToIdMap
protected
std::unordered_map<DtUniqueID, DtPhysicalRunwayStatusData> makVrv::DtAerodromeStatusManager::myRunwayIdToDataMap
protected

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

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