30#ifndef OGRLAYERDECORATOR_H_INCLUDED
31#define OGRLAYERDECORATOR_H_INCLUDED
37class CPL_DLL OGRLayerDecorator :
public OGRLayer
45 OGRLayerDecorator(
OGRLayer* poDecoratedLayer,
47 virtual ~OGRLayerDecorator();
52 double dfMaxX,
double dfMaxY )
override;
55 double dfMaxX,
double dfMaxY )
override;
67 virtual const char *
GetName()
override;
74 virtual OGRErr GetExtent(
int iGeomField, OGREnvelope *psExtent,
int bForce = TRUE)
override;
75 virtual OGRErr GetExtent(OGREnvelope *psExtent,
int bForce = TRUE)
override;
80 int bApproxOK = TRUE )
override;
86 int bApproxOK = TRUE )
override;
104 virtual char **GetMetadata(
const char * pszDomain =
"" )
override;
105 virtual CPLErr SetMetadata(
char ** papszMetadata,
106 const char * pszDomain =
"" )
override;
107 virtual const char *GetMetadataItem(
const char * pszName,
108 const char * pszDomain =
"" )
override;
109 virtual CPLErr SetMetadataItem(
const char * pszName,
110 const char * pszValue,
111 const char * pszDomain =
"" )
override;
113 OGRLayer* GetBaseLayer() {
return m_poDecoratedLayer; }
Definition: ogr_feature.h:260
Definition: ogr_feature.h:354
Definition: ogr_feature.h:93
Definition: ogr_feature.h:183
Definition: ogr_geometry.h:287
Definition: ogrsf_frmts.h:71
virtual OGRErr CreateField(OGRFieldDefn *poField, int bApproxOK=TRUE)
Create a new field on a layer.
Definition: ogrlayer.cpp:664
virtual void SetSpatialFilter(OGRGeometry *)
Set a new spatial filter.
Definition: ogrlayer.cpp:1112
virtual void SetStyleTableDirectly(OGRStyleTable *poStyleTable)
Set layer style table.
Definition: ogrlayer.cpp:1662
virtual const char * GetName()
Return the layer name.
Definition: ogrlayer.cpp:1727
virtual GIntBig GetFeatureCount(int bForce=TRUE)
Fetch the feature count in this layer.
Definition: ogrlayer.cpp:172
virtual void SetStyleTable(OGRStyleTable *poStyleTable)
Set layer style table.
Definition: ogrlayer.cpp:1673
virtual OGRErr ICreateFeature(OGRFeature *poFeature) CPL_WARN_UNUSED_RESULT
Create and write a new feature within a layer.
Definition: ogrlayer.cpp:636
virtual OGRFeature * GetNextFeature() CPL_WARN_UNUSED_RESULT=0
Fetch the next available feature from this layer.
virtual OGRErr SetIgnoredFields(const char **papszFields)
Set which fields can be omitted when retrieving features from the layer.
Definition: ogrlayer.cpp:1791
virtual OGRErr GetExtent(OGREnvelope *psExtent, int bForce=TRUE) CPL_WARN_UNUSED_RESULT
Fetch the extent of this layer.
Definition: ogrlayer.cpp:210
virtual OGRSpatialReference * GetSpatialRef()
Fetch the spatial reference system for this layer.
Definition: ogrlayer.cpp:1036
virtual OGRFeature * GetFeature(GIntBig nFID) CPL_WARN_UNUSED_RESULT
Fetch a feature by its identifier.
Definition: ogrlayer.cpp:446
virtual OGRFeatureDefn * GetLayerDefn()=0
Fetch the schema information for this layer.
virtual OGRwkbGeometryType GetGeomType()
Return the layer geometry type.
Definition: ogrlayer.cpp:1754
virtual void ResetReading()=0
Reset feature reading to start on the first feature.
virtual OGRErr DeleteField(int iField)
Delete an existing field on a layer.
Definition: ogrlayer.cpp:700
virtual OGRErr RollbackTransaction()
For datasources which support transactions, RollbackTransaction will roll back a datasource to its st...
Definition: ogrlayer.cpp:965
virtual OGRErr DeleteFeature(GIntBig nFID) CPL_WARN_UNUSED_RESULT
Delete feature from layer.
Definition: ogrlayer.cpp:1546
virtual OGRErr SetNextByIndex(GIntBig nIndex)
Move read cursor to the nIndex'th feature in the current resultset.
Definition: ogrlayer.cpp:498
virtual OGRErr StartTransaction() CPL_WARN_UNUSED_RESULT
For datasources which support transactions, StartTransaction creates a transaction.
Definition: ogrlayer.cpp:911
virtual OGRStyleTable * GetStyleTable()
Returns layer style table.
Definition: ogrlayer.cpp:1653
virtual OGRErr SetAttributeFilter(const char *)
Set a new attribute query.
Definition: ogrlayer.cpp:337
virtual void SetSpatialFilterRect(double dfMinX, double dfMinY, double dfMaxX, double dfMaxY)
Set a new rectangular spatial filter.
Definition: ogrlayer.cpp:1183
virtual OGRErr ISetFeature(OGRFeature *poFeature) CPL_WARN_UNUSED_RESULT
Rewrite an existing feature.
Definition: ogrlayer.cpp:597
virtual OGRGeometry * GetSpatialFilter()
This method returns the current spatial filter for this layer.
Definition: ogrlayer.cpp:1084
virtual OGRErr CommitTransaction() CPL_WARN_UNUSED_RESULT
For datasources which support transactions, CommitTransaction commits a transaction.
Definition: ogrlayer.cpp:938
virtual OGRErr SyncToDisk()
Flush pending changes to disk.
Definition: ogrlayer.cpp:1519
virtual OGRErr ReorderFields(int *panMap)
Reorder all the fields of a layer.
Definition: ogrlayer.cpp:732
virtual int TestCapability(const char *)=0
Test if this layer supported the named capability.
virtual const char * GetFIDColumn()
This method returns the name of the underlying database column being used as the FID column,...
Definition: ogrlayer.cpp:1596
virtual OGRErr CreateGeomField(OGRGeomFieldDefn *poField, int bApproxOK=TRUE)
Create a new geometry field on a layer.
Definition: ogrlayer.cpp:875
virtual OGRErr AlterFieldDefn(int iField, OGRFieldDefn *poNewFieldDefn, int nFlagsIn)
Alter the definition of an existing field on a layer.
Definition: ogrlayer.cpp:840
virtual const char * GetGeometryColumn()
This method returns the name of the underlying database column being used as the geometry column,...
Definition: ogrlayer.cpp:1623
Definition: ogr_spatialref.h:146
Definition: ogr_featurestyle.h:85
CPLErr
Definition: cpl_error.h:53
long long GIntBig
Definition: cpl_port.h:246
OGRwkbGeometryType
Definition: ogr_core.h:318
int OGRErr
Definition: ogr_core.h:290