VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes
makVrv::DtOsgRunwayMarkingManager Class Reference
Inheritance diagram for makVrv::DtOsgRunwayMarkingManager:
Inheritance graph
[legend]

Public Types

typedef std::unordered_map
< std::string,
DtRunwayThresholdData
DtRunwayThresholdDataMap
 
typedef std::unordered_map
< DtUniqueID, std::vector
< DtSceneObject * > > 
DtSceneObjectsMap
 
typedef std::unordered_map
< DtUniqueID, std::vector
< DtOsgArticulatedModel * > > 
DtRunwayLightsMap
 

Public Member Functions

 DtOsgRunwayMarkingManager (DtDe &de)
 
virtual ~DtOsgRunwayMarkingManager ()
 
virtual void updateRunwayManager (const float budget) override
 
virtual void slot_AerodromeCreated (const std::string &icao)
 
virtual void slot_AerodromeStartInitializing (const std::string &icao)
 
virtual void slot_RunwayCreated (DtRunwayData &runwayData)
 
virtual void slot_RunwayDestroyed (DtRunwayData &runwayData)
 
virtual void slot_RunwayThresholdCreated (DtRunwayThresholdData &runwayThreshold)
 
virtual void slot_RunwayThresholdDestroyed (DtRunwayThresholdData &runwayThreshold)
 
virtual double runwayWidth (const std::vector< DtVector > &runwayPolygon) const
 
virtual DtVector forwardVector (const std::vector< DtVector > &runwayPolygon) const
 
virtual DtVector forwardVector (const DtVector &position, double heading) const
 
virtual DtVector rightVector (const DtVector &position, double heading) const
 
virtual std::string modelDefinitionFromLightName (const std::string &lightName, const std::string &defaultModelDefName="")
 
virtual DtRunwayData runwayData (const std::string &key) const override
 
- Public Member Functions inherited from makVrv::DtRunwayMarkingManager
 DtRunwayMarkingManager (DtDe &de)
 
 DtRunwayMarkingManager ()=delete
 
 DtRunwayMarkingManager (const DtRunwayMarkingManager &orig)=delete
 
DtRunwayMarkingManageroperator= (const DtRunwayMarkingManager &orig)=delete
 
virtual ~DtRunwayMarkingManager ()
 
virtual DtRunwaySelectorfindRunwaySelector (DtElementID id)
 
virtual std::string createLightGroupName (const std::string &airportName, const std::string &runwayName, DtRunwayLightsEnum lightType) const
 
virtual std::string createLightGroupName (const std::string &airportName, DtAerodromeLightsEnum lightType) const
 
virtual std::string createLightGroupName (const std::string &airportName, const std::string &runwayName, const std::string &lightName) const
 
virtual std::string createLightGroupName (const std::string &airportName, const std::string &runway1Name, const std::string &runway2Name, const std::string &lightName) const
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 
virtual ~DtVirtualBaseClass ()
 

Protected Types

typedef std::unordered_map
< std::string, std::string > 
ModelDefsByNameMap
 

Protected Member Functions

virtual void addLightPtr (DtUniqueID runwayID, DtOsgArticulatedModel *lightModel)
 
virtual void addSceneObjPtr (DtUniqueID runwayID, DtSceneObject *sceneObj)
 
virtual bool createAndPlaceCenterlineLighting (DtRunwayData &runwayData, const float budget)
 
virtual void createAndPlaceTouchdownZone (const DtRunwayData &runwayData)
 
virtual void createAndPlaceTouchdownZoneLightBar (const DtUniqueID runwayId, const std::string &airportName, const std::string &runwayName, const DtVector &position, double heading)
 
virtual bool createAndPlaceEdgeLighting (DtRunwayData &runwayData, const float budget)
 
virtual void createAndPlaceThresholdAndEndLighting (const DtRunwayData &runwayData)
 
virtual void createAndPlaceApproachLighting (const DtRunwayThresholdData &runwayData)
 
virtual void createAndPlaceREIL (const DtRunwayThresholdData &runwayData)
 
virtual void createAndPlaceGroundLight (const DtModelDefinition *modelDef, DtUniqueID runwayId, const std::string &groupName, const DtVector &pos, double zOffset=0.0, double heading=0.0)
 
virtual void createAndPlaceContinuousBarThreshold (const DtUniqueID runwayId, const std::string &threshGroupName, const DtModelDefinition *threshDefinition, const DtRunwayData &runwayData)
 
virtual bool readModelDefsByNameFile (const std::string &path, const std::string &modelDefsFilename)
 
virtual void slot_coordinateSystemChanged ()
 
