13#ifndef OGRWARPEDLAYER_H_INCLUDED
14#define OGRWARPEDLAYER_H_INCLUDED
18#include "ogrlayerdecorator.h"
19#include "ogrlayerwithtranslatefeature.h"
26#pragma warning(disable : 4250)
33class CPL_DLL OGRWarpedLayer final :
public OGRLayerDecorator,
34 public OGRLayerWithTranslateFeature
50 static int ReprojectEnvelope(
OGREnvelope *psEnvelope,
53 std::unique_ptr<OGRFeature>
54 SrcFeatureToWarpedFeature(std::unique_ptr<OGRFeature> poFeature);
55 std::unique_ptr<OGRFeature>
56 WarpedFeatureToSrcFeature(std::unique_ptr<OGRFeature> poFeature);
60 OGRLayer *poDecoratedLayer,
int iGeomField,
int bTakeOwnership,
65 ~OGRWarpedLayer()
override;
67 void TranslateFeature(
68 std::unique_ptr<OGRFeature> poSrcFeature,
69 std::vector<std::unique_ptr<OGRFeature>> &apoOutFeatures)
override;
71 void SetExtent(
double dfXMin,
double dfYMin,
double dfXMax,
double dfYMax);
73 virtual OGRErr ISetSpatialFilter(
int iGeomField,
82 const int *panUpdatedFieldsIdx,
83 int nUpdatedGeomFieldsCount,
84 const int *panUpdatedGeomFieldsIdx,
85 bool bUpdateStyleString)
override;
91 GIntBig GetFeatureCount(
int bForce = TRUE)
override;
93 bool bForce =
true)
override;
95 int TestCapability(
const char *)
const override;
97 virtual bool GetArrowStream(
struct ArrowArrayStream *out_stream,
Simple container for a bounding region (rectangle)
Definition ogr_core.h:44
Definition of a feature class or feature layer.
Definition ogr_feature.h:504
A simple feature, including geometry and attributes.
Definition ogr_feature.h:934
Abstract base class for all geometry classes.
Definition ogr_geometry.h:357
This class represents a layer of simple features, with access methods.
Definition ogrsf_frmts.h:61
This class represents an OpenGIS Spatial Reference System, and contains methods for converting betwee...
Definition ogr_spatialref.h:152
#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:936
char ** CSLConstList
Type of a constant null-terminated list of nul terminated strings.
Definition cpl_port.h:1087
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition cpl_port.h:205
int OGRErr
Type for a OGR error.
Definition ogr_core.h:370