30#ifndef OGRLAYERDECORATOR_H_INCLUDED
31#define OGRLAYERDECORATOR_H_INCLUDED
37class CPL_DLL OGRLayerDecorator :
public OGRLayer
46 OGRLayerDecorator(
OGRLayer *poDecoratedLayer,
int bTakeOwnership);
47 virtual ~OGRLayerDecorator();
52 double dfMaxX,
double dfMaxY)
override;
55 double dfMinY,
double dfMaxX,
56 double dfMaxY)
override;
73 virtual const char *
GetName()
override;
81 int bForce = TRUE)
override;
87 int bApproxOK = TRUE)
override;
98 int bApproxOK = TRUE)
override;
116 virtual char **
GetMetadata(
const char *pszDomain =
"")
override;
118 const char *pszDomain =
"")
override;
120 const char *pszDomain =
"")
override;
122 const char *pszDomain =
"")
override;
127 return m_poDecoratedLayer;
A set of associated raster bands, usually from one file.
Definition gdal_priv.h:348
virtual CPLErr SetMetadataItem(const char *pszName, const char *pszValue, const char *pszDomain="")
Set single metadata item.
Definition gdalmajorobject.cpp:385
virtual CPLErr SetMetadata(char **papszMetadata, const char *pszDomain="")
Set metadata.
Definition gdalmajorobject.cpp:290
virtual char ** GetMetadata(const char *pszDomain="")
Fetch metadata.
Definition gdalmajorobject.cpp:247
virtual const char * GetMetadataItem(const char *pszName, const char *pszDomain="")
Fetch single metadata item.
Definition gdalmajorobject.cpp:341
Simple container for a bounding region (rectangle)
Definition ogr_core.h:58
Definition of a feature class or feature layer.
Definition ogr_feature.h:364
A simple feature, including geometry and attributes.
Definition ogr_feature.h:497
Definition of an attribute of an OGRFeatureDefn.
Definition ogr_feature.h:104
Definition of a geometry field of an OGRFeatureDefn.
Definition ogr_feature.h:265
Abstract base class for all geometry classes.
Definition ogr_geometry.h:335
This class represents a layer of simple features, with access methods.
Definition ogrsf_frmts.h:73
virtual OGRErr CreateField(OGRFieldDefn *poField, int bApproxOK=TRUE)
Create a new field on a layer.
Definition ogrlayer.cpp:717
virtual void SetSpatialFilter(OGRGeometry *)
Set a new spatial filter.
Definition ogrlayer.cpp:1204
virtual OGRErr DeleteFeature(GIntBig nFID)
Delete feature from layer.
Definition ogrlayer.cpp:1640
virtual void SetStyleTableDirectly(OGRStyleTable *poStyleTable)
Set layer style table.
Definition ogrlayer.cpp:1756
virtual OGRErr StartTransaction()
For datasources which support transactions, StartTransaction creates a transaction.
Definition ogrlayer.cpp:999
virtual const char * GetName()
Return the layer name.
Definition ogrlayer.cpp:1819
virtual GIntBig GetFeatureCount(int bForce=TRUE)
Fetch the feature count in this layer.
Definition ogrlayer.cpp:178
virtual void SetStyleTable(OGRStyleTable *poStyleTable)
Set layer style table.
Definition ogrlayer.cpp:1767
virtual OGRErr GetExtent(OGREnvelope *psExtent, int bForce=TRUE)
Fetch the extent of this layer.
Definition ogrlayer.cpp:216
virtual OGRErr IUpsertFeature(OGRFeature *poFeature)
Rewrite an existing feature or create a new feature within a layer.
Definition ogrlayer.cpp:689
virtual bool GetArrowStream(struct ArrowArrayStream *out_stream, CSLConstList papszOptions=nullptr)
Get a Arrow C stream.
Definition ogrlayer.cpp:6769
virtual OGRErr ICreateFeature(OGRFeature *poFeature)
Create and write a new feature within a layer.
Definition ogrlayer.cpp:649
virtual OGRFeature * GetNextFeature()=0
Fetch the next available feature from this layer.
virtual OGRErr AlterGeomFieldDefn(int iGeomField, const OGRGeomFieldDefn *poNewGeomFieldDefn, int nFlagsIn)
Alter the definition of an existing geometry field on a layer.
Definition ogrlayer.cpp:928
virtual GDALDataset * GetDataset()
Return the dataset associated with this layer.
Definition ogrlayer.cpp:6623
virtual OGRErr SetIgnoredFields(const char **papszFields)
Set which fields can be omitted when retrieving features from the layer.
Definition ogrlayer.cpp:1883
virtual OGRErr ISetFeature(OGRFeature *poFeature)
Rewrite an existing feature.
Definition ogrlayer.cpp:609
virtual OGRErr CommitTransaction()
For datasources which support transactions, CommitTransaction commits a transaction.
Definition ogrlayer.cpp:1026
virtual OGRSpatialReference * GetSpatialRef()
Fetch the spatial reference system for this layer.
Definition ogrlayer.cpp:1128
virtual OGRFeatureDefn * GetLayerDefn()=0
Fetch the schema information for this layer.
virtual OGRwkbGeometryType GetGeomType()
Return the layer geometry type.
Definition ogrlayer.cpp:1846
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:752
virtual OGRErr RollbackTransaction()
For datasources which support transactions, RollbackTransaction will roll back a datasource to its st...
Definition ogrlayer.cpp:1053
virtual OGRErr SetNextByIndex(GIntBig nIndex)
Move read cursor to the nIndex'th feature in the current resultset.
Definition ogrlayer.cpp:506
virtual OGRStyleTable * GetStyleTable()
Returns layer style table.
Definition ogrlayer.cpp:1747
virtual OGRErr SetAttributeFilter(const char *)
Set a new attribute query.
Definition ogrlayer.cpp:345
virtual void SetSpatialFilterRect(double dfMinX, double dfMinY, double dfMaxX, double dfMaxY)
Set a new rectangular spatial filter.
Definition ogrlayer.cpp:1275
virtual OGRFeature * GetFeature(GIntBig nFID)
Fetch a feature by its identifier.
Definition ogrlayer.cpp:452
virtual OGRGeometry * GetSpatialFilter()
This method returns the current spatial filter for this layer.
Definition ogrlayer.cpp:1176
virtual OGRErr Rename(const char *pszNewName)
Rename layer.
Definition ogrlayer.cpp:1972
virtual OGRErr SyncToDisk()
Flush pending changes to disk.
Definition ogrlayer.cpp:1613
virtual OGRErr ReorderFields(int *panMap)
Reorder all the fields of a layer.
Definition ogrlayer.cpp:784
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:1690
virtual OGRErr CreateGeomField(OGRGeomFieldDefn *poField, int bApproxOK=TRUE)
Create a new geometry field on a layer.
Definition ogrlayer.cpp:963
virtual OGRErr AlterFieldDefn(int iField, OGRFieldDefn *poNewFieldDefn, int nFlagsIn)
Alter the definition of an existing field on a layer.
Definition ogrlayer.cpp:891
virtual const char * GetGeometryColumn()
This method returns the name of the underlying database column being used as the geometry column,...
Definition ogrlayer.cpp:1717
This class represents an OpenGIS Spatial Reference System, and contains methods for converting betwee...
Definition ogr_spatialref.h:167
This class represents a style table.
Definition ogr_featurestyle.h:85
CPLErr
Error category.
Definition cpl_error.h:53
#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:1049
char ** CSLConstList
Type of a constant null-terminated list of nul terminated strings.
Definition cpl_port.h:1190
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition cpl_port.h:233
OGRwkbGeometryType
List of well known binary geometry types.
Definition ogr_core.h:407
int OGRErr
Type for a OGR error.
Definition ogr_core.h:378
Classes related to registration of format support, and opening datasets.