virtual void slot_runwayLightsChanged (std::string airportName, std::string runwayName, DtRunwayLightsEnum lightType, float intensity)
 
virtual void slot_aerodromeLightsChanged (std::string aerodromeName, DtAerodromeLightsEnum lightType, float intensity)
 
virtual void slot_deQuit ()
 
virtual void cleanup () override
 
virtual void removeRunwayData (const DtRunwayData &runwayData)
 
virtual void removeRunwayThreshold (const DtRunwayThresholdData &runwayData)
 
DtVector geodeticToGeocentric (double lat, double lon, double alt) const
 
DtVector geodeticToCig (const DtVector &geodPos) const
 
DtTaitBryan geodeticToCig (const DtVector &geodPos, double geodeticHeading) const
 
- Protected Member Functions inherited from makVrv::DtRunwayMarkingManager
virtual std::string runwayKey (const std::string &apt_icao, const std::string &runwayNum) const
 
virtual std::size_t hashRunwayData (const DtRunwayData &runwayData) const
 
virtual void createAndPlaceRunwaySelector (const DtRunwayData &runwayData)
 
virtual void slot_runwayConditionChanged (DtUniqueID runwayId, const std::string &airportCode, const std::string &runwayName, DtRunwayCondition condition)
 
virtual void slot_runwayDamageStateChanged (DtUniqueID runwayId, const std::string &airportCode, const std::string &runwayName, bool damaged)
 
virtual void slot_runwayArrestorStateChanged (DtUniqueID runwayId, unsigned int runwayIndex, const std::string &airportCode, const std::string &runwayName, bool arrestorsUp)
 
virtual void slot_runwayActiveStateChanged (DtUniqueID runwayId, unsigned int runwayIndex, const std::string &airportCode, const std::string &runwayName, bool isActive)
 

Protected Attributes

DtSignalConnectionManager myConnections
 
DtTextureAtlasIndexParsermyTextureAtlasIndexParser
 
DtLockedBufferedQueue
< DtRunwayData
myRunwayDataLockedQueue
 
DtLockedBufferedQueue
< DtRunwayThresholdData
myRunwayThresholdLockedQueue
 
DtLockedBufferedQueue
< DtRunwayThresholdData
myRunwayDisplacedThresholdLockedQueue
 
DtLockedBufferedQueue
< DtRunwayData
myRunwayDataToDeleteLockedQueue
 
DtLockedBufferedQueue
< DtRunwayThresholdData
myRunwayThresholdToDeleteLockedQueue
 
std::unordered_map< DtUniqueID,
DtSceneObject * > 
myRunwayMarkers
 
DtRunwayThresholdDataMap myRunwayThresholdData
 
DtRunwayLightsMap myRunwayLights
 
DtSceneObjectsMap mySceneObjs
 
ModelDefsByNameMap myModelDefsByNameMap
 
bool myAerodromeCreated
 
std::vector< std::string > myNewRunways
 
std::vector< std::string > myNewRunwayPolygons
 
osg::Timer myCurrentFrameBudgetTimer
 
DtCoordinateSystemmyCoordinateSystem = nullptr
 
- Protected Attributes inherited from makVrv::DtRunwayMarkingManager
DtDemyDe
 
std::unordered_map
< DtElementID,
DtRunwaySelector * > 
myRunwaySelectors
 
std::unordered_map
< std::string, DtElementID
myLogicalKeyToSelectorIdMap
 
std::unordered_map
< std::string, DtUniqueID
myLogicalPhysicalRunwayMap
 
std::unordered_map< DtUniqueID,
DtRunwayStatus
myRunwayStatusMap
 
std::unordered_map
< std::size_t,
DtRunwaySelector * > 
myRunwaySelectorsCreated
 
DtSignalConnectionManager myConnections
 

Static Protected Attributes

static const charRunwayLightMapFilename
 

Additional Inherited Members

- Static Public Member Functions inherited from makVrv::DtRunwayMarkingManager
static DtRunwayMarkingManagerinstance (DtDe &de)
 
static void registerInstance (DtDe &de, DtRunwayMarkingManager *anInstance)
 
static std::string generateLightGroupName (const std::string &airportName, const std::string &runwayName, const std::string &lightSubGroup)
 

Member Typedef Documentation

typedef std::unordered_map<std::string, std::string> makVrv::DtOsgRunwayMarkingManager::ModelDefsByNameMap
protected

Constructor & Destructor Documentation

makVrv::DtOsgRunwayMarkingManager::DtOsgRunwayMarkingManager ( DtDe de)
virtual makVrv::DtOsgRunwayMarkingManager::~DtOsgRunwayMarkingManager ( )
virtual

DTOR.

Member Function Documentation

