25 #include <tbb/spin_mutex.h>
33 class DtSimulationAddress;
36 class DtIfOsgEarthCacheInformationRequest;
76 return !(*
this == rhs);
107 const std::list<RunwayInformation*>*
runwaysInformation(
const std::string& ICAO)
const;
120 std::map<std::string, std::list<RunwayInformation*>*>
myRunways;
141 class PendingDynamicTerrainInformation;
154 virtual void process(
const DtIfComputeRoute& msg,
const DtSimulationAddress& from);
159 virtual void setIntersectionRecheckPeriod(
double);
162 return myIntersectionRecheckPeriod;
166 virtual void setVectorFeatureLookup(
const DtString&);
169 return myVectorFeatureLookup;
173 virtual void terrainClosed();
176 static void intersectionRequestCallback(
DtSimMessage*,
void* usr);
180 virtual bool processPendingIntersection(PendingIntersection&);
183 static void osgEarthCacheRequestCallback(
DtSimMessage*,
void* usr);
187 static void osgEarthCacheCancelRequestCallback(
DtSimMessage*,
void* usr);
191 static void cacheProgressCallback(
int reqeustId,
int current,
bool completed,
double elapsedTime,
void*);
192 virtual void processCacheProgress(
int reqeustId,
int current,
bool completed,
double elapsedTime);
197 typedef std::shared_ptr<DtAsyncJobMapEntry>
EntryPtr;
202 : entry(entry), address(addr), message(msg) { }
209 bool processRecord(
const Record&);
217 : entry(entry), address(addr), message(msg) { }
226 void findPreferredRunways(
230 ,
double& bestDotProduct
231 ,
double& longestDistance
237 ,
double bestDotProduct
238 ,
double longestDistance
239 ,
const std::list<AerodromeResult::RunwayInformation*>* runwaysInfo
DtSimulationAddress address
Definition: simTerrainRequestManager.h:220
std::map< std::string, AerodromeInformation * > & aerodromes()
Definition: simTerrainRequestManager.h:105
Definition: simTerrainRequestManager.h:137
Definition: simTerrainRequestManager.h:199
void setComputeFailureInformation(DtIfComputeAerodromeResponse::ComputeFailureInformation i)
Definition: simTerrainRequestManager.h:111
void visitBoundaryFeature(const MAKVRinTerra::DtFeature &feature)
visit function for each boundary feature filtered.
EntryPtr entry
Definition: simTerrainRequestManager.h:204
class DtIfOsgEarthCacheRequest:
Definition: ifOsgEarthCacheRequest.h:18
Key used to lookup attributes. The DtFeature interface is a dictionary that maps Key objects to attri...
Definition: feature.h:67
const DtString & vectorFeatureLookup() const
Definition: simTerrainRequestManager.h:167
std::vector< bool > awaiting
Definition: simTerrainRequestManager.h:251
Definition: aerodromeLoader.h:63
Definition: ifComputeAerodrome.h:19
DtIfComputeAerodrome message
Definition: simTerrainRequestManager.h:221
PendingIntersectionRequest myPendingIntersectionRequests
Definition: simTerrainRequestManager.h:259
OsgEarthProgressReports myOsgEarthProgressReports
Definition: simTerrainRequestManager.h:266
void visitAirportFeature(const MAKVRinTerra::DtFeature &feature)
visit function for each airport feature filtered.
DtIfComputeAerodromeResponse::ComputeFailureInformation failureInformation() const
Definition: simTerrainRequestManager.h:112
std::map< int, DtIfOsgEarthCacheProgress > OsgEarthProgressReports
Definition: simTerrainRequestManager.h:265
void visitRunwayFeature(const MAKVRinTerra::DtFeature &feature)
visit function for each runway feature filtered.
std::map< std::string, std::list< RunwayInformation * > * > myRunways
Hash list of RunwayInformation by ICAO code.
Definition: simTerrainRequestManager.h:120
std::vector< PendingIntersection > PendingIntersectionRequest
Definition: simTerrainRequestManager.h:257
double intersectionRecheckPeriod() const
Definition: simTerrainRequestManager.h:160
If there are intersections pending this is the intersection that is pending, including the original r...
Definition: simTerrainRequestManager.h:249
void setupFrom(const MAKVRinTerra::DtAerodromeLoader::AerodromeData &aerodromeData)
void getRunwayAttributes(const MAKVRinTerra::DtFeature::Key &key, const MAKVRinTerra::DtFeature::Attribute &attr)
Look at runway area feature attribute to extract runway names.
double myLastElevationRead
to keep track of latest elevation read to apply to feature point location.
Definition: simTerrainRequestManager.h:126
DtString myVectorFeatureLookup
Definition: simTerrainRequestManager.h:262
DtSimulationAddress address
Definition: simTerrainRequestManager.h:205
std::map< std::string, AerodromeInformation * > myAerodromes
Hash list of AerodromeInformation.
Definition: simTerrainRequestManager.h:117
ComputeFailureInformation
Definition: ifComputeAerodrome.h:98
class DtIfOsgEarthCacheCancelRequest:
Definition: ifOsgEarthCacheCancelRequest.h:18
double nextCheckTime
Definition: simTerrainRequestManager.h:254
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
Records myComputeRouteJobs
Definition: simTerrainRequestManager.h:212
DtIfIntersectionInformationResponse response
Definition: simTerrainRequestManager.h:253
Definition: simTerrainRequestManager.h:214
const std::list< RunwayInformation * > * runwaysInformation(const std::string &ICAO) const
File: simMsg.h.
Definition: simMessage.h:35
void getBoundaryAttributes(const MAKVRinTerra::DtFeature::Key &key, const MAKVRinTerra::DtFeature::Attribute &attr)
Look at boundary areal feature attribute to extract elevation and ICAO code.
AerodromeRecords myComputeAerodromeJobs
Definition: simTerrainRequestManager.h:245
Base class for result of job.
Definition: asyncJobServer.h:43
This structure is used by the aynchronous job which query airport features to provide DtSimTerrainReq...
Definition: simTerrainRequestManager.h:42
const std::map< std::string, AerodromeInformation * > & aerodromes() const
Definition: simTerrainRequestManager.h:104
std::list< Record > Records
Definition: simTerrainRequestManager.h:211
DtSimulationAddress myFromAddress
Remember simulation address who requested the compute aerodrome.
Definition: simTerrainRequestManager.h:123
AerodromeInformation * myAerodromeInformation
to keep track attribute value read on the current aerodrome feature visited.
Definition: simTerrainRequestManager.h:129
std::list< AerodromeRecord > AerodromeRecords
Definition: simTerrainRequestManager.h:244
Definition: ifComputeRoute.h:19
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:96
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtIfRequestIntersectionInformation request
Definition: simTerrainRequestManager.h:252
EntryPtr entry
Definition: simTerrainRequestManager.h:219
RunwayInformation * myRunwayInformation
to keep track attribute value read on the current runway feature visited.
Definition: simTerrainRequestManager.h:132
void getAirportFeatureAttributeNames(const MAKVRinTerra::DtFeature::Key &key, const MAKVRinTerra::DtFeature::Attribute &attr)
Look at airport point feature attribute to extract ICAO code.
Represents a GIS feature. Features consist of a DtFeatureGeometry (2.5D geometric vector data) and a ...
Definition: feature.h:36
DtSimulationServices * mySimulationServices
Definition: simTerrainRequestManager.h:195
tbb::spin_mutex myOsgEarthCacheInfoProgress
Definition: simTerrainRequestManager.h:264
DtIfComputeRoute message
Definition: simTerrainRequestManager.h:206
virtual ~AerodromeResult() override
double myIntersectionRecheckPeriod
Definition: simTerrainRequestManager.h:261
AerodromeRecord(const EntryPtr &entry, const DtSimulationAddress &addr, const DtIfComputeAerodrome &msg)
Definition: simTerrainRequestManager.h:216
std::shared_ptr< DtAsyncJobMapEntry > EntryPtr
Definition: simTerrainRequestManager.h:197
boost::variant< std::string, long long, bool, double > Attribute
boost::variant type for accessing attributes.
Definition: feature.h:47
Record(const EntryPtr &entry, const DtSimulationAddress &addr, const DtIfComputeRoute &msg)
Definition: simTerrainRequestManager.h:201
DtIfComputeAerodromeResponse::ComputeFailureInformation myFailureInformation
Definition: simTerrainRequestManager.h:134