30 #ifndef OGRMUTEXEDDATASOURCELAYER_H_INCLUDED
31 #define OGRMUTEXEDDATASOURCELAYER_H_INCLUDED
36 #include "cpl_multiproc.h"
37 #include "ogrmutexedlayer.h"
54 CPLMutex *m_hGlobalMutex;
55 int m_bWrapLayersInMutexedLayer;
56 std::map<OGRLayer*, OGRMutexedLayer* > m_oMapLayers{};
57 std::map<OGRMutexedLayer*, OGRLayer* > m_oReverseMapLayers{};
67 int bWrapLayersInMutexedLayer);
70 virtual ~OGRMutexedDataSource();
72 OGRDataSource* GetBaseDataSource() {
return m_poBaseDataSource; }
74 virtual const char *GetName()
override;
76 virtual int GetLayerCount()
override ;
77 virtual OGRLayer *GetLayer(
int)
override;
78 virtual OGRLayer *GetLayerByName(
const char *)
override;
79 virtual OGRErr DeleteLayer(
int)
override;
81 virtual int TestCapability(
const char * )
override;
83 virtual OGRLayer *ICreateLayer(
const char *pszName,
86 char ** papszOptions =
nullptr )
override;
88 const char *pszNewName,
89 char **papszOptions =
nullptr )
override;
92 virtual void SetStyleTableDirectly(
OGRStyleTable *poStyleTable )
override;
94 virtual void SetStyleTable(
OGRStyleTable *poStyleTable)
override;
96 virtual OGRLayer * ExecuteSQL(
const char *pszStatement,
98 const char *pszDialect )
override;
99 virtual void ReleaseResultSet(
OGRLayer * poResultsSet )
override;
101 virtual void FlushCache()
override;
103 virtual OGRErr StartTransaction(
int bForce=FALSE)
override;
104 virtual OGRErr CommitTransaction()
override;
105 virtual OGRErr RollbackTransaction()
override;
107 virtual char **GetMetadata(
const char * pszDomain =
"" )
override;
108 virtual CPLErr SetMetadata(
char ** papszMetadata,
109 const char * pszDomain =
"" )
override;
110 virtual const char *GetMetadataItem(
const char * pszName,
111 const char * pszDomain =
"" )
override;
112 virtual CPLErr SetMetadataItem(
const char * pszName,
113 const char * pszValue,
114 const char * pszDomain =
"" )
override;
119 #endif // OGRMUTEXEDDATASOURCELAYER_H_INCLUDED
void setPoint(int, OGRPoint *)
Set the location of a vertex in line string.
Definition: ogrlinestring.cpp:536
virtual void setMeasured(OGRBoolean bIsMeasured) override
Add or remove the M coordinate dimension.
Definition: ogrlinestring.cpp:192
virtual void getEnvelope(OGREnvelope *psEnvelope) const override
Computes and returns the bounding envelope for this geometry in the passed psEnvelope structure.
Definition: ogrlinestring.cpp:2311
OGRBoolean Is3D() const
Definition: ogr_geometry.h:363
virtual OGRBoolean IsEmpty() const =0
Returns TRUE (non-zero) if the object has no points.
Definition: ogr_geometry.h:2670
virtual OGRErr addGeometryDirectly(OGRGeometry *)
Add a geometry directly to the container.
Definition: ogrgeometrycollection.cpp:374
virtual int getDimension() const override
Get the dimension of this object.
Definition: ogrmultipoint.cpp:119
static OGRLineString * CastToLineString(OGRCurve *poCurve)
Cast to linestring.
Definition: ogrcurve.cpp:353
double getX(int i) const
Get X at vertex.
Definition: ogr_geometry.h:1161
virtual void empty() override
Clear geometry information. This restores the geometry to its initial state after construction,...
Definition: ogrlinestring.cpp:163
virtual OGRErr exportToWkt(char **, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known text format.
Definition: ogrmulticurve.cpp:175
virtual double get_AreaOfCurveSegments() const =0
Get the area of the purely curve portions of a (closed) curve.
#define CPL_SWAP32(x)
Definition: cpl_port.h:719
Definition: ogr_geometry.h:1243
void setNumPoints(int nNewPointCount, int bZeroizeNewContent=TRUE)
Set number of points in geometry.
Definition: ogrlinestring.cpp:435
virtual double Project(const OGRPoint *) const
Project point on linestring.
Definition: ogrlinestring.cpp:2083
virtual OGRLineString * getSubLine(double, double, int) const
Get the portion of linestring.
Definition: ogrlinestring.cpp:2137
virtual OGRErr transform(OGRCoordinateTransformation *poCT) override
Apply arbitrary coordinate transformation to geometry.
Definition: ogrlinearring.cpp:754
Definition: ogr_geometry.h:2313
void getPoint(int, OGRPoint *) const
Fetch a point in line string.
Definition: ogrlinestring.cpp:313
#define OGRERR_UNSUPPORTED_GEOMETRY_TYPE
Definition: ogr_core.h:295
virtual int getCoordinateDimension() const
Get the dimension of the coordinates in this object.
Definition: ogrgeometry.cpp:859
@ wkbMultiCurveZM
Definition: ogr_core.h:391
virtual double get_LinearArea() const
Compute area of ring / closed linestring.
Definition: ogrlinestring.cpp:2831
Definition: ogr_geometry.h:909
static OGRMultiLineString * CastToMultiLineString(OGRMultiCurve *poMC)
Cast to multi line string.
Definition: ogrmulticurve.cpp:212
virtual OGRwkbGeometryType getGeometryType() const override
Fetch geometry type.
Definition: ogrlinestring.cpp:2782
virtual int getNumPoints() const override
Fetch vertex count.
Definition: ogr_geometry.h:1159
@ wkbMultiLineStringZM
Definition: ogr_core.h:385
virtual OGRwkbGeometryType getGeometryType() const =0
Fetch geometry type.
void setPointM(int, double, double, double)
Set the location of a vertex in line string.
Definition: ogrlinestring.cpp:609
void getPoints(OGRRawPoint *, double *=nullptr) const
Returns all points of line string.
Definition: ogrlinestring.cpp:1234
virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear=FALSE) const override
Returns if this geometry is or has curve geometry.
Definition: ogrgeometrycollection.cpp:1292
@ wkbPoint
Definition: ogr_core.h:321
virtual OGRBoolean Equals(const OGRGeometry *) const override
Returns TRUE if two geometries are equivalent.
Definition: ogrlinestring.cpp:2381
virtual OGRErr importFromWkt(const char **ppszInput)=0
Assign geometry from well known text data.
CPLSTRING_METHOD_DLL CPLString & Printf(const char *pszFormat,...)
Definition: cplstring.cpp:59
virtual OGRErr exportToWkb(OGRwkbByteOrder, unsigned char *, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known binary format.
Definition: ogrlinestring.cpp:1653
void setM(double mIn)
Definition: ogr_geometry.h:879
virtual OGRErr importFromWkt(const char **ppszInput)=0
Assign geometry from well known text data.
#define CPL_SWAPDOUBLE(p)
Definition: cpl_port.h:807
@ wkbMultiSurfaceZM
Definition: ogr_core.h:392
#define VSI_REALLOC_VERBOSE(pOldPtr, nNewSize)
Definition: cpl_vsi.h:288
Definition: ogr_featurestyle.h:85
virtual const char * getGeometryName() const override
Fetch WKT name for geometry type.
Definition: ogrlinearring.cpp:128
@ wkbMultiSurfaceM
Definition: ogr_core.h:374
static OGRMultiSurface * CastToMultiSurface(OGRMultiPolygon *poMP)
Cast to multisurface.
Definition: ogrmultipolygon.cpp:163
int getNumGeometries() const
Fetch number of geometries in container.
Definition: ogrgeometrycollection.cpp:251
@ wkbMultiPolygon
Definition: ogr_core.h:329
virtual OGRPointIterator * getPointIterator() const override
Returns a point iterator over the curve.
Definition: ogrlinestring.cpp:2720
virtual OGRBoolean isCompatibleSubType(OGRwkbGeometryType) const override
Definition: ogrmulticurve.cpp:135
@ wkbMultiPoint25D
Definition: ogr_core.h:402
@ wkbNDR
Definition: ogr_core.h:492
Definition: ogr_spatialref.h:157
virtual OGRGeometry * clone() const override
Make a copy of this object.
Definition: ogrlinearring.cpp:412
virtual OGRErr exportToWkt(char **, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known text format.
Definition: ogrmultipoint.cpp:152
@ wkbVariantPostGIS1
Definition: ogr_core.h:427
Definition: ogr_geometry.h:287
double getM(int i) const
Get measure at vertex.
Definition: ogrlinestring.cpp:407
virtual void reverseWindingOrder()
Definition: ogrlinearring.cpp:546
Definition: ogr_geometry.h:2592
virtual OGRErr exportToWkt(char **, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known text format.
Definition: ogrmultipolygon.cpp:133
virtual const char * getGeometryName() const =0
Fetch WKT name for geometry type.
virtual const char * getGeometryName() const override
Fetch WKT name for geometry type.
Definition: ogrmultilinestring.cpp:116
virtual OGRBoolean IsEmpty() const override
Returns TRUE (non-zero) if the object has no points.
Definition: ogrlinestring.cpp:2526
Definition: ogrsf_frmts.h:71
Convenient string class based on std::string.
Definition: cpl_string.h:330
virtual OGRErr exportToWkt(char **, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known text format.
Definition: ogrmultisurface.cpp:266
virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear=FALSE) const override
Returns if this geometry is or has curve geometry.
Definition: ogrmultilinestring.cpp:147
@ wkbMultiPolygonZM
Definition: ogr_core.h:386
Definition: ogr_geometry.h:2234
Definition: ogr_geometry.h:811
virtual OGRGeometry * getCurveGeometry(const char *const *papszOptions=nullptr) const override
Return curve version of this geometry.
Definition: ogrlinestring.cpp:2862
double getY(int i) const
Get Y at vertex.
Definition: ogr_geometry.h:1162
virtual void closeRings() override
Force rings to be closed.
Definition: ogrlinearring.cpp:566
OGRGeometry & operator=(const OGRGeometry &other)
Assignment operator.
Definition: ogrgeometry.cpp:137
void * CPLRealloc(void *, size_t)
Definition: cpl_conv.cpp:225
#define EQUAL(a, b)
Definition: cpl_port.h:569
int OGRBoolean
Definition: ogr_core.h:306
@ wkbMultiPointZM
Definition: ogr_core.h:384
virtual OGRErr exportToWkb(OGRwkbByteOrder, unsigned char *, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known binary format.
Definition: ogrlinearring.cpp:167
double x
Definition: ogr_geometry.h:73
void setX(double xIn)
Assign point X coordinate.
Definition: ogr_geometry.h:866
virtual OGRErr importFromWkb(const unsigned char *, int, OGRwkbVariant, int &nBytesConsumedOut) override
Assign geometry from well known binary data.
Definition: ogrlinearring.cpp:152
virtual const char * getGeometryName() const override
Fetch WKT name for geometry type.
Definition: ogrlinestring.cpp:2799
#define wkbFlatten(x)
Definition: ogr_core.h:440
Definition: ogrlinestring.cpp:2690
#define CPL_SWAP64PTR(x)
Definition: cpl_port.h:761
@ wkbLineStringZM
Definition: ogr_core.h:382
OGRBoolean isPointOnRingBoundary(const OGRPoint *pt, int bTestEnvelope=TRUE) const
Definition: ogrlinearring.cpp:673
#define CPLAssert(expr)
Definition: cpl_error.h:186
Definition: ogr_geometry.h:64
Definition: ogr_geometry.h:2749
virtual OGRGeometry * clone() const CPL_WARN_UNUSED_RESULT=0
Make a copy of this object.
virtual OGRBoolean isCompatibleSubType(OGRwkbGeometryType) const override
Definition: ogrmultisurface.cpp:137
OGRMultiSurface()
Create an empty multi surface collection.
OGRMultiCurve * toMultiCurve()
Definition: ogr_geometry.h:734
virtual GEOSGeom exportToGEOS(GEOSContextHandle_t hGEOSCtxt) const CPL_WARN_UNUSED_RESULT
Definition: ogrgeometry.cpp:2959
Definition: ogr_geometry.h:1729
bool CPLTestBool(const char *pszValue)
Definition: cpl_string.cpp:1526
OGRSimpleCurve & operator=(const OGRSimpleCurve &other)
Assignment operator.
Definition: ogrlinestring.cpp:114
virtual double get_Area() const override
Get the area of the (closed) curve.
virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear=FALSE) const override
Returns if this geometry is or has curve geometry.
Definition: ogrmultisurface.cpp:277
OGRwkbByteOrder
Definition: ogr_core.h:490
virtual OGRBoolean isCompatibleSubType(OGRwkbGeometryType) const override
Definition: ogrmultipoint.cpp:140
virtual OGRwkbGeometryType getGeometryType() const override
Fetch geometry type.
Definition: ogrmultipolygon.cpp:96
#define OGRERR_UNSUPPORTED_OPERATION
Definition: ogr_core.h:296
static OGRGeometry * createGeometry(OGRwkbGeometryType)
Create an empty geometry of desired type.
Definition: ogrgeometryfactory.cpp:528
virtual OGRwkbGeometryType getGeometryType() const override
Fetch geometry type.
Definition: ogrmulticurve.cpp:98
@ wkbCurvePolygon
Definition: ogr_core.h:336
OGRLineString()
Create an empty line string.
@ wkbLineStringM
Definition: ogr_core.h:364
virtual void StartPoint(OGRPoint *) const override
Return the curve start point.
Definition: ogrlinestring.cpp:1988
OGRGeometryCollection & operator=(const OGRGeometryCollection &other)
Assignment operator.
Definition: ogrgeometrycollection.cpp:110
#define OGRERR_FAILURE
Definition: ogr_core.h:298
OGRSurface * toSurface()
Definition: ogr_geometry.h:622
void setZ(int, double)
Set the Z of a vertex in line string.
Definition: ogrlinestring.cpp:729
virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear=FALSE) const override
Returns if this geometry is or has curve geometry.
Definition: ogrmultipoint.cpp:489
OGRMultiCurve()
Create an empty multi curve collection.
@ wkbMultiPolygon25D
Definition: ogr_core.h:404
@ wkbMultiSurface
Definition: ogr_core.h:340
#define OGRERR_NOT_ENOUGH_MEMORY
Definition: ogr_core.h:294
virtual OGRErr importFromWkb(const unsigned char *, int, OGRwkbVariant, int &nBytesConsumedOut) override
Assign geometry from well known binary data.
Definition: ogrlinestring.cpp:1537
@ wkbMultiPointM
Definition: ogr_core.h:366
void CPLDebug(const char *, const char *,...)
Definition: cpl_error.cpp:602
int CoordinateDimension() const
Get the dimension of the coordinates in this object.
Definition: ogrgeometry.cpp:878
virtual OGRLineString * CurveToLine(double dfMaxAngleStepSizeDegrees=0, const char *const *papszOptions=nullptr) const override
Return a linestring from a curve geometry.
Definition: ogrlinestring.cpp:2809
static OGRMultiPolygon * CastToMultiPolygon(OGRMultiSurface *poMS)
Cast to multipolygon.
Definition: ogrmultisurface.cpp:322
#define CPL_LSBPTR32(x)
Definition: cpl_port.h:834
@ wkbVariantIso
Definition: ogr_core.h:426
int OGR_GT_IsCurve(OGRwkbGeometryType)
Return if a geometry type is an instance of Curve.
Definition: ogrgeometry.cpp:6711
void addSubLineString(const OGRLineString *, int nStartVertex=0, int nEndVertex=-1)
Add a segment of another linestring to this one.
Definition: ogrlinestring.cpp:1428
void addPoint(const OGRPoint *)
Add a point to a line string.
Definition: ogrlinestring.cpp:793
virtual void assignSpatialReference(OGRSpatialReference *poSR)
Assign spatial reference to this object.
Definition: ogrgeometry.cpp:416
static OGRCurve * curveFromLineString(const OGRLineString *poLS, const char *const *papszOptions=nullptr)
Try to convert a linestring approximating curves into a curve.
Definition: ogrgeometryfactory.cpp:5700
virtual OGRwkbGeometryType getGeometryType() const override
Fetch geometry type.
Definition: ogrmultilinestring.cpp:99
@ wkbPolygon
Definition: ogr_core.h:324
@ wkbMultiCurveM
Definition: ogr_core.h:373
@ wkbMultiLineString25D
Definition: ogr_core.h:403
OGRSpatialReference * getSpatialReference(void) const
Returns spatial reference system for object.
Definition: ogr_geometry.h:435
OGRLineString * toLineString()
Definition: ogr_geometry.h:566
static OGRLinearRing * CastToLinearRing(OGRLineString *poLS)
Cast to linear ring.
Definition: ogrlinestring.cpp:2906
OGRSimpleCurve * toSimpleCurve()
Definition: ogr_geometry.h:552
#define VSI_CALLOC_VERBOSE(nCount, nSize)
Definition: cpl_vsi.h:283
virtual OGRBoolean IsEmpty() const override
Returns TRUE (non-zero) if the object has no points.
Definition: ogrgeometrycollection.cpp:1223
Definition: ogrsf_frmts.h:318
virtual int getDimension() const override
Get the dimension of this object.
Definition: ogrmulticurve.cpp:115
Definition: ogr_geometry.h:1036
OGRBoolean isPointInRing(const OGRPoint *pt, int bTestEnvelope=TRUE) const
Definition: ogrlinearring.cpp:592
virtual int isClockwise() const
Returns TRUE if the ring has clockwise winding (or less than 2 points)
Definition: ogrlinearring.cpp:445
void CPLError(CPLErr eErrClass, CPLErrorNum err_no, const char *fmt,...)
Definition: cpl_error.cpp:308
virtual const char * getGeometryName() const override
Fetch WKT name for geometry type.
Definition: ogrmulticurve.cpp:125
OGRBoolean getNextPoint(OGRPoint *p) override
Returns the next point followed by the iterator.
Definition: ogrlinestring.cpp:2707
virtual OGRErr exportToWkt(char **ppszDstText, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known text format.
Definition: ogrlinestring.cpp:1870
virtual OGRwkbGeometryType getGeometryType() const override
Fetch geometry type.
Definition: ogrmultisurface.cpp:99
void VSIFree(void *)
Definition: cpl_vsisimple.cpp:827
virtual OGRwkbGeometryType getGeometryType() const override
Fetch geometry type.
Definition: ogrmultipoint.cpp:102
#define CPLE_NotSupported
Definition: cpl_error.h:109
#define OGRERR_NOT_ENOUGH_DATA
Definition: ogr_core.h:293
struct GEOSGeom_t * GEOSGeom
Definition: ogr_geometry.h:79
#define OGRERR_CORRUPT_DATA
Definition: ogr_core.h:297
virtual OGRBoolean IsEmpty() const override
Returns TRUE (non-zero) if the object has no points.
Definition: ogr_geometry.h:848
virtual void setCoordinateDimension(int nDimension) override
Set the coordinate dimension.
Definition: ogrlinestring.cpp:173
void addPointM(double, double, double)
Add a point to a line string.
Definition: ogrlinestring.cpp:880
virtual void empty() override
Clear geometry information. This restores the geometry to its initial state after construction,...
Definition: ogrpoint.cpp:190
void setPointsM(int, const OGRRawPoint *, const double *)
Assign all points in a line string.
Definition: ogrlinestring.cpp:904
double getZ(int i) const
Get Z at vertex.
Definition: ogrlinestring.cpp:381
virtual int get_IsClosed() const
Return TRUE if curve is closed.
Definition: ogrcurve.cpp:95
#define CPL_MSBPTR32(x)
Definition: cpl_port.h:836
virtual OGRErr importFromWkt(const char **ppszInput)=0
Assign geometry from well known text data.
OGRLinearRing * toLinearRing()
Definition: ogr_geometry.h:580
int OGRErr
Definition: ogr_core.h:290
virtual void segmentize(double dfMaxLength) override
Modify the geometry such it has no segment longer then the given distance.
Definition: ogrlinestring.cpp:2535
static void freeGEOSContext(GEOSContextHandle_t hGEOSCtxt)
Definition: ogrgeometry.cpp:2918
OGRMultiSurface & operator=(const OGRMultiSurface &other)
Assignment operator.
Definition: ogrmultisurface.cpp:86
virtual OGRErr exportToWkt(char **, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known text format.
Definition: ogrmultilinestring.cpp:136
virtual int WkbSize() const override
Returns size of related binary representation.
Definition: ogrlinestring.cpp:208
#define VSI_MALLOC_VERBOSE(size)
Definition: cpl_vsi.h:268
virtual void EndPoint(OGRPoint *) const override
Return the curve end point.
Definition: ogrlinestring.cpp:1998
OGRwkbGeometryType
Definition: ogr_core.h:318
#define CPL_UNUSED
Definition: cpl_port.h:948
OGRMultiCurve & operator=(const OGRMultiCurve &other)
Assignment operator.
Definition: ogrmulticurve.cpp:85
void setY(double yIn)
Assign point Y coordinate.
Definition: ogr_geometry.h:870
virtual const char * getGeometryName() const override
Fetch WKT name for geometry type.
Definition: ogrmultipoint.cpp:129
virtual OGRErr importFromWkt(const char **ppszInput)=0
Assign geometry from well known text data.
OGRLinearRing & operator=(const OGRLinearRing &other)
Assignment operator.
Definition: ogrlinearring.cpp:115
double getZ() const
Fetch Z coordinate.
Definition: ogr_geometry.h:857
void setZ(double zIn)
Assign point Z coordinate. Calling this method will force the geometry coordinate dimension to 3D (wk...
Definition: ogr_geometry.h:874
virtual void flattenTo2D() override
Convert geometry to strictly 2D. In a sense this converts all Z coordinates to 0.0.
Definition: ogrlinestring.cpp:130
OGRBoolean IsMeasured() const
Definition: ogr_geometry.h:365
virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear=FALSE) const override
Returns if this geometry is or has curve geometry.
Definition: ogrmulticurve.cpp:186
void setM(int, double)
Set the M of a vertex in line string.
Definition: ogrlinestring.cpp:762
Definition: ogr_geometry.h:927
virtual OGRErr transform(OGRCoordinateTransformation *poCT) override
Apply arbitrary coordinate transformation to geometry.
Definition: ogrlinestring.cpp:2414
virtual double get_Length() const override
Returns the length of the curve.
Definition: ogrlinestring.cpp:1968
double getY() const
Fetch Y coordinate.
Definition: ogr_geometry.h:855
virtual int WkbSize() const override
Returns size of related binary representation.
Definition: ogrlinearring.cpp:140
virtual OGRErr PointOnSurface(OGRPoint *poPoint) const
This method relates to the SFCOM IMultiSurface::get_PointOnSurface() method.
Definition: ogrmultisurface.cpp:298
struct GEOSContextHandle_HS * GEOSContextHandle_t
Definition: ogr_geometry.h:81
CPLErr
Definition: cpl_error.h:53
@ wkbMultiCurveZ
Definition: ogr_core.h:355
virtual const char * getGeometryName() const override
Fetch WKT name for geometry type.
Definition: ogrmultipolygon.cpp:113
void setPoints(int, const OGRRawPoint *, const double *=nullptr)
Assign all points in a line string.
Definition: ogrlinestring.cpp:1018
@ wkbMultiCurve
Definition: ogr_core.h:339
@ wkbMultiPolygonM
Definition: ogr_core.h:368
@ wkbLineString25D
Definition: ogr_core.h:400
Definition: ogr_geometry.h:1315
#define OGRERR_NONE
Definition: ogr_core.h:292
char * CPLStrdup(const char *)
Definition: cpl_conv.cpp:293
virtual void Value(double, OGRPoint *) const override
Fetch point at given distance along curve.
Definition: ogrlinestring.cpp:2010
@ wkbMultiSurfaceZ
Definition: ogr_core.h:356
#define CPLE_IllegalArg
Definition: cpl_error.h:107
double y
Definition: ogr_geometry.h:75
@ wkbLineString
Definition: ogr_core.h:322
virtual OGRBoolean isCompatibleSubType(OGRwkbGeometryType) const override
Definition: ogrmultipolygon.cpp:124
Definition: ogr_geometry.h:1914
@ wkbMultiLineString
Definition: ogr_core.h:328
virtual int getDimension() const override
Get the dimension of this object.
Definition: ogrmultisurface.cpp:116
double getM() const
Definition: ogr_geometry.h:859
static OGRMultiCurve * CastToMultiCurve(OGRMultiLineString *poMLS)
Cast to multicurve.
Definition: ogrmultilinestring.cpp:166
virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear=FALSE) const override
Returns if this geometry is or has curve geometry.
Definition: ogrmultipolygon.cpp:145
virtual void swapXY() override
Swap x and y coordinates.
Definition: ogrlinestring.cpp:2677
virtual const char * getGeometryName() const override
Fetch WKT name for geometry type.
Definition: ogrmultisurface.cpp:126
virtual OGRGeometry * clone() const override
Make a copy of this object.
Definition: ogrlinestring.cpp:141
virtual OGRBoolean isCompatibleSubType(OGRwkbGeometryType) const override
Definition: ogrmultilinestring.cpp:127
@ wkbMultiLineStringM
Definition: ogr_core.h:367
OGRLineString & operator=(const OGRLineString &other)
Assignment operator.
Definition: ogrlinestring.cpp:2769
#define CPLFree
Definition: cpl_conv.h:81
@ wkbUnknown
Definition: ogr_core.h:319
void reversePoints(void)
Reverse point order.
Definition: ogrlinestring.cpp:1392
#define CPL_DISALLOW_COPY_ASSIGN(ClassName)
Definition: cpl_port.h:997
virtual void set3D(OGRBoolean bIs3D) override
Add or remove the Z coordinate dimension.
Definition: ogrlinestring.cpp:183
static OGRLineString * CastToLineString(OGRLinearRing *poLR)
Cast to line string.
Definition: ogrlinearring.cpp:790
OGRwkbVariant
Definition: ogr_core.h:424
@ wkbMultiPoint
Definition: ogr_core.h:327
double getX() const
Fetch X coordinate.
Definition: ogr_geometry.h:853
const char * CPLGetConfigOption(const char *, const char *)
Definition: cpl_conv.cpp:1692
OGRwkbGeometryType getIsoGeometryType() const
Get the geometry type that conforms with ISO SQL/MM Part3.
Definition: ogrgeometry.cpp:756
OGRSimpleCurve()
Definition: ogrlinestring.cpp:59
static GEOSContextHandle_t createGEOSContext()
Definition: ogrgeometry.cpp:2900
static OGRErr createFromWkt(const char *, OGRSpatialReference *, OGRGeometry **)
Create a geometry object of the appropriate type from its well known text representation.
Definition: ogrgeometryfactory.cpp:464
#define STARTS_WITH_CI(a, b)
Definition: cpl_port.h:580
#define CPLE_AppDefined
Definition: cpl_error.h:99
unsigned int GUInt32
Definition: cpl_port.h:207
Generated for GDAL by
1.8.20.