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