30 #ifndef OGRUNIONLAYER_H_INCLUDED 
   31 #define OGRUNIONLAYER_H_INCLUDED 
   44     int bGeomTypeSet = 
false;
 
   50     explicit OGRUnionLayerGeomFieldDefn(
 
   51         const OGRUnionLayerGeomFieldDefn *poSrc);
 
   52     ~OGRUnionLayerGeomFieldDefn();
 
   61     FIELD_FROM_FIRST_LAYER,
 
   62     FIELD_UNION_ALL_LAYERS,
 
   63     FIELD_INTERSECTION_ALL_LAYERS,
 
   67 class CPL_DLL OGRUnionLayer final : 
public OGRLayer 
   75     int bHasLayerOwnership;
 
   81     OGRUnionLayerGeomFieldDefn **papoGeomFields;
 
   82     FieldUnionStrategy eFieldStrategy;
 
   90     char *pszAttributeFilter;
 
   94     int bAttrFilterPassThroughValue;
 
   95     int *pabModifiedLayers;
 
   96     int *pabCheckIfAutoWrap;
 
   99     void AutoWarpLayerIfNecessary(
int iSubLayer);
 
  101     void ApplyAttributeFilterToSrcLayer(
int iSubLayer);
 
  102     int GetAttrFilterPassThroughValue();
 
  103     void ConfigureActiveLayer();
 
  104     void SetSpatialFilterToSourceLayer(
OGRLayer *poSrcLayer);
 
  108         const char *pszName, 
int nSrcLayers, 
 
  112         int bTakeLayerOwnership);
 
  114     virtual ~OGRUnionLayer();
 
  120         FieldUnionStrategy eFieldStrategy, 
int nFields,
 
  123         OGRUnionLayerGeomFieldDefn *
 
  125     void SetSourceLayerFieldName(
const char *pszSourceLayerFieldName);
 
  126     void SetPreserveSrcFID(
int bPreserveSrcFID);
 
  127     void SetFeatureCount(
int nFeatureCount);
 
  129     virtual const char *GetName()
 override 
  131         return osName.c_str();
 
  136     virtual void ResetReading() 
override;
 
  137     virtual OGRFeature *GetNextFeature() 
override;
 
  148                           const int *panUpdatedFieldsIdx,
 
  149                           int nUpdatedGeomFieldsCount,
 
  150                           const int *panUpdatedGeomFieldsIdx,
 
  151                           bool bUpdateStyleString) 
override;
 
  157     virtual GIntBig GetFeatureCount(
int) 
override;
 
  159     virtual OGRErr SetAttributeFilter(
const char *) 
override;
 
  161     virtual int TestCapability(
const char *) 
override;
 
  164                              int bForce = TRUE) 
override;
 
  167     virtual void SetSpatialFilter(
OGRGeometry *poGeomIn) 
override;
 
  168     virtual void SetSpatialFilter(
int iGeomField, 
OGRGeometry *) 
override;
 
  172     virtual OGRErr SyncToDisk() 
override;
 
String list class designed around our use of C "char**" string lists.
Definition: cpl_string.h:449
 
Convenient string class based on std::string.
Definition: cpl_string.h:320
 
Simple container for a bounding region (rectangle)
Definition: ogr_core.h:61
 
Definition of a feature class or feature layer.
Definition: ogr_feature.h:517
 
A simple feature, including geometry and attributes.
Definition: ogr_feature.h:893
 
Definition of an attribute of an OGRFeatureDefn.
Definition: ogr_feature.h:111
 
Definition of a geometry field of an OGRFeatureDefn.
Definition: ogr_feature.h:346
 
virtual const OGRSpatialReference * GetSpatialRef() const
Fetch spatial reference system of this field.
Definition: ogrgeomfielddefn.cpp:479
 
Abstract base class for all geometry classes.
Definition: ogr_geometry.h:377
 
This class represents a layer of simple features, with access methods.
Definition: ogrsf_frmts.h:74
 
This class represents an OpenGIS Spatial Reference System, and contains methods for converting betwee...
Definition: ogr_spatialref.h:169
 
#define CPL_DISALLOW_COPY_ASSIGN(ClassName)
Helper to remove the copy and assignment constructors so that the compiler will not generate the defa...
Definition: cpl_port.h:1042
 
char ** CSLConstList
Type of a constant null-terminated list of nul terminated strings.
Definition: cpl_port.h:1183
 
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition: cpl_port.h:215
 
OGRwkbGeometryType
List of well known binary geometry types.
Definition: ogr_core.h:416
 
int OGRErr
Type for a OGR error.
Definition: ogr_core.h:387
 
Classes related to registration of format support, and opening datasets.