virtual void makVrv::DtOsgRunwayMarkingManager::updateRunwayManager ( const float  budget)
overridevirtual

Called by DtOsgRenderer::updateAerodrome so creation can be done via the main thread.

Implements makVrv::DtRunwayMarkingManager.

virtual void makVrv::DtOsgRunwayMarkingManager::slot_AerodromeCreated ( const std::string &  icao)
virtual
virtual void makVrv::DtOsgRunwayMarkingManager::slot_AerodromeStartInitializing ( const std::string &  icao)
virtual
virtual void makVrv::DtOsgRunwayMarkingManager::slot_RunwayCreated ( DtRunwayData runwayData)
virtual
virtual void makVrv::DtOsgRunwayMarkingManager::slot_RunwayDestroyed ( DtRunwayData runwayData)
virtual
virtual void makVrv::DtOsgRunwayMarkingManager::slot_RunwayThresholdCreated ( DtRunwayThresholdData runwayThreshold)
virtual
virtual void makVrv::DtOsgRunwayMarkingManager::slot_RunwayThresholdDestroyed ( DtRunwayThresholdData runwayThreshold)
virtual
virtual double makVrv::DtOsgRunwayMarkingManager::runwayWidth ( const std::vector< DtVector > &  runwayPolygon) const
virtual
virtual DtVector makVrv::DtOsgRunwayMarkingManager::forwardVector ( const std::vector< DtVector > &  runwayPolygon) const
virtual
virtual DtVector makVrv::DtOsgRunwayMarkingManager::forwardVector ( const DtVector position,
double  heading 
) const
virtual
virtual DtVector makVrv::DtOsgRunwayMarkingManager::rightVector ( const DtVector position,
double  heading 
) const
virtual
virtual std::string makVrv::DtOsgRunwayMarkingManager::modelDefinitionFromLightName ( const std::string &  lightName,
const std::string &  defaultModelDefName = "" 
)
virtual

Look up and return a model definition from myModelDefsByNameMap keyed by the light type name found in the shape file.

virtual DtRunwayData makVrv::DtOsgRunwayMarkingManager::runwayData ( const std::string &  key) const
overridevirtual

Look up the runway data for a specific logical runway using its key. Currently the key is the airport code plus "+" plus runway number. Runway keys can be retrieved from a DtRunwaySelector object when a runway is selected. If runway data is not found an 'empty' runway data structure is returned.

Implements makVrv::DtRunwayMarkingManager.

virtual void makVrv::DtOsgRunwayMarkingManager::addLightPtr ( DtUniqueID  runwayID,
DtOsgArticulatedModel lightModel 
)
protectedvirtual
virtual void makVrv::DtOsgRunwayMarkingManager::addSceneObjPtr ( DtUniqueID  runwayID,
DtSceneObject sceneObj 
)
protectedvirtual
virtual bool makVrv::DtOsgRunwayMarkingManager::createAndPlaceCenterlineLighting ( DtRunwayData runwayData,
const float  budget 
)
protectedvirtual
virtual void makVrv::DtOsgRunwayMarkingManager::createAndPlaceTouchdownZone ( const DtRunwayData runwayData)
protectedvirtual
virtual void makVrv::DtOsgRunwayMarkingManager::createAndPlaceTouchdownZoneLightBar ( const DtUniqueID  runwayId,
const std::string &  airportName,
const std::string &  runwayName,
const DtVector position,
double  heading 
)
protectedvirtual
virtual bool makVrv::DtOsgRunwayMarkingManager::createAndPlaceEdgeLighting ( DtRunwayData runwayData,
const float  budget 
)
protectedvirtual
virtual void makVrv::DtOsgRunwayMarkingManager::createAndPlaceThresholdAndEndLighting ( const DtRunwayData runwayData)
protectedvirtual
virtual void makVrv::DtOsgRunwayMarkingManager::createAndPlaceApproachLighting ( const DtRunwayThresholdData runwayData)
protectedvirtual
virtual void makVrv::DtOsgRunwayMarkingManager::createAndPlaceREIL ( const DtRunwayThresholdData runwayData)
protectedvirtual
virtual void makVrv::DtOsgRunwayMarkingManager::createAndPlaceGroundLight ( const DtModelDefinition modelDef,
DtUniqueID  runwayId,
const std::string &  groupName,
const DtVector pos,
double  zOffset = 0.0,
double  heading = 0.0 
)
protectedvirtual
virtual void makVrv::DtOsgRunwayMarkingManager::createAndPlaceContinuousBarThreshold ( const DtUniqueID  runwayId,
const std::string &  threshGroupName,
const DtModelDefinition threshDefinition,
const DtRunwayData runwayData 
)
protectedvirtual
virtual bool makVrv::DtOsgRunwayMarkingManager::readModelDefsByNameFile ( const std::string &  path,
const std::string &  modelDefsFilename 
)
protectedvirtual
virtual void makVrv::DtOsgRunwayMarkingManager::slot_coordinateSystemChanged ( )
protectedvirtual

