15 #include <tbb/spin_rw_mutex.h>
23 namespace MAKVRinTerra
32 virtual unsigned numberOfAttributes(
const Key::String&)
const override;
34 virtual boost::optional<Attribute> attribute(
const Key& k)
const override;
55 typedef std::shared_ptr<DtOgrDataSource>
Ptr;
56 typedef std::shared_ptr<GDALDataset>
GDALPtr;
61 static DtFeatureSet* Make(std::string file, std::string layerName =
"");
66 virtual std::string label()
const override;
67 virtual bool isIndexed()
const override;
78 typedef std::shared_ptr<GDALDataset>
GDALPtr;
80 DtOgrLayer(
const std::string& path,
int layerNum,
bool indexed,
const std::string& srcPath,
81 const std::string& configLayerName =
"");
83 virtual std::string label()
const override;
84 virtual void forEachFeatureParallel(
const ForEachFunction&)
const override;
87 const DtQuery& query,
const boost::optional<DtFeatureGeometry>&,
DtLoadType)
const override;
89 virtual bool loaded(
double)
const override;
91 virtual bool elided()
const override;
92 virtual bool empty()
const override;
93 virtual bool isIndexed()
const override;
Represents a set of DtFeature objects or others which conform to the DtFeature concept.
Definition: featureSet.h:105
boost::function< void(const Feature &)> ForEachFunction
Callback type type for iterating through features.
Definition: featureSet.h:160
#define DT_DLL_features
stop complaining about multiple independent base classes for boost::noncopyable this should probably ...
Definition: featuresDefines.h:41
tbb::spin_rw_mutex myThreadedGDALDataSetsMutex
Definition: ogrFeatureSet.h:105
std::shared_ptr< GDALDataset > GDALPtr
Definition: ogrFeatureSet.h:78
DtProj::CPtr myGeometryProjection
Definition: ogrFeatureSet.h:119
boost::function< void()> DetachCallback
Callback type for disconnecting other callbacks. Functions which register callbacks return a DetachCa...
Definition: featureSet.h:132
Definition: ogrFeatureSet.h:52
std::string myDatasetFile
Definition: ogrFeatureSet.h:109
Key used to lookup attributes. The DtFeature interface is a dictionary that maps Key objects to attri...
Definition: feature.h:67
std::shared_ptr< const DtProj > CPtr
Definition: proj.h:56
std::vector< DtFeatureGeometry > GeometryVector
Definition: ogrFeatureSet.h:28
std::map< unsigned int, GDALPtr > ThreadedGDALDataSets
Definition: ogrFeatureSet.h:106
Definition: ogrFeatureSet.h:96
Definition: ogrFeatureSet.h:25
virtual DetachCallback addDeleteCallback(const DeleteCallback &) const override
Add a user supplied callback to the feature to be called when the feature is deleted. If the feature is already deleted the callback may or may not be called by the implementation of this function. The callback is guaranteed to only be called once.
Definition: ogrFeatureSet.h:40
boost::function< void()> DetachCallback
Callback used to detach the user from a feature so the users callback is not called anymore...
Definition: feature.h:179
Definition: ogrFeatureSet.h:74
boost::function< void(const Key &, const Attribute &)> ForEachFunction
Callback used to iterating through attributes with ForEachAttribute.
Definition: feature.h:150
Represents a set of characeters a DtFeature object can have. DtQuery objects are the way to communica...
Definition: query.h:37
boost::function< void()> DeleteCallback
User supplied callback called when feature is deleted.
Definition: feature.h:182
DtFeatureGeometry myGeometry
Definition: ogrFeatureSet.h:48
boost::optional< DtFeatureGeometry > myGeometryFilter
Definition: ogrFeatureSet.h:120
Create a new MAK exception type that inherits from boost::exception. Tag is what differentiates this ...
Definition: taggedException.h:15
std::set< DtFeature::Key > AttributeSet
Definition: ogrFeatureSet.h:116
std::shared_ptr< const DtFeature > CPtr
Definition: feature.h:45
std::shared_ptr< GDALDataSource > myGDALDataSource
Definition: ogrFeatureSet.h:129
std::string myLayerName
Definition: ogrFeatureSet.h:123
std::shared_ptr< OGRFeature > myFeature
Definition: ogrFeatureSet.h:47
std::string myConfigLayerName
Definition: ogrFeatureSet.h:124
DtLoadType
Used to indicate whether to load features. See DtFeatureSetTemplate::filter.
Definition: featureSet.h:33
DtFeature::CPtr myDefaults
Definition: ogrFeatureSet.h:49
std::shared_ptr< DtOgrDataSource > Ptr
Definition: ogrFeatureSet.h:55
std::string myFile
Definition: ogrFeatureSet.h:70
std::string myDatasetFile
Definition: ogrFeatureSet.h:118
DtFeature::CPtr myDefaults
Definition: ogrFeatureSet.h:125
DtFeatureSet used to combine multiple feature sets into one. This class allows all feature set algori...
Definition: featureSetList.h:26
Represents a GIS feature. Features consist of a DtFeatureGeometry (2.5D geometric vector data) and a ...
Definition: feature.h:36
ThreadedGDALDataSets myThreadedGDALDataSets
Definition: ogrFeatureSet.h:107
boost::function< void()> LoadedCallback
Callback type type for async notification of feature set loading.
Definition: featureSet.h:163
bool myIndexedFlag
Definition: ogrFeatureSet.h:126
std::string myLabel
Definition: ogrFeatureSet.h:127
virtual bool isDeleted() const override
Check to see if feature has been deleted. Note: this is not related to C++ delete or destructors...
Definition: ogrFeatureSet.h:42
std::shared_ptr< GDALDataset > GDALPtr
Definition: ogrFeatureSet.h:56
Represents a feature geometry.
Definition: featureGeometry.h:40
int myLayerNumber
Definition: ogrFeatureSet.h:122
DtTaggedException< DtOgrLayer > Exception
Definition: ogrFeatureSet.h:77
GDALPtr myDataSource
Definition: ogrFeatureSet.h:71
AttributeSet myAttributes
Definition: ogrFeatureSet.h:121