1 #ifndef FEATURECOVERAGE_H
2 #define FEATURECOVERAGE_H
5 #include <unordered_map>
6 #include "Kernel_global.h"
10 class GeometryFactory;
17 typedef std::vector<UPFeatureI> Features;
19 class FeatureIterator;
21 class AttributeRecord;
22 typedef std::unique_ptr<geos::geom::GeometryFactory> UPGeomFactory;
28 std::vector<quint32> _perIndex;
97 IlwisTypes featureTypes()
const;
104 void featureTypes(IlwisTypes types);
117 UPFeatureI& newFeature(geos::geom::Geometry *geom,
bool load=
true);
118 UPFeatureI& newFeature(
const QString& wkt,
bool load=
true);
145 quint32 featureCount(IlwisTypes types=itFEATURE,
bool subAsDistinct=
false,
int index=iUNDEF)
const;
158 void setFeatureCount(IlwisTypes types, quint32 geomCnt, quint32 multicnt,
int index=0);
159 quint32 maxIndex()
const;
162 IlwisTypes ilwisType()
const;
171 static IlwisTypes geometryType(
const geos::geom::Geometry *geom) ;
172 const UPGeomFactory &geomfactory()
const;
177 IlwisTypes _featureTypes;
179 std::vector<FeatureInfo> _featureInfo;
183 UPGeomFactory _geomfactory;
184 std::mutex _loadmutex;
188 void adaptFeatureCounts(
int tp, quint32 geomCnt, quint32 subGeomCnt,
int index);
200 #endif // FEATURECOVERAGE_H