24 #include <boost/ptr_container/ptr_map.hpp>
26 #include <tbb/mutex.h>
44 namespace MAKVRinTerra
46 class DtFeatureContext;
47 class DtFeaturesDebugger;
48 class DtUnusedFeatureTileTracker;
76 static DtFeatureSet* CreateFeatureSetFromFile(std::string file);
83 DtFeatureSet* set, std::string attribute, std::string value);
85 static std::unique_ptr<DtFeatureSet> ConfigureAttribute(
86 std::unique_ptr<DtFeatureSet> set, std::string attribute, std::string value);
97 virtual bool loadSrcSpecConfigFor(std::string sourceFile, std::string attribute);
106 virtual bool loadConfig(std::string configFile,
DtQuery schema);
112 virtual std::unique_ptr<DtFeatureSet> addFeatureSource(std::string file,
bool page=
true);
120 virtual std::unique_ptr<DtFeatureSet> addFeatureSource(
122 std::string earthfile=std::string(),
bool page=
true,
123 const std::vector<std::string>& loadIfNameBeginsWith = std::vector<std::string>());
129 virtual std::unique_ptr<DtFeatureSet> addFeatureSource(
DtFeatureSet* fs,
bool page=
true);
134 virtual void addFeatureSource(std::shared_ptr<DtFeatureSet> fs,
bool page=
true);
140 virtual std::unique_ptr<DtFeatureSet> addFeatureSource(
147 virtual void addFeatureSource(
148 std::shared_ptr<DtFeatureSet> fs,
155 virtual std::unique_ptr<DtFeatureSet> addVectorNetworkFeatureSource(
164 virtual std::unique_ptr<DtFeatureSet> addFeatureSource(
175 std::shared_ptr<DtAttributeConfigParser> parser()
const;
178 std::shared_ptr<DtUnusedFeatureTileTracker> tracker()
const;
181 std::shared_ptr<DtFeaturesDebugger> debugger()
const;
184 std::shared_ptr<LoadingQueue> loadingQueue()
const;
192 virtual std::unique_ptr<DtFeatureSet> features(
const std::string& queryName)
const;
195 virtual std::unique_ptr<DtFeatureSet> allFeatures()
const;
197 virtual void setBlockOnAsynchronousOperations(
bool blockIn);
205 typedef std::shared_ptr<Record>
Ptr;
242 void shutdown(
bool block =
true);
246 std::unique_ptr<DtFeatureSet> features(
const std::string& queryName)
const;
249 std::unique_ptr<DtFeatureSet> allFeatures()
const;
253 std::unique_ptr<DtAreaFeatureSet> areas(
254 const std::string& type,
255 const std::shared_ptr<DtVrfCallbackQueue>& = std::shared_ptr<DtVrfCallbackQueue>());
262 std::unique_ptr<DtAreaFeatureSet> areas(
264 const std::shared_ptr<DtVrfCallbackQueue>& = std::shared_ptr<DtVrfCallbackQueue>());
267 std::unique_ptr<DtPathFeatureSet> paths(std::string type);
278 void cleanUpPathFinders();
280 virtual void setBlockOnAsynchronousOperations(
bool blockIn);
Represents a set of DtFeature objects or others which conform to the DtFeature concept.
Definition: featureSet.h:105
#define DT_DLL_features
stop complaining about multiple independent base classes for boost::noncopyable this should probably ...
Definition: featuresDefines.h:41
Class DtTerrainInterfaceConfig is a readable-writable class holding terrain interface configuration o...
Definition: terrainInterfaceConfig.h:33
std::vector< Ptr > Vector
Definition: featureContext.h:206
DtQueueLoadingFeatureSet< DtFeatureSet >::Queue LoadingQueue
Async queue for loading feature sets.
Definition: featureContext.h:57
std::shared_ptr< const DtProj > CPtr
Definition: proj.h:56
bool myBlockOnAsynchronousOperations
Flag to determine blocking.
Definition: featureContext.h:320
DtUnusedFeatureTileTracker::Ptr myUnusedTracker
Unused tile tracker.
Definition: featureContext.h:317
Each record represents one feature set and all the info needed to load it. We need to collect all the...
Definition: featureContext.h:203
Definition: featureContext.h:36
std::shared_ptr< DtUnusedFeatureTileTracker > Ptr
Definition: unusedFeatureTileTracker.h:49
DtFeatureSet::List myFeatures
Definition: featureContext.h:221
std::mutex myFeatureSetMutex
Definition: featureContext.h:295
std::shared_ptr< DtFeaturesDebugger > myDebugger
Top level feature debugger.
Definition: featureContext.h:311
boost::ptr_map< const AreaConfig, DtAreaFeatureSet > AreaFeatureSetMap
Area stuff.
Definition: featureContext.h:299
std::shared_ptr< Record > Ptr
Definition: featureContext.h:205
Simple asynchronous callback queue.
Definition: vrfCallbackQueue.h:29
boost::ptr_map< const std::string, DtFeatureSet > FeatureSetMap
Plain features.
Definition: featureContext.h:292
DtProj::CPtr myProjection
Local projection.
Definition: featureContext.h:283
DtTerrainInterfaceConfig config
Definition: featureContext.h:209
DtTerrainInterfaceConfig myTerrainInterfaceConfig
Terrain interface config object.
Definition: featureContext.h:286
DtQueueLoadingFeatureSet< DtFeatureSet >::Queue FeatureQueue
Definition: featureContext.h:293
Feature system config file.
FeatureSetMap myFeatureSets
Definition: featureContext.h:294
Represents some coordinate system. The terms "coordinate system", "projection", "spatial reference"...
Definition: proj.h:52
Represents a set of characeters a DtFeature object can have. DtQuery objects are the way to communica...
Definition: query.h:37
boost::ptr_map< const std::string, DtAStarGraph::Ptr > PathFinderMap
Path finder for path planning.
Definition: featureContext.h:306
std::unique_ptr< DtFeatureSet > featureSet
Definition: featureContext.h:208
std::shared_ptr< DtAStarGraph > Ptr
Definition: aStarGraph.h:96
std::shared_ptr< AreaQueue > myAreaLoadingQueue
Definition: featureContext.h:303
Definition: featureContext.h:50
const char * source
Definition: lz4.h:442
PathFinderMap myPathFinders
Definition: featureContext.h:307
std::shared_ptr< DtUnusedFeatureTileTracker > myUnusedTracker
Definition: featureContext.h:218
Parser for feature system configuration file. Constructs a set of DtQuery objects, each with a name from the configuration file. Also constructs a list of DtFeatureTransform objects, using DtQuery names as filters.
Definition: attributeConfigParser.h:78
DtTerrainInterfaceConfig myTerrainInterfaceConfig
Definition: featureContext.h:214
std::shared_ptr< FeatureQueue > myFeatureLoadingQueue
Definition: featureContext.h:296
AreaFeatureSetMap myAreaFeatureSets
Definition: featureContext.h:301
bool myBlockOnAsynchronousOperations
Definition: featureContext.h:225
std::unique_ptr< DtFeatureSet > mySourceFeatures
Reads from set of per-source page tables.
Definition: featureContext.h:289
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
boost::function< DtFeatureSet *(std::string)> FeatureSetCreatorFcn
Factory function for creating feature sets.
Definition: featureContext.h:54
Record::Vector myRecords
Definition: featureContext.h:220
std::mutex myAreasMutex
Definition: featureContext.h:302
std::shared_ptr< DtAttributeConfigParser > myAttributeParser
Feature config parser.
Definition: featureContext.h:314
DtQueueLoadingFeatureSet< DtAreaFeatureSet >::Queue AreaQueue
Definition: featureContext.h:300
DtAreaFeatureSetAdapter::Config AreaConfig
Configuration information for areas.
Definition: featureContext.h:258
DtFeatureSet used to combine multiple feature sets into one. This class allows all feature set algori...
Definition: featureSetList.h:26
Definition: featureContext.h:228
std::mutex myPathFindersMutex
Definition: featureContext.h:308
std::shared_ptr< DtAttributeConfigParser > myParser
Definition: featureContext.h:217
std::shared_ptr< DtFeaturesDebugger > myDebugger
Definition: featureContext.h:216
Configuration object for processing areas.
Definition: areaFeature.h:47
std::vector< DtFeatureTransform > TransformVector
Sequence of transforms.
Definition: attributeConfigParser.h:89
std::shared_ptr< LoadingQueue > myLoadingQueue
Definition: featureContext.h:223
Definition: vectorNetwork.h:37