21 namespace MAKVRinTerra
27 ,
public std::enable_shared_from_this<DtGdbVectorFeature>
31 typedef std::shared_ptr<DtGdbVectorFeature>
Ptr;
43 virtual void setAsPointGeometry(
const DtPoint&);
46 virtual void setAsLinearGeometry(
const std::vector<DtPoint>&);
49 virtual void setAsArealGeometry(
const std::vector<DtPoint>&);
69 static Ptr Make(std::istream&, std::shared_ptr<DtSpecificationManager> mgr,
DtProj::CPtr projection);
74 virtual boost::optional<Attribute> attribute(
const Key& k)
const override;
76 virtual void forEachAttribute(ForEachFunction f)
const override;
78 virtual unsigned numberOfAttributes(
const Key::String&)
const override;
87 virtual void print(std::ostream&);
115 virtual std::string label()
const override;
117 const DtQuery&,
const boost::optional<DtFeatureGeometry>&,
DtLoadType)
const override;
118 virtual void forEachFeatureParallel(
const ForEachFunction&)
const override;
121 virtual bool loaded(
double = 0.0)
const override;
123 virtual unsigned numberOfFeatures()
const override;
124 virtual bool elided()
const override;
125 virtual bool empty()
const override;
134 virtual void print(std::ostream&);
157 virtual std::string label()
const override;
197 virtual void print(
const std::string& file);
198 virtual void print(std::ostream&);
205 virtual bool saveAsShapeFiles(
const std::string& directory, std::string&
error);
217 std::set<DtSpecificationID>
ids;
231 virtual bool saveShapeFileForLayer(
int featureType,
const SpecificationLayer&,
const std::string& directory, std::string& error)
const;
234 virtual std::string fixupNameToLength(
const std::string& name,
int length)
const;
237 virtual bool addAttributesToLayer(
const AttributeMap&, OGRLayer*, std::string& error)
const;
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
std::set< DtSpecificationID > ids
Definition: gdbVectorNetworkFeatureSet.h:217
std::map< std::string, int > AttributeMap
Definition: gdbVectorNetworkFeatureSet.h:209
DtSpecificationID mySpecID
Definition: gdbVectorNetworkFeatureSet.h:99
boost::function< void()> DetachCallback
Callback type for disconnecting other callbacks. Functions which register callbacks return a DetachCa...
Definition: featureSet.h:132
unsigned int DtSpecificationID
Definition: specificationManager.h:22
std::shared_ptr< const DtProj > CPtr
Definition: proj.h:56
Represents a set of feature sets that represent a gdb vector network. This feature set will contain s...
Definition: gdbVectorNetworkFeatureSet.h:143
std::shared_ptr< DtSpecificationManager > mySpecificationManager
Copy of the vector network specification manager.
Definition: gdbVectorNetworkFeatureSet.h:248
Feature subclasses that are ultimately used to inspect the specification manager for values...
Definition: gdbVectorNetworkFeatureSet.h:25
DtProj::CPtr myProjection
Definition: gdbVectorNetworkFeatureSet.h:98
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: gdbVectorNetworkFeatureSet.h:80
std::vector< DtGdbVectorFeature::Ptr > myFeatures
Definition: gdbVectorNetworkFeatureSet.h:137
std::string myFile
Definition: gdbVectorNetworkFeatureSet.h:256
DtSpecificationID specificationID() const
Definition: gdbVectorNetworkFeatureSet.h:54
DtProj::CPtr myTransformToProjection
Definition: gdbVectorNetworkFeatureSet.h:251
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
DtGdbFeatureSetCollection * myPointFeatureSet
Definition: gdbVectorNetworkFeatureSet.h:243
void print(double **a, int r, int c, const char *str)
Definition: networkNode.h:38
std::shared_ptr< DtFeatureGeometry > myGeometry
Definition: gdbVectorNetworkFeatureSet.h:96
DtGdbFeatureSetCollection * myArealFeatureSet
Definition: gdbVectorNetworkFeatureSet.h:245
std::shared_ptr< DtSpecificationManager > mySpecificationManager
Definition: gdbVectorNetworkFeatureSet.h:97
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::function< void()> DeleteCallback
User supplied callback called when feature is deleted.
Definition: feature.h:182
AttributeMap attributes
Definition: gdbVectorNetworkFeatureSet.h:218
std::string myFile
Definition: gdbVectorNetworkFeatureSet.h:138
std::shared_ptr< DtGdbVectorFeature > Ptr
Definition: gdbVectorNetworkFeatureSet.h:31
Definition: specification.h:27
Represents a collection of DtGdbVectorFeatures.
Definition: gdbVectorNetworkFeatureSet.h:103
Definition: asyncJobServer.h:39
DtGdbFeatureSetCollection * myLinearFeatureSet
Definition: gdbVectorNetworkFeatureSet.h:244
DtProj::CPtr myProjection
Definition: gdbVectorNetworkFeatureSet.h:250
Definition: networkEdge.h:28
DtLoadType
Used to indicate whether to load features. See DtFeatureSetTemplate::filter.
Definition: featureSet.h:33
virtual bool isDeleted() const override
Check to see if feature has been deleted. Note: this is not related to C++ delete or destructors...
Definition: gdbVectorNetworkFeatureSet.h:82
DT_DLL_VRVCORE double length(const makVrv::DtCoordinateSystem &, const std::vector< DtVector > &vertices)
Returns the total distance of a segmented line defined by the provided vector of vertices. Coordinates are in local database coordinates. The coordinate system is used to convert between the local database coordinates and geocentric. All distance is in 2D – the Z value is ignored.
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
boost::function< void()> LoadedCallback
Callback type type for async notification of feature set loading.
Definition: featureSet.h:163
std::map< int, SpecificationLayer > SpecificationLayers
Definition: gdbVectorNetworkFeatureSet.h:221
Organize by feature type. The attribute map will be the union of all attributes of that given feature...
Definition: gdbVectorNetworkFeatureSet.h:215
Definition: networkElement.h:38
Represents a feature geometry.
Definition: featureGeometry.h:40
OriginalLabelMap myOriginalLabelMap
Definition: gdbVectorNetworkFeatureSet.h:255
std::map< std::string, std::string > OriginalLabelMap
Original labels mapped to lowercase labels – for export.
Definition: gdbVectorNetworkFeatureSet.h:254
Definition: vectorNetwork.h:37