30 #ifndef OGRLAYERDECORATOR_H_INCLUDED
31 #define OGRLAYERDECORATOR_H_INCLUDED
37 class CPL_DLL OGRLayerDecorator :
public OGRLayer
47 OGRLayerDecorator(
OGRLayer* poDecoratedLayer,
49 virtual ~OGRLayerDecorator();
52 virtual
void SetSpatialFilter(
OGRGeometry * ) override;
53 virtual
void SetSpatialFilterRect(
double dfMinX,
double dfMinY,
54 double dfMaxX,
double dfMaxY ) override;
55 virtual
void SetSpatialFilter(
int iGeomField,
OGRGeometry * ) override;
56 virtual
void SetSpatialFilterRect(
int iGeomField,
double dfMinX,
double dfMinY,
57 double dfMaxX,
double dfMaxY ) override;
59 virtual
OGRErr SetAttributeFilter( const
char * ) override;
61 virtual
void ResetReading() override;
69 virtual const
char *GetName() override;
75 virtual
GIntBig GetFeatureCount(
int bForce = TRUE ) override;
76 virtual
OGRErr GetExtent(
int iGeomField, OGREnvelope *psExtent,
int bForce = TRUE) override;
77 virtual
OGRErr GetExtent(OGREnvelope *psExtent,
int bForce = TRUE) override;
79 virtual
int TestCapability( const
char * ) override;
82 int bApproxOK = TRUE ) override;
83 virtual
OGRErr DeleteField(
int iField ) override;
84 virtual
OGRErr ReorderFields(
int* panMap ) override;
85 virtual
OGRErr AlterFieldDefn(
int iField,
OGRFieldDefn* poNewFieldDefn,
int nFlags ) override;
88 int bApproxOK = TRUE ) override;
90 virtual
OGRErr SyncToDisk() override;
93 virtual
void SetStyleTableDirectly(
OGRStyleTable *poStyleTable ) override;
95 virtual
void SetStyleTable(
OGRStyleTable *poStyleTable) override;
97 virtual
OGRErr StartTransaction() override;
98 virtual
OGRErr CommitTransaction() override;
99 virtual
OGRErr RollbackTransaction() override;
101 virtual const
char *GetFIDColumn() override;
102 virtual const
char *GetGeometryColumn() override;
104 virtual
OGRErr SetIgnoredFields( const
char **papszFields ) override;
106 virtual
char **GetMetadata( const
char * pszDomain = "" ) override;
107 virtual
CPLErr SetMetadata(
char ** papszMetadata,
108 const
char * pszDomain = "" ) override;
109 virtual const
char *GetMetadataItem( const
char * pszName,
110 const
char * pszDomain = "" ) override;
111 virtual
CPLErr SetMetadataItem( const
char * pszName,
112 const
char * pszValue,
113 const
char * pszDomain = "" ) override;
115 OGRLayer* GetBaseLayer() {
return m_poDecoratedLayer; }
120 #endif // OGRLAYERDECORATOR_H_INCLUDED
Definition of a geometry field of an OGRFeatureDefn.
Definition: ogr_feature.h:182
Definition of a feature class or feature layer.
Definition: ogr_feature.h:259
Definition of an attribute of an OGRFeatureDefn.
Definition: ogr_feature.h:92
OGRwkbGeometryType
List of well known binary geometry types.
Definition: ogr_core.h:317
Abstract base class for all geometry classes.
Definition: ogr_geometry.h:286
Classes related to registration of format support, and opening datasets.
This class represents an OpenGIS Spatial Reference System, and contains methods for converting betwee...
Definition: ogr_spatialref.h:147
This class represents a layer of simple features, with access methods.
Definition: ogrsf_frmts.h:70
A simple feature, including geometry and attributes.
Definition: ogr_feature.h:354
This class represents a style table.
Definition: ogr_featurestyle.h:84
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition: cpl_port.h:248
int OGRErr
Simple container for a bounding region.
Definition: ogr_core.h:290
CPLErr
Error category.
Definition: cpl_error.h:52
#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:989