VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfAerodromeLoader.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
6 #pragma once
7 
12 #include <boost/signals2.hpp>
13 
14 namespace makVrv
15 {
16  class DtDe;
17  class DtTerrainPatchObject;
18 }
19 
20 namespace MAKVRinTerra
21 {
22  class DtFeatureDatabase;
23  class DtAerodromeLoader;
24 }
25 
26 namespace makVrf
27 {
28  class DtStateData;
29 
32  {
33  public:
35  virtual ~DtVrfAerodromeLoader() override;
36 
38  static DtVrfAerodromeLoader& instance(makVrv::DtDe& de);
39  static void registerInstance(makVrv::DtDe&, DtVrfAerodromeLoader*);
40 
41  virtual bool loadAerodromes(const std::string& earthFile, MAKVRinTerra::DtFeatureDatabase&);
42 
44  {
45  return myAerodromeLoader;
46  }
47 
48  virtual bool hasAerodromes() const;
49  virtual std::vector< MAKVRinTerra::DtAerodromeLoader::RunwayData> getRunwaysForAirport(const std::string& airportCode) const;
50  virtual const std::set<std::pair<std::string, std::string>>& getAirportandIcaoNames() const;
51  virtual DtGeodeticCoord aerodromeLocation(const std::string& icaoName) const;
52  virtual bool hasAerodrome(const std::string& icaoName) const;
53 
55  virtual std::vector<MAKVRinTerra::DtAerodromeLoader::AerodromeData> aerodromesInArea(const std::vector<DtVector>&) const;
56 
58  virtual std::set<std::pair<std::string, std::string> > aerodromesWithinRange(const DtVector& location, double range) const;
59 
61  virtual void setSelectedAerodrome(const std::string&);
62  const std::string& selectedAerodrome() const
63  {
64  return mySelectedAerodrome;
65  }
66 
67  boost::signals2::signal<void()> signal_aerodromesCached;
68 
69  typedef std::map<DtUUID, DtSimObjectReference> SharedAerodromeObjects;
71  {
72  return myAerodromeObjects;
73  }
74 
75  virtual DtSimObjectReference lookup(const DtUUID&) const;
76 
77  protected:
78  virtual void checkForMapNode(makVrv::DtTerrainPatchObject&, MAKVRinTerra::DtFeatureDatabase* database, std::string filename);
79  virtual void createAerodromeObjects();
80 
81  protected:
84  boost::signals2::scoped_connection myTerrainPatchSignalConnection;
85  std::string mySelectedAerodrome;
86 
88 
89  std::vector<std::unique_ptr<DtStateData>> myAerodromeStateDataObjects;
90  };
91 }
makVrv::DtDe & myDe
Definition: vrfAerodromeLoader.h:83
UUID is a unique ID wrapper class.
Definition: uuid.h:59
const std::string & selectedAerodrome() const
Definition: vrfAerodromeLoader.h:62
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
std::map< DtUUID, DtSimObjectReference > SharedAerodromeObjects
Definition: vrfAerodromeLoader.h:69
MAKVRinTerra::DtAerodromeLoader * myAerodromeLoader
Definition: vrfAerodromeLoader.h:82
std::string mySelectedAerodrome
Definition: vrfAerodromeLoader.h:85
boost::signals2::scoped_connection myTerrainPatchSignalConnection
Definition: vrfAerodromeLoader.h:84
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
A DtTerrainPatchObject contains the methods for loading a file as a terrain. When loading a file as a...
Definition: DtTerrainPatchObject.h:35
Definition: aerodromeLoader.h:28
Contains makVrv::DtVirtualBaseClass class.
This class will wrap the DtAerodromeLoader to be used for loading and querying aerodrome information...
Definition: vrfAerodromeLoader.h:31
MAKVRinTerra::DtAerodromeLoader * aerodromeLoader()
Definition: vrfAerodromeLoader.h:43
const SharedAerodromeObjects & sharedAerodromeObjects() const
Definition: vrfAerodromeLoader.h:70
Definition: featureContext.h:50
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
boost::signals2::signal< void()> signal_aerodromesCached
Definition: vrfAerodromeLoader.h:67
std::vector< std::unique_ptr< DtStateData > > myAerodromeStateDataObjects
Definition: vrfAerodromeLoader.h:89
SharedAerodromeObjects myAerodromeObjects
Definition: vrfAerodromeLoader.h:87

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)