slot for when the coordinate system changes

virtual void makVrv::DtOsgRunwayMarkingManager::slot_runwayLightsChanged ( std::string  airportName,
std::string  runwayName,
DtRunwayLightsEnum  lightType,
float  intensity 
)
protectedvirtual

Slot connected to the DtRunwayLightSignaler when the intensity of a light group should change. It uses createLightGroupName to get the light group name to use based on the signal parameters.

virtual void makVrv::DtOsgRunwayMarkingManager::slot_aerodromeLightsChanged ( std::string  aerodromeName,
DtAerodromeLightsEnum  lightType,
float  intensity 
)
protectedvirtual

Slot connected to the DtAerodromeLightSignaler when the intensity of a light group should change. It uses createLightGroupName to get the light group name to use based on the signal parameters.

virtual void makVrv::DtOsgRunwayMarkingManager::slot_deQuit ( )
protectedvirtual
virtual void makVrv::DtOsgRunwayMarkingManager::cleanup ( )
overrideprotectedvirtual

Delete objects created by instances of this class.

Reimplemented from makVrv::DtRunwayMarkingManager.

virtual void makVrv::DtOsgRunwayMarkingManager::removeRunwayData ( const DtRunwayData runwayData)
protectedvirtual
virtual void makVrv::DtOsgRunwayMarkingManager::removeRunwayThreshold ( const DtRunwayThresholdData runwayData)
protectedvirtual
DtVector makVrv::DtOsgRunwayMarkingManager::geodeticToGeocentric ( double  lat,
double  lon,
double  alt 
) const
protected
DtVector makVrv::DtOsgRunwayMarkingManager::geodeticToCig ( const DtVector geodPos) const
protected
DtTaitBryan makVrv::DtOsgRunwayMarkingManager::geodeticToCig ( const DtVector geodPos,
double  geodeticHeading 
) const
protected

Member Data Documentation

const char* makVrv::DtOsgRunwayMarkingManager::RunwayLightMapFilename
staticprotected
DtSignalConnectionManager makVrv::DtOsgRunwayMarkingManager::myConnections
protected
DtTextureAtlasIndexParser* makVrv::DtOsgRunwayMarkingManager::myTextureAtlasIndexParser
protected
DtLockedBufferedQueue<DtRunwayData> makVrv::DtOsgRunwayMarkingManager::myRunwayDataLockedQueue
protected
DtLockedBufferedQueue<DtRunwayThresholdData> makVrv::DtOsgRunwayMarkingManager::myRunwayThresholdLockedQueue
protected
DtLockedBufferedQueue<DtRunwayThresholdData> makVrv::DtOsgRunwayMarkingManager::myRunwayDisplacedThresholdLockedQueue
protected
DtLockedBufferedQueue<DtRunwayData> makVrv::DtOsgRunwayMarkingManager::myRunwayDataToDeleteLockedQueue
protected
DtLockedBufferedQueue<DtRunwayThresholdData> makVrv::DtOsgRunwayMarkingManager::myRunwayThresholdToDeleteLockedQueue
protected
std::unordered_map<DtUniqueID, DtSceneObject*> makVrv::DtOsgRunwayMarkingManager::myRunwayMarkers
protected
DtRunwayThresholdDataMap makVrv::DtOsgRunwayMarkingManager::myRunwayThresholdData
protected
DtRunwayLightsMap makVrv::DtOsgRunwayMarkingManager::myRunwayLights
protected
DtSceneObjectsMap makVrv::DtOsgRunwayMarkingManager::mySceneObjs
protected
ModelDefsByNameMap makVrv::DtOsgRunwayMarkingManager::myModelDefsByNameMap
protected
bool makVrv::DtOsgRunwayMarkingManager::myAerodromeCreated
protected
std::vector<std::string> makVrv::DtOsgRunwayMarkingManager::myNewRunways
protected
std::vector<std::string> makVrv::DtOsgRunwayMarkingManager::myNewRunwayPolygons
protected
osg::Timer makVrv::DtOsgRunwayMarkingManager::myCurrentFrameBudgetTimer
protected
DtCoordinateSystem* makVrv::DtOsgRunwayMarkingManager::myCoordinateSystem = nullptr
protected

local clone of the system wide coordinate system. for thread safety.


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

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)