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

Classes

struct  DtAerodromeData
 
struct  RunwayPolygonData
 

Public Types

typedef std::unordered_map
< std::string,
RunwayPolygonData
RunwayPolygonMap
 
typedef std::unordered_map
< std::string, DtAerodromeData
DtAerodromeDataMap
 

Public Member Functions

 DtAerodromeRenderer (DtDe &de)
 
virtual ~DtAerodromeRenderer ()
 
virtual void printFeatureAttributes (osgEarth::Aerodrome::AerodromeFeatureNode &node)
 
virtual void apply (osgEarth::Aerodrome::AerodromeNode &node)
 
virtual void apply (osgEarth::Aerodrome::RunwayNode &node)
 
virtual void apply (osgEarth::Aerodrome::RunwayThresholdNode &node)
 
virtual void apply (osgEarth::Aerodrome::TaxiwaySignNode &node)
 
virtual void apply (osgEarth::Aerodrome::LightIndicatorNode &node)
 
virtual void apply (osgEarth::Aerodrome::RunwayThresholdGroup &group)
 
virtual void parseTaxiwaySignNode (osgEarth::Aerodrome::TaxiwaySignNode &node)
 
virtual void parseRunwayNode (osgEarth::Aerodrome::AerodromeFeatureNode &node)
 
virtual void parseRunwayThresholdNode (osgEarth::Aerodrome::AerodromeFeatureNode &node)
 
virtual void parseLightIndicatorNode (osgEarth::Aerodrome::AerodromeFeatureNode &node)
 
virtual void addRunwayDesignator (const std::string &icao, const std::string &designator, const std::string &tag, const osg::Vec3 &threshold, float offset, float centerOffset=0.0f)
 
virtual void addRunwayMarking (const std::string &icao, const std::string &designator, const std::string &tag, const osg::Vec3 &threshold, float offset, float length, float width, float lateralSpacing)
 
virtual void addRunwayThresholdBar (const std::string &icao, const std::string &designator, const osg::Vec3 &threshold)
 
virtual void addRunwayEdgeMarking (const std::string &icao, const std::string &designator, const osg::Vec3 &threshold)
 
virtual void addCenterlineMarking (const std::string &icao, const std::string &designator1, const std::string &designator)
 
virtual void addDesignator (const std::string &icao, const osg::Vec3Array &verts, const osg::Vec2Array &texCoords)
 
virtual void addMarking (const std::string &icao, const osg::Vec3Array &verts, const osg::Vec2Array &texCoords)
 

Protected Member Functions

void initializeAerodromeData (const std::string &icao, makVrv::DtRunwayMarkingNode *markingNode)
 
DtAerodromeDatafindAerodromeData (const std::string &icao)
 
virtual void removeAerodromeFromMap (const std::string &icao)
 
virtual void addGeode (osgEarth::Aerodrome::AerodromeNode &node, osg::Geode *geode, const std::string &name)
 
RunwayPolygonDatagetRunwayPolygonData (const std::string &icao, const std::string &designator)
 

Protected Attributes

DtDemyDe
 
DtAerodromeDataMap myDtAerodromeData
 
OpenThreads::Mutex myAerodromeDataMapMutex
 
DtTextureAtlasIndexParsermyTextureAtlasIndexParser
 
DtTaxiwaySignSignalermyTaxiwaySignSignaler
 
DtSignalConnectionManager myConnections
 
DtRunwaySignalermyRunwaySignaler
 
DtLightIndicatorSignalermyLightIndicatorSignaler
 

Private Member Functions

DtAerodromeRendereroperator= (const DtAerodromeRenderer &rhs)=delete
 
 DtAerodromeRenderer (const DtAerodromeRenderer &rhs)=delete
 

Member Typedef Documentation

typedef std::unordered_map<std::string, RunwayPolygonData> makVrv::DtAerodromeRenderer::RunwayPolygonMap
typedef std::unordered_map<std::string, DtAerodromeData> makVrv::DtAerodromeRenderer::DtAerodromeDataMap

Constructor & Destructor Documentation

makVrv::DtAerodromeRenderer::DtAerodromeRenderer ( DtDe de)

constructor

virtual makVrv::DtAerodromeRenderer::~DtAerodromeRenderer ( )
virtual

destructor

makVrv::DtAerodromeRenderer::DtAerodromeRenderer ( const DtAerodromeRenderer rhs)
privatedelete

not allowed

Member Function Documentation

DtAerodromeRenderer& makVrv::DtAerodromeRenderer::operator= ( const DtAerodromeRenderer rhs)
privatedelete

not allowed

virtual void makVrv::DtAerodromeRenderer::apply ( osgEarth::Aerodrome::AerodromeNode &  node)
virtual

visit methods

virtual void makVrv::DtAerodromeRenderer::apply ( osgEarth::Aerodrome::RunwayNode &  node)
virtual

visit methods

virtual void makVrv::DtAerodromeRenderer::apply ( osgEarth::Aerodrome::RunwayThresholdNode &  node)
virtual

visit methods

