21 #include <tbb/spin_mutex.h>
28 class DtSimulationAddress;
31 class DtIfOsgEarthCacheInformationRequest;
71 return !(*
this == rhs);
102 const std::list<RunwayInformation*>*
runwaysInformation(
const std::string& ICAO)
const;
115 std::map<std::string, std::list<RunwayInformation*>*>
myRunways;
136 class PendingDynamicTerrainInformation;
149 virtual void process(
const DtIfComputeRoute& msg,
const DtSimulationAddress& from);
154 virtual void setIntersectionRecheckPeriod(
double);
157 return myIntersectionRecheckPeriod;
161 virtual void setVectorFeatureLookup(
const DtString&);
164 return myVectorFeatureLookup;
168 virtual void terrainClosed();
171 static void intersectionRequestCallback(
DtSimMessage*,
void* usr);
175 virtual bool processPendingIntersection(PendingIntersection&);
178 static void osgEarthCacheRequestCallback(
DtSimMessage*,
void* usr);
182 static void osgEarthCacheCancelRequestCallback(
DtSimMessage*,
void* usr);
186 static void cacheProgressCallback(
int reqeustId,
int current,
bool completed,
double elapsedTime,
void*);
187 virtual void processCacheProgress(
int reqeustId,
int current,
bool completed,
double elapsedTime);
192 typedef boost::shared_ptr<DtAsyncJobMapEntry>
EntryPtr;
197 : entry(entry), address(addr), message(msg) { }
204 bool processRecord(
const Record&);
212 : entry(entry), address(addr), message(msg) { }
225 ,
double& bestDotProduct
226 ,
double& longestDistance
232 ,
double bestDotProduct
233 ,
double longestDistance
234 ,
const std::list<AerodromeResult::RunwayInformation*>* runwaysInfo
DtSimulationAddress address
Definition: simTerrainRequestManager.h:215
std::map< std::string, AerodromeInformation * > & aerodromes()
Definition: simTerrainRequestManager.h:100
Definition: simTerrainRequestManager.h:132
Definition: simTerrainRequestManager.h:194
void setComputeFailureInformation(DtIfComputeAerodromeResponse::ComputeFailureInformation i)
Definition: simTerrainRequestManager.h:106
void visitBoundaryFeature(const MAKVRinTerra::DtFeature &feature)
visit function for each boundary feature filtered.
EntryPtr entry
Definition: simTerrainRequestManager.h:199
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:68
const DtString & vectorFeatureLookup() const
Definition: simTerrainRequestManager.h:162
std::vector< bool > awaiting
Definition: simTerrainRequestManager.h:246
Definition: aerodromeLoader.h:64
Definition: ifComputeAerodrome.h:19
void findPreferredRunways(AerodromeResult::RunwayInformation &preferred, AerodromeResult::RunwayInformation &longest, const AerodromeResult::RunwayInformation &candidate, double &bestDotProduct, double &longestDistance)
DtIfComputeAerodrome message
Definition: simTerrainRequestManager.h:216
PendingIntersectionRequest myPendingIntersectionRequests
Definition: simTerrainRequestManager.h:254
OsgEarthProgressReports myOsgEarthProgressReports
Definition: simTerrainRequestManager.h:261
void visitAirportFeature(const MAKVRinTerra::DtFeature &feature)
visit function for each airport feature filtered.
DtIfComputeAerodromeResponse::ComputeFailureInformation failureInformation() const
Definition: simTerrainRequestManager.h:107
std::map< int, DtIfOsgEarthCacheProgress > OsgEarthProgressReports
Definition: simTerrainRequestManager.h:260
void visitRunwayFeature(const MAKVRinTerra::DtFeature &feature)
visit function for each runway feature filtered.
boost::shared_ptr< DtAsyncJobMapEntry > EntryPtr
Definition: simTerrainRequestManager.h:192
std::map< std::string, std::list< RunwayInformation * > * > myRunways
Hash list of RunwayInformation by ICAO code.
Definition: simTerrainRequestManager.h:115
std::vector< PendingIntersection > PendingIntersectionRequest
Definition: simTerrainRequestManager.h:252
double intersectionRecheckPeriod() const
Definition: simTerrainRequestManager.h:155
If there are intersections pending this is the intersection that is pending, including the original r...
Definition: simTerrainRequestManager.h:244
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.
DtString findBestRunway(AerodromeResult::RunwayInformation &best, const AerodromeResult::RunwayInformation &longest, double bestDotProduct, double longestDistance, const std::list< AerodromeResult::RunwayInformation * > *runwaysInfo)
double myLastElevationRead
to keep track of latest elevation read to apply to feature point location.
Definition: simTerrainRequestManager.h:121
DtString myVectorFeatureLookup
Definition: simTerrainRequestManager.h:257
DtSimulationAddress address
Definition: simTerrainRequestManager.h:200
std::map< std::string, AerodromeInformation * > myAerodromes
Hash list of AerodromeInformation.
Definition: simTerrainRequestManager.h:112
ComputeFailureInformation
Definition: ifComputeAerodrome.h:98
class DtIfOsgEarthCacheCancelRequest:
Definition: ifOsgEarthCacheCancelRequest.h:18
double nextCheckTime
Definition: simTerrainRequestManager.h:249
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
Records myComputeRouteJobs
Definition: simTerrainRequestManager.h:207
DtIfIntersectionInformationResponse response
Definition: simTerrainRequestManager.h:248
Definition: simTerrainRequestManager.h:209
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:240
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:37
const std::map< std::string, AerodromeInformation * > & aerodromes() const
Definition: simTerrainRequestManager.h:99
std::list< Record > Records
Definition: simTerrainRequestManager.h:206
DtSimulationAddress myFromAddress
Remember simulation address who requested the compute aerodrome.
Definition: simTerrainRequestManager.h:118
AerodromeInformation * myAerodromeInformation
to keep track attribute value read on the current aerodrome feature visited.
Definition: simTerrainRequestManager.h:124
std::list< AerodromeRecord > AerodromeRecords
Definition: simTerrainRequestManager.h:239
Definition: ifComputeRoute.h:19
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:95
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtIfRequestIntersectionInformation request
Definition: simTerrainRequestManager.h:247
EntryPtr entry
Definition: simTerrainRequestManager.h:214
RunwayInformation * myRunwayInformation
to keep track attribute value read on the current runway feature visited.
Definition: simTerrainRequestManager.h:127
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:37
DtSimulationServices * mySimulationServices
Definition: simTerrainRequestManager.h:190
tbb::spin_mutex myOsgEarthCacheInfoProgress
Definition: simTerrainRequestManager.h:259
DtIfComputeRoute message
Definition: simTerrainRequestManager.h:201
double myIntersectionRecheckPeriod
Definition: simTerrainRequestManager.h:256
AerodromeRecord(const EntryPtr &entry, const DtSimulationAddress &addr, const DtIfComputeAerodrome &msg)
Definition: simTerrainRequestManager.h:211
boost::variant< std::string, long long, bool, double > Attribute
boost::variant type for accessing attributes.
Definition: feature.h:48
Record(const EntryPtr &entry, const DtSimulationAddress &addr, const DtIfComputeRoute &msg)
Definition: simTerrainRequestManager.h:196
DtIfComputeAerodromeResponse::ComputeFailureInformation myFailureInformation
Definition: simTerrainRequestManager.h:129