30 #ifndef OGRWARPEDLAYER_H_INCLUDED
31 #define OGRWARPEDLAYER_H_INCLUDED
35 #include "ogrlayerdecorator.h"
41 class OGRWarpedLayer :
public OGRLayerDecorator
51 OGREnvelope sStaticEnvelope;
53 static int ReprojectEnvelope( OGREnvelope* psEnvelope,
61 OGRWarpedLayer(
OGRLayer* poDecoratedLayer,
66 virtual ~OGRWarpedLayer();
68 void SetExtent(
double dfXMin,
double dfYMin,
double dfXMax,
double dfYMax);
70 virtual void SetSpatialFilter(
OGRGeometry * )
override;
71 virtual void SetSpatialFilterRect(
double dfMinX,
double dfMinY,
72 double dfMaxX,
double dfMaxY )
override;
73 virtual void SetSpatialFilter(
int iGeomField,
OGRGeometry * )
override;
74 virtual void SetSpatialFilterRect(
int iGeomField,
double dfMinX,
double dfMinY,
75 double dfMaxX,
double dfMaxY )
override;
86 virtual GIntBig GetFeatureCount(
int bForce = TRUE )
override;
87 virtual OGRErr GetExtent(
int iGeomField, OGREnvelope *psExtent,
int bForce = TRUE)
override;
88 virtual OGRErr GetExtent(OGREnvelope *psExtent,
int bForce = TRUE)
override;
90 virtual int TestCapability(
const char * )
override;
95 #endif // OGRWARPEDLAYER_H_INCLUDED
#define OLCFastSpatialFilter
Definition: ogr_core.h:725
@ wkbPointZM
Definition: ogr_core.h:376
@ wkbCurvePolygonZM
Definition: ogr_core.h:385
unsigned char GByte
Definition: cpl_port.h:207
virtual OGRErr SetFID(GIntBig nFIDIn)
Set the feature identifier.
Definition: ogrfeature.cpp:5214
#define OGRERR_UNSUPPORTED_GEOMETRY_TYPE
Definition: ogr_core.h:290
OGRGeometry * StealGeometry() CPL_WARN_UNUSED_RESULT
Take away ownership of geometry.
Definition: ogrfeature.cpp:485
short GInt16
Definition: cpl_port.h:203
@ wkbMultiCurveZM
Definition: ogr_core.h:386
OGRErr SetFrom(OGRFeature *, int=TRUE)
Set one feature from another.
Definition: ogrfeature.cpp:5511
@ wkbMultiLineStringZM
Definition: ogr_core.h:380
int CPLIsUTF8(const char *pabyData, int nLen)
Definition: cpl_recode.cpp:251
char * CPLEscapeString(const char *pszString, int nLength, int nScheme)
Definition: cpl_string.cpp:2018
@ wkbCurvePolygonZ
Definition: ogr_core.h:349
@ wkbMultiSurfaceZM
Definition: ogr_core.h:387
@ wkbCompoundCurveZM
Definition: ogr_core.h:384
@ wkbMultiSurfaceM
Definition: ogr_core.h:369
void * CPLCalloc(size_t, size_t)
Definition: cpl_conv.cpp:128
@ wkbMultiPoint25D
Definition: ogr_core.h:397
virtual OGRSpatialReference * GetSpatialRef()
Fetch the spatial reference system for this layer.
Definition: ogrlayer.cpp:1032
@ wkbNDR
Definition: ogr_core.h:482
Definition: ogr_spatialref.h:132
@ wkbCompoundCurve
Definition: ogr_core.h:330
virtual GIntBig GetFeatureCount(int bForce=TRUE)
Fetch the feature count in this layer.
Definition: ogrlayer.cpp:166
int CPLsnprintf(char *str, size_t size, const char *fmt,...)
Definition: cpl_string.cpp:1333
@ wkbPolygon25D
Definition: ogr_core.h:396
@ wkbPolygonZM
Definition: ogr_core.h:378
@ wkbVariantPostGIS1
Definition: ogr_core.h:422
#define OLCSequentialWrite
Definition: ogr_core.h:723
@ wkbPolygonM
Definition: ogr_core.h:360
Definition: ogr_geometry.h:118
@ wkbCircularString
Definition: ogr_core.h:328
Definition: ogrsf_frmts.h:68
@ wkbMultiPolygonZM
Definition: ogr_core.h:381
void * CPLRealloc(void *, size_t)
Definition: cpl_conv.cpp:215
#define OLCFastFeatureCount
Definition: ogr_core.h:726
@ wkbPoint25D
Definition: ogr_core.h:394
@ wkbCircularStringZM
Definition: ogr_core.h:383
#define EQUAL(a, b)
Definition: cpl_port.h:622
@ wkbCircularStringZ
Definition: ogr_core.h:347
int OGRBoolean
Definition: ogr_core.h:301
@ wkbMultiPointZM
Definition: ogr_core.h:379
double x
Definition: ogr_geometry.h:57
#define CPLES_XML
Definition: cpl_string.h:200
@ wkbLineStringZM
Definition: ogr_core.h:377
#define CPLAssert(expr)
Definition: cpl_error.h:182
Definition: ogr_geometry.h:47
bool CPLTestBool(const char *pszValue)
Definition: cpl_string.cpp:1522
OGRwkbByteOrder
Definition: ogr_core.h:479
Definition: ogr_core.h:661
int CSLCount(const char *const *papszStrList)
Definition: cpl_string.cpp:147
@ wkbCurvePolygon
Definition: ogr_core.h:331
@ wkbLineStringM
Definition: ogr_core.h:359
#define OGR_GET_MS(floatingpoint_sec)
Definition: ogr_core.h:714
#define OGRERR_FAILURE
Definition: ogr_core.h:293
@ wkbMultiPolygon25D
Definition: ogr_core.h:399
@ wkbCircularStringM
Definition: ogr_core.h:365
@ wkbMultiSurface
Definition: ogr_core.h:335
@ wkbCurvePolygonM
Definition: ogr_core.h:367
@ wkbMultiPointM
Definition: ogr_core.h:361
void CPLDebug(const char *, const char *,...)
Definition: cpl_error.cpp:492
@ wkbGeometryCollectionM
Definition: ogr_core.h:364
void * CPLMalloc(size_t)
Definition: cpl_conv.cpp:158
@ wkbMultiCurveM
Definition: ogr_core.h:368
@ wkbMultiLineString25D
Definition: ogr_core.h:398
#define OLCRandomWrite
Definition: ogr_core.h:724
@ wkbCompoundCurveM
Definition: ogr_core.h:366
const char * CPLSPrintf(const char *fmt,...)
Definition: cpl_string.cpp:975
virtual void SetSpatialFilterRect(double dfMinX, double dfMinY, double dfMaxX, double dfMaxY)
Set a new rectangular spatial filter.
Definition: ogrlayer.cpp:1175
void CPLError(CPLErr eErrClass, CPLErrorNum err_no, const char *fmt,...)
Definition: cpl_error.cpp:215
void VSIFree(void *)
Definition: cpl_vsisimple.cpp:817
char ** CSLTokenizeStringComplex(const char *pszString, const char *pszDelimiter, int bHonourStrings, int bAllowEmptyTokens)
Definition: cpl_string.cpp:767
#define CPLE_NotSupported
Definition: cpl_error.h:110
#define OGRERR_CORRUPT_DATA
Definition: ogr_core.h:292
#define CPL_ARRAYSIZE(array)
Definition: cpl_port.h:1134
int OGRErr
Definition: ogr_core.h:285
@ wkbCompoundCurveZ
Definition: ogr_core.h:348
void CSLDestroy(char **papszStrList)
Definition: cpl_string.cpp:200
long long GIntBig
Definition: cpl_port.h:250
#define VSI_MALLOC_VERBOSE(size)
Definition: cpl_vsi.h:254
#define CPL_SWAP32PTR(x)
Definition: cpl_port.h:800
OGRwkbGeometryType
Definition: ogr_core.h:312
#define CPL_UNUSED
Definition: cpl_port.h:1008
int Reference()
Increments the reference count by one.
Definition: ogr_feature.h:251
Definition: ogr_feature.h:279
#define OLCFastGetExtent
Definition: ogr_core.h:727
@ wkbXDR
Definition: ogr_core.h:481
char * CPLForceToASCII(const char *pabyData, int nLen, char chReplacementChar)
Definition: cpl_recode.cpp:276
@ wkbGeometryCollection25D
Definition: ogr_core.h:400
@ wkbMultiCurveZ
Definition: ogr_core.h:350
virtual OGRFeatureDefn * Clone()
Create a copy of this feature definition.
Definition: ogrfeaturedefn.cpp:201
virtual OGRErr transform(OGRCoordinateTransformation *poCT)=0
Apply arbitrary coordinate transformation to geometry.
@ wkbMultiCurve
Definition: ogr_core.h:334
@ wkbMultiPolygonM
Definition: ogr_core.h:363
@ wkbLineString25D
Definition: ogr_core.h:395
@ wkbGeometryCollectionZM
Definition: ogr_core.h:382
#define OGRERR_NONE
Definition: ogr_core.h:287
char * CPLStrdup(const char *)
Definition: cpl_conv.cpp:284
Definition: ogr_feature.h:207
double CPLAtof(const char *)
Definition: cpl_strtod.cpp:117
@ wkbMultiSurfaceZ
Definition: ogr_core.h:351
#define CPLE_IllegalArg
Definition: cpl_error.h:108
OGRGeometry * GetGeomFieldRef(int iField)
Fetch pointer to feature geometry.
Definition: ogrfeature.cpp:630
virtual void getEnvelope(OGREnvelope *psEnvelope) const =0
Computes and returns the bounding envelope for this geometry in the passed psEnvelope structure.
long CPLScanLong(const char *, int)
Definition: cpl_conv.cpp:863
@ wkbMultiLineStringM
Definition: ogr_core.h:362
#define CPLFree
Definition: cpl_conv.h:81
OGRwkbVariant
Definition: ogr_core.h:418
GIntBig GetFID() const
Get feature identifier.
Definition: ogr_feature.h:435
@ wkbPointM
Definition: ogr_core.h:358
const char * CPLGetConfigOption(const char *, const char *)
Definition: cpl_conv.cpp:1625
#define CPLE_AppDefined
Definition: cpl_error.h:100
Generated for GDAL by
1.8.17.