virtual void makVrv::DtAerodromeRenderer::apply ( osgEarth::Aerodrome::TaxiwaySignNode &  node)
virtual

visit methods

virtual void makVrv::DtAerodromeRenderer::apply ( osgEarth::Aerodrome::LightIndicatorNode &  node)
virtual

visit methods

virtual void makVrv::DtAerodromeRenderer::apply ( osgEarth::Aerodrome::RunwayThresholdGroup &  group)
virtual

visit methods

virtual void makVrv::DtAerodromeRenderer::parseTaxiwaySignNode ( osgEarth::Aerodrome::TaxiwaySignNode &  node)
virtual

parse methods

virtual void makVrv::DtAerodromeRenderer::parseRunwayNode ( osgEarth::Aerodrome::AerodromeFeatureNode &  node)
virtual

parse methods

virtual void makVrv::DtAerodromeRenderer::parseRunwayThresholdNode ( osgEarth::Aerodrome::AerodromeFeatureNode &  node)
virtual

parse methods

virtual void makVrv::DtAerodromeRenderer::parseLightIndicatorNode ( osgEarth::Aerodrome::AerodromeFeatureNode &  node)
virtual

parse methods

virtual void makVrv::DtAerodromeRenderer::addRunwayDesignator ( const std::string &  icao,
const std::string &  designator,
const std::string &  tag,
const osg::Vec3 &  threshold,
float  offset,
float  centerOffset = 0.0f 
)
virtual

add a certain type of geometry

virtual void makVrv::DtAerodromeRenderer::addRunwayMarking ( const std::string &  icao,
const std::string &  designator,
const std::string &  tag,
const osg::Vec3 &  threshold,
float  offset,
float  length,
float  width,
float  lateralSpacing 
)
virtual

add a certain type of geometry

virtual void makVrv::DtAerodromeRenderer::addRunwayThresholdBar ( const std::string &  icao,
const std::string &  designator,
const osg::Vec3 &  threshold 
)
virtual

add a certain type of geometry

virtual void makVrv::DtAerodromeRenderer::addRunwayEdgeMarking ( const std::string &  icao,
const std::string &  designator,
const osg::Vec3 &  threshold 
)
virtual

add a certain type of geometry

virtual void makVrv::DtAerodromeRenderer::addCenterlineMarking ( const std::string &  icao,
const std::string &  designator1,
const std::string &  designator 
)
virtual

add a certain type of geometry

virtual void makVrv::DtAerodromeRenderer::addDesignator ( const std::string &  icao,
const osg::Vec3Array &  verts,
const osg::Vec2Array &  texCoords 
)
virtual

add a certain type of geometry

virtual void makVrv::DtAerodromeRenderer::addMarking ( const std::string &  icao,
const osg::Vec3Array &  verts,
const osg::Vec2Array &  texCoords 
)
virtual

add a certain type of geometry

virtual void makVrv::DtAerodromeRenderer::printFeatureAttributes ( osgEarth::Aerodrome::AerodromeFeatureNode &  node)
virtual

debugging

void makVrv::DtAerodromeRenderer::initializeAerodromeData ( const std::string &  icao,
makVrv::DtRunwayMarkingNode markingNode 
)
protected

These three functions should be the only way that myDtAerodromeData is accessed They protect any access with a mutex.

Don't call initializeAerodromeData anywhere else unless you really know what you are doing. The Aerodrome data map only contains data for aerodromes that are in the process of being built. add a new aerodrome data to the map of aerodrome data

DtAerodromeData* makVrv::DtAerodromeRenderer::findAerodromeData ( const std::string &  icao)
protected

find the aerodrome data associated with the icao

virtual void makVrv::DtAerodromeRenderer::removeAerodromeFromMap ( const std::string &  icao)
protectedvirtual

remove the aerodrome data from the map

virtual void makVrv::DtAerodromeRenderer::addGeode ( osgEarth::Aerodrome::AerodromeNode &  node,
osg::Geode *  geode,
const std::string &  name 
)
protectedvirtual

add a geode (marking, designator)

RunwayPolygonData* makVrv::DtAerodromeRenderer::getRunwayPolygonData ( const std::string &  icao,
const std::string &  designator 
)
protected

Member Data Documentation

DtDe& makVrv::DtAerodromeRenderer::myDe
protected
DtAerodromeDataMap makVrv::DtAerodromeRenderer::myDtAerodromeData
protected
OpenThreads::Mutex makVrv::DtAerodromeRenderer::myAerodromeDataMapMutex
protected
DtTextureAtlasIndexParser* makVrv::DtAerodromeRenderer::myTextureAtlasIndexParser
protected
DtTaxiwaySignSignaler& makVrv::DtAerodromeRenderer::myTaxiwaySignSignaler
protected
DtSignalConnectionManager makVrv::DtAerodromeRenderer::myConnections
protected
DtRunwaySignaler& makVrv::DtAerodromeRenderer::myRunwaySignaler
protected
DtLightIndicatorSignaler& makVrv::DtAerodromeRenderer::myLightIndicatorSignaler
protected

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

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)