OGR
ogrsf_frmts.h
Go to the documentation of this file.
1 /******************************************************************************
2  * $Id: ogrsf_frmts.h 857bdf514fa1373c19fe6eb91dff4f90a07f2020 2018-04-10 11:06:29 +0200 Even Rouault $
3  *
4  * Project: OpenGIS Simple Features Reference Implementation
5  * Purpose: Classes related to format registration, and file opening.
6  * Author: Frank Warmerdam, warmerda@home.com
7  *
8  ******************************************************************************
9  * Copyright (c) 1999, Les Technologies SoftMap Inc.
10  * Copyright (c) 2007-2014, Even Rouault <even dot rouault at mines-paris dot org>
11  *
12  * Permission is hereby granted, free of charge, to any person obtaining a
13  * copy of this software and associated documentation files (the "Software"),
14  * to deal in the Software without restriction, including without limitation
15  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
16  * and/or sell copies of the Software, and to permit persons to whom the
17  * Software is furnished to do so, subject to the following conditions:
18  *
19  * The above copyright notice and this permission notice shall be included
20  * in all copies or substantial portions of the Software.
21  *
22  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
23  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
25  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
28  * DEALINGS IN THE SOFTWARE.
29  ****************************************************************************/
30 
31 #ifndef OGRSF_FRMTS_H_INCLUDED
32 #define OGRSF_FRMTS_H_INCLUDED
33 
34 #include "cpl_progress.h"
35 #include "ogr_feature.h"
36 #include "ogr_featurestyle.h"
37 #include "gdal_priv.h"
38 
39 #include <memory>
40 
47 #if !defined(GDAL_COMPILATION) && !defined(SUPPRESS_DEPRECATION_WARNINGS)
49 #define OGR_DEPRECATED(x) CPL_WARN_DEPRECATED(x)
50 #else
51 #define OGR_DEPRECATED(x)
52 #endif
53 
55 class OGRLayerAttrIndex;
56 class OGRSFDriver;
57 
58 /************************************************************************/
59 /* OGRLayer */
60 /************************************************************************/
61 
67 /* Note: any virtual method added to this class must also be added in the */
68 /* OGRLayerDecorator and OGRMutexedLayer classes. */
69 
70 class CPL_DLL OGRLayer : public GDALMajorObject
71 {
72  private:
73  struct Private;
74  std::unique_ptr<Private> m_poPrivate;
75 
76  void ConvertGeomsIfNecessary( OGRFeature *poFeature );
77 
78  class CPL_DLL FeatureIterator
79  {
80  struct Private;
81  std::unique_ptr<Private> m_poPrivate;
82  public:
83  FeatureIterator(OGRLayer* poLayer, bool bStart);
84  FeatureIterator(FeatureIterator&& oOther); // declared but not defined. Needed for gcc 5.4 at least
85  ~FeatureIterator();
86  OGRFeatureUniquePtr& operator*();
87  FeatureIterator& operator++();
88  bool operator!=(const FeatureIterator& it) const;
89  };
90 
91  friend inline FeatureIterator begin(OGRLayer* poLayer);
92  friend inline FeatureIterator end(OGRLayer* poLayer);
93 
94  protected:
96  int m_bFilterIsEnvelope;
97  OGRGeometry *m_poFilterGeom;
98  OGRPreparedGeometry *m_pPreparedFilterGeom; /* m_poFilterGeom compiled as a prepared geometry */
99  OGREnvelope m_sFilterEnvelope;
100  int m_iGeomFieldFilter; // specify the index on which the spatial
101  // filter is active.
102 
103  int FilterGeometry( OGRGeometry * );
104  //int FilterGeometry( OGRGeometry *, OGREnvelope* psGeometryEnvelope);
105  int InstallFilter( OGRGeometry * );
106 
107  OGRErr GetExtentInternal(int iGeomField, OGREnvelope *psExtent, int bForce );
109 
110  virtual OGRErr ISetFeature( OGRFeature *poFeature ) CPL_WARN_UNUSED_RESULT;
111  virtual OGRErr ICreateFeature( OGRFeature *poFeature ) CPL_WARN_UNUSED_RESULT;
112 
113  public:
114  OGRLayer();
115  virtual ~OGRLayer();
116 
127  FeatureIterator begin();
128 
130  FeatureIterator end();
131 
132  virtual OGRGeometry *GetSpatialFilter();
133  virtual void SetSpatialFilter( OGRGeometry * );
134  virtual void SetSpatialFilterRect( double dfMinX, double dfMinY,
135  double dfMaxX, double dfMaxY );
136 
137  virtual void SetSpatialFilter( int iGeomField, OGRGeometry * );
138  virtual void SetSpatialFilterRect( int iGeomField,
139  double dfMinX, double dfMinY,
140  double dfMaxX, double dfMaxY );
141 
142  virtual OGRErr SetAttributeFilter( const char * );
143 
144  virtual void ResetReading() = 0;
145  virtual OGRFeature *GetNextFeature() CPL_WARN_UNUSED_RESULT = 0;
146  virtual OGRErr SetNextByIndex( GIntBig nIndex );
147  virtual OGRFeature *GetFeature( GIntBig nFID ) CPL_WARN_UNUSED_RESULT;
148 
149  OGRErr SetFeature( OGRFeature *poFeature ) CPL_WARN_UNUSED_RESULT;
150  OGRErr CreateFeature( OGRFeature *poFeature ) CPL_WARN_UNUSED_RESULT;
151 
152  virtual OGRErr DeleteFeature( GIntBig nFID ) CPL_WARN_UNUSED_RESULT;
153 
154  virtual const char *GetName();
155  virtual OGRwkbGeometryType GetGeomType();
156  virtual OGRFeatureDefn *GetLayerDefn() = 0;
157  virtual int FindFieldIndex( const char *pszFieldName, int bExactMatch );
158 
159  virtual OGRSpatialReference *GetSpatialRef();
160 
161  virtual GIntBig GetFeatureCount( int bForce = TRUE );
162  virtual OGRErr GetExtent(OGREnvelope *psExtent, int bForce = TRUE) CPL_WARN_UNUSED_RESULT;
163  virtual OGRErr GetExtent(int iGeomField, OGREnvelope *psExtent,
164  int bForce = TRUE) CPL_WARN_UNUSED_RESULT;
165 
166  virtual int TestCapability( const char * ) = 0;
167 
168  virtual OGRErr CreateField( OGRFieldDefn *poField,
169  int bApproxOK = TRUE );
170  virtual OGRErr DeleteField( int iField );
171  virtual OGRErr ReorderFields( int* panMap );
172  virtual OGRErr AlterFieldDefn( int iField, OGRFieldDefn* poNewFieldDefn, int nFlagsIn );
173 
174  virtual OGRErr CreateGeomField( OGRGeomFieldDefn *poField,
175  int bApproxOK = TRUE );
176 
177  virtual OGRErr SyncToDisk();
178 
179  virtual OGRStyleTable *GetStyleTable();
180  virtual void SetStyleTableDirectly( OGRStyleTable *poStyleTable );
181 
182  virtual void SetStyleTable(OGRStyleTable *poStyleTable);
183 
184  virtual OGRErr StartTransaction() CPL_WARN_UNUSED_RESULT;
185  virtual OGRErr CommitTransaction() CPL_WARN_UNUSED_RESULT;
186  virtual OGRErr RollbackTransaction();
187 
188  virtual const char *GetFIDColumn();
189  virtual const char *GetGeometryColumn();
190 
191  virtual OGRErr SetIgnoredFields( const char **papszFields );
192 
193  OGRErr Intersection( OGRLayer *pLayerMethod,
194  OGRLayer *pLayerResult,
195  char** papszOptions = nullptr,
196  GDALProgressFunc pfnProgress = nullptr,
197  void * pProgressArg = nullptr );
198  OGRErr Union( OGRLayer *pLayerMethod,
199  OGRLayer *pLayerResult,
200  char** papszOptions = nullptr,
201  GDALProgressFunc pfnProgress = nullptr,
202  void * pProgressArg = nullptr );
203  OGRErr SymDifference( OGRLayer *pLayerMethod,
204  OGRLayer *pLayerResult,
205  char** papszOptions,
206  GDALProgressFunc pfnProgress,
207  void * pProgressArg );
208  OGRErr Identity( OGRLayer *pLayerMethod,
209  OGRLayer *pLayerResult,
210  char** papszOptions = nullptr,
211  GDALProgressFunc pfnProgress = nullptr,
212  void * pProgressArg = nullptr );
213  OGRErr Update( OGRLayer *pLayerMethod,
214  OGRLayer *pLayerResult,
215  char** papszOptions = nullptr,
216  GDALProgressFunc pfnProgress = nullptr,
217  void * pProgressArg = nullptr );
218  OGRErr Clip( OGRLayer *pLayerMethod,
219  OGRLayer *pLayerResult,
220  char** papszOptions = nullptr,
221  GDALProgressFunc pfnProgress = nullptr,
222  void * pProgressArg = nullptr );
223  OGRErr Erase( OGRLayer *pLayerMethod,
224  OGRLayer *pLayerResult,
225  char** papszOptions = nullptr,
226  GDALProgressFunc pfnProgress = nullptr,
227  void * pProgressArg = nullptr );
228 
229  int Reference();
230  int Dereference();
231  int GetRefCount() const;
233  GIntBig GetFeaturesRead();
235 
236  /* non virtual : convenience wrapper for ReorderFields() */
237  OGRErr ReorderField( int iOldFieldPos, int iNewFieldPos );
238 
240  int AttributeFilterEvaluationNeedsGeometry();
241 
242  /* consider these private */
243  OGRErr InitializeIndexSupport( const char * );
244  OGRLayerAttrIndex *GetIndex() { return m_poAttrIndex; }
245  int GetGeomFieldFilter() const { return m_iGeomFieldFilter; }
246  const char *GetAttrQueryString() const { return m_pszAttrQueryString; }
248 
252  static inline OGRLayerH ToHandle(OGRLayer* poLayer)
253  { return reinterpret_cast<OGRLayerH>(poLayer); }
254 
258  static inline OGRLayer* FromHandle(OGRLayerH hLayer)
259  { return reinterpret_cast<OGRLayer*>(hLayer); }
260 
261  protected:
263  OGRStyleTable *m_poStyleTable;
264  OGRFeatureQuery *m_poAttrQuery;
265  char *m_pszAttrQueryString;
266  OGRLayerAttrIndex *m_poAttrIndex;
267 
268  int m_nRefCount;
269 
270  GIntBig m_nFeaturesRead;
272 };
273 
285 inline OGRLayer::FeatureIterator begin(OGRLayer* poLayer) { return poLayer->begin(); }
286 
290 inline OGRLayer::FeatureIterator end(OGRLayer* poLayer) { return poLayer->end(); }
291 
292 /************************************************************************/
293 /* OGRDataSource */
294 /************************************************************************/
295 
315 class CPL_DLL OGRDataSource : public GDALDataset
316 {
317 public:
318  OGRDataSource();
320  virtual const char *GetName() OGR_DEPRECATED("Use GDALDataset class instead") = 0;
321 
322  static void DestroyDataSource( OGRDataSource * ) OGR_DEPRECATED("Use GDALDataset class instead");
324 };
325 
326 /************************************************************************/
327 /* OGRSFDriver */
328 /************************************************************************/
329 
348 class CPL_DLL OGRSFDriver : public GDALDriver
349 {
350  public:
352  virtual ~OGRSFDriver();
353 
354  virtual const char *GetName() OGR_DEPRECATED("Use GDALDriver class instead") = 0;
355 
356  virtual OGRDataSource *Open( const char *pszName, int bUpdate=FALSE ) OGR_DEPRECATED("Use GDALDriver class instead") = 0;
357 
358  virtual int TestCapability( const char *pszCap ) OGR_DEPRECATED("Use GDALDriver class instead") = 0;
359 
360  virtual OGRDataSource *CreateDataSource( const char *pszName,
361  char ** = nullptr ) OGR_DEPRECATED("Use GDALDriver class instead");
362  virtual OGRErr DeleteDataSource( const char *pszName ) OGR_DEPRECATED("Use GDALDriver class instead");
364 };
365 
366 /************************************************************************/
367 /* OGRSFDriverRegistrar */
368 /************************************************************************/
369 
383 class CPL_DLL OGRSFDriverRegistrar
384 {
385 
388 
389  static GDALDataset* OpenWithDriverArg(GDALDriver* poDriver,
390  GDALOpenInfo* poOpenInfo);
391  static GDALDataset* CreateVectorOnly( GDALDriver* poDriver,
392  const char * pszName,
393  char ** papszOptions );
394  static CPLErr DeleteDataSource( GDALDriver* poDriver,
395  const char * pszName );
396 
397  public:
399  static OGRSFDriverRegistrar *GetRegistrar() OGR_DEPRECATED("Use GDALDriverManager class instead");
400 
401  // cppcheck-suppress functionStatic
402  void RegisterDriver( OGRSFDriver * poDriver ) OGR_DEPRECATED("Use GDALDriverManager class instead");
403 
404  // cppcheck-suppress functionStatic
405  int GetDriverCount( void ) OGR_DEPRECATED("Use GDALDriverManager class instead");
406  // cppcheck-suppress functionStatic
407  GDALDriver *GetDriver( int iDriver ) OGR_DEPRECATED("Use GDALDriverManager class instead");
408  // cppcheck-suppress functionStatic
409  GDALDriver *GetDriverByName( const char * ) OGR_DEPRECATED("Use GDALDriverManager class instead");
410 
411  // cppcheck-suppress functionStatic
412  int GetOpenDSCount() OGR_DEPRECATED("Use GDALDriverManager class instead");
413  // cppcheck-suppress functionStatic
414  OGRDataSource *GetOpenDS( int ) OGR_DEPRECATED("Use GDALDriverManager class instead");
416 };
417 
418 /* -------------------------------------------------------------------- */
419 /* Various available registration methods. */
420 /* -------------------------------------------------------------------- */
422 
424 void OGRRegisterAllInternal();
425 
426 void CPL_DLL RegisterOGRFileGDB();
427 void CPL_DLL RegisterOGRShape();
428 void CPL_DLL RegisterOGRDB2();
429 void CPL_DLL RegisterOGRNTF();
430 void CPL_DLL RegisterOGRFME();
431 void CPL_DLL RegisterOGRSDTS();
432 void CPL_DLL RegisterOGRTiger();
433 void CPL_DLL RegisterOGRS57();
434 void CPL_DLL RegisterOGRTAB();
435 void CPL_DLL RegisterOGRMIF();
436 void CPL_DLL RegisterOGROGDI();
437 void CPL_DLL RegisterOGRODBC();
438 void CPL_DLL RegisterOGRWAsP();
439 void CPL_DLL RegisterOGRPG();
440 void CPL_DLL RegisterOGRMSSQLSpatial();
441 void CPL_DLL RegisterOGRMySQL();
442 void CPL_DLL RegisterOGROCI();
443 void CPL_DLL RegisterOGRDGN();
444 void CPL_DLL RegisterOGRGML();
445 void CPL_DLL RegisterOGRLIBKML();
446 void CPL_DLL RegisterOGRKML();
447 void CPL_DLL RegisterOGRGeoJSON();
448 void CPL_DLL RegisterOGRESRIJSON();
449 void CPL_DLL RegisterOGRTopoJSON();
450 void CPL_DLL RegisterOGRAVCBin();
451 void CPL_DLL RegisterOGRAVCE00();
452 void CPL_DLL RegisterOGRREC();
453 void CPL_DLL RegisterOGRMEM();
454 void CPL_DLL RegisterOGRVRT();
455 void CPL_DLL RegisterOGRDODS();
456 void CPL_DLL RegisterOGRSQLite();
457 void CPL_DLL RegisterOGRCSV();
458 void CPL_DLL RegisterOGRILI1();
459 void CPL_DLL RegisterOGRILI2();
460 void CPL_DLL RegisterOGRGRASS();
461 void CPL_DLL RegisterOGRPGeo();
462 void CPL_DLL RegisterOGRDXF();
463 void CPL_DLL RegisterOGRCAD();
464 void CPL_DLL RegisterOGRDWG();
465 void CPL_DLL RegisterOGRDGNV8();
466 void CPL_DLL RegisterOGRSDE();
467 void CPL_DLL RegisterOGRIDB();
468 void CPL_DLL RegisterOGRGMT();
469 void CPL_DLL RegisterOGRBNA();
470 void CPL_DLL RegisterOGRGPX();
471 void CPL_DLL RegisterOGRGeoconcept();
472 void CPL_DLL RegisterOGRIngres();
473 void CPL_DLL RegisterOGRXPlane();
474 void CPL_DLL RegisterOGRNAS();
475 void CPL_DLL RegisterOGRGeoRSS();
476 void CPL_DLL RegisterOGRGTM();
477 void CPL_DLL RegisterOGRVFK();
478 void CPL_DLL RegisterOGRPGDump();
479 void CPL_DLL RegisterOGROSM();
480 void CPL_DLL RegisterOGRGPSBabel();
481 void CPL_DLL RegisterOGRSUA();
482 void CPL_DLL RegisterOGROpenAir();
483 void CPL_DLL RegisterOGRPDS();
484 void CPL_DLL RegisterOGRWFS();
485 void CPL_DLL RegisterOGRWFS3();
486 void CPL_DLL RegisterOGRSOSI();
487 void CPL_DLL RegisterOGRHTF();
488 void CPL_DLL RegisterOGRAeronavFAA();
489 void CPL_DLL RegisterOGRGeomedia();
490 void CPL_DLL RegisterOGRMDB();
491 void CPL_DLL RegisterOGREDIGEO();
492 void CPL_DLL RegisterOGRGFT();
493 void CPL_DLL RegisterOGRSVG();
494 void CPL_DLL RegisterOGRCouchDB();
495 void CPL_DLL RegisterOGRCloudant();
496 void CPL_DLL RegisterOGRIdrisi();
497 void CPL_DLL RegisterOGRARCGEN();
498 void CPL_DLL RegisterOGRSEGUKOOA();
499 void CPL_DLL RegisterOGRSEGY();
500 void CPL_DLL RegisterOGRXLS();
501 void CPL_DLL RegisterOGRODS();
502 void CPL_DLL RegisterOGRXLSX();
503 void CPL_DLL RegisterOGRElastic();
504 void CPL_DLL RegisterOGRGeoPackage();
505 void CPL_DLL RegisterOGRWalk();
506 void CPL_DLL RegisterOGRCarto();
507 void CPL_DLL RegisterOGRAmigoCloud();
508 void CPL_DLL RegisterOGRSXF();
509 void CPL_DLL RegisterOGROpenFileGDB();
510 void CPL_DLL RegisterOGRSelafin();
511 void CPL_DLL RegisterOGRJML();
512 void CPL_DLL RegisterOGRPLSCENES();
513 void CPL_DLL RegisterOGRCSW();
514 void CPL_DLL RegisterOGRMongoDB();
515 void CPL_DLL RegisterOGRVDV();
516 void CPL_DLL RegisterOGRGMLAS();
517 void CPL_DLL RegisterOGRMVT();
518 // @endcond
519 
520 CPL_C_END
521 
522 #endif /* ndef OGRSF_FRMTS_H_INCLUDED */
OGRPolygon::getInteriorRing
virtual OGRLinearRing * getInteriorRing(int)
Fetch reference to indicated internal ring.
Definition: ogrpolygon.cpp:217
OGRSimpleCurve::setMeasured
virtual void setMeasured(OGRBoolean bIsMeasured) override
Add or remove the M coordinate dimension.
Definition: ogrlinestring.cpp:191
OGRGeometry::Is3D
OGRBoolean Is3D() const
Definition: ogr_geometry.h:362
OGRGeometry::IsEmpty
virtual OGRBoolean IsEmpty() const =0
Returns TRUE (non-zero) if the object has no points.
OGRGeometry::setCoordinateDimension
virtual void setCoordinateDimension(int nDimension)
Set the coordinate dimension.
Definition: ogrgeometry.cpp:1007
OGRCurvePolygon::addRingDirectly
virtual OGRErr addRingDirectly(OGRCurve *)
Add a ring to a polygon.
Definition: ogrcurvepolygon.cpp:422
OGRPolygon::getCurveGeometry
virtual OGRGeometry * getCurveGeometry(const char *const *papszOptions=nullptr) const override
Return curve version of this geometry.
Definition: ogrpolygon.cpp:853
ogr_spatialref.h
wkbPointZM
@ wkbPointZM
Definition: ogr_core.h:381
CPL_SWAP32
#define CPL_SWAP32(x)
Definition: cpl_port.h:709
OGRPolyhedralSurface::getNumGeometries
int getNumGeometries() const
Fetch number of geometries in PolyhedralSurface.
Definition: ogrpolyhedralsurface.cpp:914
OGRPolygon::stealExteriorRing
OGRLinearRing * stealExteriorRing()
"Steal" reference to external polygon ring.
Definition: ogrpolygon.cpp:192
OGRMultiPolygon
Definition: ogr_geometry.h:2307
OGRPolyhedralSurface::CastToMultiPolygon
static OGRMultiPolygon * CastToMultiPolygon(OGRPolyhedralSurface *poPS)
Casts the OGRPolyhedralSurface to an OGRMultiPolygon.
Definition: ogrpolyhedralsurface.cpp:825
OGRPolyhedralSurface::addGeometryDirectly
OGRErr addGeometryDirectly(OGRGeometry *poNewGeom)
Add a geometry directly to the container.
Definition: ogrpolyhedralsurface.cpp:882
OGRPolyhedralSurface::importFromWkb
virtual OGRErr importFromWkb(const unsigned char *, int, OGRwkbVariant, int &nBytesConsumedOut) override
Assign geometry from well known binary data.
Definition: ogrpolyhedralsurface.cpp:218
OGRERR_UNSUPPORTED_GEOMETRY_TYPE
#define OGRERR_UNSUPPORTED_GEOMETRY_TYPE
Definition: ogr_core.h:295
cpl_error.h
OGRSimpleCurve::getNumPoints
virtual int getNumPoints() const override
Fetch vertex count.
Definition: ogr_geometry.h:1158
OGRGeometry::getGeometryType
virtual OGRwkbGeometryType getGeometryType() const =0
Fetch geometry type.
OGRCoordinateTransformation::Transform
virtual int Transform(int nCount, double *x, double *y, double *z=nullptr)=0
OGRPolyhedralSurface::getGeometryType
virtual OGRwkbGeometryType getGeometryType() const override
Returns the WKB Type of PolyhedralSurface.
Definition: ogrpolyhedralsurface.cpp:116
wkbPoint
@ wkbPoint
Definition: ogr_core.h:321
begin
OGRLayer::FeatureIterator begin(OGRLayer *poLayer)
Definition: ogrsf_frmts.h:285
OGRCurvePolygon::IsEmpty
virtual OGRBoolean IsEmpty() const override
Returns TRUE (non-zero) if the object has no points.
Definition: ogrcurvepolygon.cpp:720
OGRPolyhedralSurface::WkbSize
virtual int WkbSize() const override
Returns size of related binary representation.
Definition: ogrpolyhedralsurface.cpp:132
CPLString::Printf
CPLSTRING_DLL CPLString & Printf(const char *pszFormat,...)
Definition: cplstring.cpp:67
CPL_SWAPDOUBLE
#define CPL_SWAPDOUBLE(p)
Definition: cpl_port.h:797
VSI_REALLOC_VERBOSE
#define VSI_REALLOC_VERBOSE(pOldPtr, nNewSize)
Definition: cpl_vsi.h:285
OGRStyleTable
Definition: ogr_featurestyle.h:84
OGRGeometry::set3D
virtual void set3D(OGRBoolean bIs3D)
Add or remove the Z coordinate dimension.
Definition: ogrgeometry.cpp:1030
OGRPolyhedralSurface::transform
virtual OGRErr transform(OGRCoordinateTransformation *) override
Apply arbitrary coordinate transformation to geometry.
Definition: ogrpolyhedralsurface.cpp:633
OGRLayer::begin
friend FeatureIterator begin(OGRLayer *poLayer)
Definition: ogrsf_frmts.h:285
CPLCalloc
void * CPLCalloc(size_t, size_t)
Definition: cpl_conv.cpp:138
OGRPolygon::importFromWkb
virtual OGRErr importFromWkb(const unsigned char *, int, OGRwkbVariant, int &nBytesConsumedOut) override
Assign geometry from well known binary data.
Definition: ogrpolygon.cpp:320
OGRRegisterAll
void OGRRegisterAll(void)
Register all drivers.
Definition: ogrregisterall.cpp:38
OGRPolyhedralSurface::setCoordinateDimension
virtual void setCoordinateDimension(int nDimension) override
Set the coordinate dimension.
Definition: ogrpolyhedralsurface.cpp:1022
wkbNDR
@ wkbNDR
Definition: ogr_core.h:492
cpl_vsi.h
OGRCoordinateTransformation::GetTargetCS
virtual OGRSpatialReference * GetTargetCS()=0
OGRSpatialReference
Definition: ogr_spatialref.h:145
OGRPolyhedralSurface::getGeometryName
virtual const char * getGeometryName() const override
Fetch WKT name for geometry type.
Definition: ogrpolyhedralsurface.cpp:102
OGRPolygon::importFromWkt
OGRErr importFromWkt(const char **) override
Definition: ogrpolygon.cpp:447
OGRPolyhedralSurface
Definition: ogr_geometry.h:2392
wkbPolygon25D
@ wkbPolygon25D
Definition: ogr_core.h:401
OGRLayer::Private
Definition: ogrlayer.cpp:39
wkbPolygonZM
@ wkbPolygonZM
Definition: ogr_core.h:383
wkbVariantPostGIS1
@ wkbVariantPostGIS1
Definition: ogr_core.h:427
OGRCurvePolygon::Intersects
virtual OGRBoolean Intersects(const OGRGeometry *) const override
Do these features intersect?
Definition: ogrcurvepolygon.cpp:802
wkbPolygonM
@ wkbPolygonM
Definition: ogr_core.h:365
OGRGeometry
Definition: ogr_geometry.h:286
OGRPolyhedralSurface::swapXY
virtual void swapXY() override
Swap x and y coordinates.
Definition: ogrpolyhedralsurface.cpp:1037
OGRGeometry::getGeometryName
virtual const char * getGeometryName() const =0
Fetch WKT name for geometry type.
OGRPolyhedralSurface::getEnvelope
virtual void getEnvelope(OGREnvelope *psEnvelope) const override
Computes and returns the bounding envelope for this geometry in the passed psEnvelope structure.
Definition: ogrpolyhedralsurface.cpp:200
OGRPolygon::getGeometryName
virtual const char * getGeometryName() const override
Fetch WKT name for geometry type.
Definition: ogrpolygon.cpp:123
OGRLayer
Definition: ogrsf_frmts.h:70
OGRPolyhedralSurface::clone
virtual OGRGeometry * clone() const override
Make a copy of this object.
Definition: ogrpolyhedralsurface.cpp:173
CPLString
Convenient string class based on std::string.
Definition: cpl_string.h:336
OGRPoint
Definition: ogr_geometry.h:809
OGRPoint::WkbSize
int WkbSize() const override
Returns size of related binary representation.
Definition: ogrpoint.cpp:279
ogr_geometry.h
OGRPolygon::exportToWkb
virtual OGRErr exportToWkb(OGRwkbByteOrder, unsigned char *, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known binary format.
Definition: ogrpolygon.cpp:374
OGRGeometry::getLinearGeometry
virtual OGRGeometry * getLinearGeometry(double dfMaxAngleStepSizeDegrees=0, const char *const *papszOptions=nullptr) const CPL_WARN_UNUSED_RESULT
Return, possibly approximate, non-curve version of this geometry.
Definition: ogrgeometry.cpp:3118
wkbPolyhedralSurfaceZM
@ wkbPolyhedralSurfaceZM
Definition: ogr_core.h:395
OGRGeometry::operator=
OGRGeometry & operator=(const OGRGeometry &other)
Assignment operator.
Definition: ogrgeometry.cpp:142
CPLRealloc
void * CPLRealloc(void *, size_t)
Definition: cpl_conv.cpp:225
wkbPoint25D
@ wkbPoint25D
Definition: ogr_core.h:399
OGRPolygon::operator=
OGRPolygon & operator=(const OGRPolygon &other)
Assignment operator.
Definition: ogrpolygon.cpp:93
OGRFeatureUniquePtr
std::unique_ptr< OGRFeature, OGRFeatureUniquePtrDeleter > OGRFeatureUniquePtr
Definition: ogr_feature.h:779
EQUAL
#define EQUAL(a, b)
Definition: cpl_port.h:559
OGRBoolean
int OGRBoolean
Definition: ogr_core.h:306
OGRSFDriverRegistrar
Definition: ogrsf_frmts.h:383
OGRPoint::flattenTo2D
virtual void flattenTo2D() override
Convert geometry to strictly 2D. In a sense this converts all Z coordinates to 0.0.
Definition: ogrpoint.cpp:248
OGRPoint::clone
virtual OGRGeometry * clone() const override
Make a copy of this object.
Definition: ogrpoint.cpp:181
OGRPolygon::closeRings
virtual void closeRings() override
Force rings to be closed.
Definition: ogrpolygon.cpp:809
OGRRawPoint::x
double x
Definition: ogr_geometry.h:73
wkbFlatten
#define wkbFlatten(x)
Definition: ogr_core.h:440
CPLAssert
#define CPLAssert(expr)
Definition: cpl_error.h:182
OGRRawPoint
Definition: ogr_geometry.h:63
CPL_C_START
#define CPL_C_START
Definition: cpl_port.h:335
OGRPoint::getEnvelope
virtual void getEnvelope(OGREnvelope *psEnvelope) const override
Computes and returns the bounding envelope for this geometry in the passed psEnvelope structure.
Definition: ogrpoint.cpp:630
OGRGeometry::clone
virtual OGRGeometry * clone() const CPL_WARN_UNUSED_RESULT=0
Make a copy of this object.
OGRPolygon::stealInteriorRing
virtual OGRLinearRing * stealInteriorRing(int)
"Steal" reference to indicated interior ring.
Definition: ogrpolygon.cpp:265
OGRPolyhedralSurface::flattenTo2D
virtual void flattenTo2D() override
Convert geometry to strictly 2D. In a sense this converts all Z coordinates to 0.0.
Definition: ogrpolyhedralsurface.cpp:621
OGRGeometryCollection::assignSpatialReference
virtual void assignSpatialReference(OGRSpatialReference *poSR) override
Assign spatial reference to this object.
Definition: ogrgeometrycollection.cpp:1244
OGRPolyhedralSurface::addGeometry
virtual OGRErr addGeometry(const OGRGeometry *)
Add a new geometry to a collection.
Definition: ogrpolyhedralsurface.cpp:846
OGRSurface
Definition: ogr_geometry.h:1724
OGRwkbByteOrder
OGRwkbByteOrder
Definition: ogr_core.h:489
OGRPolygon::getExteriorRing
OGRLinearRing * getExteriorRing()
Fetch reference to external polygon ring.
Definition: ogrpolygon.cpp:147
OGRCurvePolygon::OGRCurvePolygon
OGRCurvePolygon()
Create an empty curve polygon.
Definition: ogrcurvepolygon.cpp:52
OGRGeometryFactory::createGeometry
static OGRGeometry * createGeometry(OGRwkbGeometryType)
Create an empty geometry of desired type.
Definition: ogrgeometryfactory.cpp:527
OGRLayer::end
friend FeatureIterator end(OGRLayer *poLayer)
Definition: ogrsf_frmts.h:290
wkbCurvePolygon
@ wkbCurvePolygon
Definition: ogr_core.h:336
OGRGeometry::Intersects
virtual OGRBoolean Intersects(const OGRGeometry *) const
Do these features intersect?
Definition: ogrgeometry.cpp:491
OGRPolygon::CurvePolyToPoly
virtual OGRPolygon * CurvePolyToPoly(double dfMaxAngleStepSizeDegrees=0, const char *const *papszOptions=nullptr) const override
Return a polygon from a curve polygon.
Definition: ogrpolygon.cpp:820
OGRLayer::ToHandle
static OGRLayerH ToHandle(OGRLayer *poLayer)
Definition: ogrsf_frmts.h:252
OGRGeometry::toPoint
OGRPoint * toPoint()
Definition: ogr_geometry.h:523
OGRCurvePolygon::set3D
virtual void set3D(OGRBoolean bIs3D) override
Add or remove the Z coordinate dimension.
Definition: ogrcurvepolygon.cpp:697
OGRERR_FAILURE
#define OGRERR_FAILURE
Definition: ogr_core.h:298
OGRERR_NOT_ENOUGH_MEMORY
#define OGRERR_NOT_ENOUGH_MEMORY
Definition: ogr_core.h:294
ogrsf_frmts.h
wkbPolyhedralSurface
@ wkbPolyhedralSurface
Definition: ogr_core.h:343
OGRGeometry::toPolyhedralSurface
OGRPolyhedralSurface * toPolyhedralSurface()
Definition: ogr_geometry.h:761
sfcgal_geometry_t
void sfcgal_geometry_t
Definition: ogr_geometry.h:83
CPL_C_END
#define CPL_C_END
Definition: cpl_port.h:337
OGRPolyhedralSurface::~OGRPolyhedralSurface
~OGRPolyhedralSurface() override
Destructor.
Definition: ogrpolyhedralsurface.cpp:74
OGRPoint::importFromWkt
OGRErr importFromWkt(const char **) override
Definition: ogrpoint.cpp:485
CPLDebug
void CPLDebug(const char *, const char *,...)
Definition: cpl_error.cpp:544
OGRFieldDefn
Definition: ogr_feature.h:92
OGRPoint::getDimension
virtual int getDimension() const override
Get the dimension of this object.
Definition: ogrpoint.cpp:211
OGRPoint::exportToWkb
OGRErr exportToWkb(OGRwkbByteOrder, unsigned char *, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known binary format.
Definition: ogrpoint.cpp:379
CPL_LSBPTR32
#define CPL_LSBPTR32(x)
Definition: cpl_port.h:824
OGRPolygon::getLinearGeometry
virtual OGRGeometry * getLinearGeometry(double dfMaxAngleStepSizeDegrees=0, const char *const *papszOptions=nullptr) const override
Return, possibly approximate, non-curve version of this geometry.
Definition: ogrpolygon.cpp:840
ogr_featurestyle.h
wkbVariantIso
@ wkbVariantIso
Definition: ogr_core.h:426
OGRPolyhedralSurface::removeGeometry
OGRErr removeGeometry(int iIndex, int bDelete=TRUE)
Remove a geometry from the container.
Definition: ogrpolyhedralsurface.cpp:1073
OGRGeometry::assignSpatialReference
virtual void assignSpatialReference(OGRSpatialReference *poSR)
Assign spatial reference to this object.
Definition: ogrgeometry.cpp:421
ogr_feature.h
cpl_conv.h
OGRPoint::Intersects
virtual OGRBoolean Intersects(const OGRGeometry *) const override
Do these features intersect?
Definition: ogrpoint.cpp:785
OGRPoint::setCoordinateDimension
virtual void setCoordinateDimension(int nDimension) override
Set the coordinate dimension.
Definition: ogrpoint.cpp:261
wkbPolygon
@ wkbPolygon
Definition: ogr_core.h:324
OGRPolygon::getGeometryType
virtual OGRwkbGeometryType getGeometryType() const override
Fetch geometry type.
Definition: ogrpolygon.cpp:106
OGRGeometry::getSpatialReference
OGRSpatialReference * getSpatialReference(void) const
Returns spatial reference system for object.
Definition: ogr_geometry.h:434
OGRPolyhedralSurface::getGeometryRef
OGRGeometry * getGeometryRef(int i)
Fetch geometry from container.
Definition: ogrpolyhedralsurface.cpp:936
OGRCurvePolygon::clone
virtual OGRGeometry * clone() const override
Make a copy of this object.
Definition: ogrcurvepolygon.cpp:106
VSI_CALLOC_VERBOSE
#define VSI_CALLOC_VERBOSE(nCount, nSize)
Definition: cpl_vsi.h:280
OGRPolyhedralSurface::getDimension
virtual int getDimension() const override
Get the dimension of this object.
Definition: ogrpolyhedralsurface.cpp:146
wkbPolyhedralSurfaceM
@ wkbPolyhedralSurfaceM
Definition: ogr_core.h:377
OGRDataSource
Definition: ogrsf_frmts.h:315
OGRPreparedGeometry
struct _OGRPreparedGeometry OGRPreparedGeometry
Definition: ogr_geometry.h:2906
CPLError
void CPLError(CPLErr eErrClass, CPLErrorNum err_no, const char *fmt,...)
Definition: cpl_error.cpp:232
OGRGeomFieldDefn
Definition: ogr_feature.h:182
OGRSimpleCurve::exportToWkt
virtual OGRErr exportToWkt(char **ppszDstText, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known text format.
Definition: ogrlinestring.cpp:1838
OGRPolyhedralSurface::setMeasured
virtual void setMeasured(OGRBoolean bIsMeasured) override
Set the type as Measured.
Definition: ogrpolyhedralsurface.cpp:1001
OGRLayer::FromHandle
static OGRLayer * FromHandle(OGRLayerH hLayer)
Definition: ogrsf_frmts.h:258
VSIFree
void VSIFree(void *)
Definition: cpl_vsisimple.cpp:823
OGRPolyhedralSurface::empty
virtual void empty() override
Clear geometry information. This restores the geometry to its initial state after construction,...
Definition: ogrpolyhedralsurface.cpp:155
CPLE_NotSupported
#define CPLE_NotSupported
Definition: cpl_error.h:109
OGRERR_NOT_ENOUGH_DATA
#define OGRERR_NOT_ENOUGH_DATA
Definition: ogr_core.h:293
OGRERR_CORRUPT_DATA
#define OGRERR_CORRUPT_DATA
Definition: ogr_core.h:297
OGRPoint::IsEmpty
virtual OGRBoolean IsEmpty() const override
Returns TRUE (non-zero) if the object has no points.
Definition: ogr_geometry.h:847
OGRCoordinateTransformation
Definition: ogr_spatialref.h:673
OGRPoint::Within
virtual OGRBoolean Within(const OGRGeometry *) const override
Test for containment.
Definition: ogrpoint.cpp:768
end
OGRLayer::FeatureIterator end(OGRLayer *poLayer)
Definition: ogrsf_frmts.h:290
OGRPoint::empty
virtual void empty() override
Clear geometry information. This restores the geometry to its initial state after construction,...
Definition: ogrpoint.cpp:197
OGRSimpleCurve::setPointsM
void setPointsM(int, const OGRRawPoint *, const double *)
Assign all points in a line string.
Definition: ogrlinestring.cpp:894
OGRPolyhedralSurface::PointOnSurface
virtual OGRErr PointOnSurface(OGRPoint *) const override
This method relates to the SFCOM ISurface::get_PointOnSurface() method.
Definition: ogrpolyhedralsurface.cpp:781
OGRSFDriver
Definition: ogrsf_frmts.h:348
CPL_MSBPTR32
#define CPL_MSBPTR32(x)
Definition: cpl_port.h:826
OGRPolygon::exportToWkt
virtual OGRErr exportToWkt(char **ppszDstText, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known text format.
Definition: ogrpolygon.cpp:623
OGRGeometry::toLinearRing
OGRLinearRing * toLinearRing()
Definition: ogr_geometry.h:579
OGRErr
int OGRErr
Definition: ogr_core.h:290
OGRGeometry::toCurvePolygon
OGRCurvePolygon * toCurvePolygon()
Definition: ogr_geometry.h:663
GIntBig
long long GIntBig
Definition: cpl_port.h:246
OGRGeometry::toPolygon
OGRPolygon * toPolygon()
Definition: ogr_geometry.h:635
VSI_MALLOC_VERBOSE
#define VSI_MALLOC_VERBOSE(size)
Definition: cpl_vsi.h:265
OGRPoint::OGRPoint
OGRPoint()
Create an empty point.
Definition: ogrpoint.cpp:54
OGRwkbGeometryType
OGRwkbGeometryType
Definition: ogr_core.h:317
OGRGeometryFactory::createFromWkb
static OGRErr createFromWkb(const void *, OGRSpatialReference *, OGRGeometry **, int=-1, OGRwkbVariant=wkbVariantOldOgc)
Create a geometry object of the appropriate type from its well known binary representation.
Definition: ogrgeometryfactory.cpp:105
CPL_UNUSED
#define CPL_UNUSED
Definition: cpl_port.h:938
OGRPolyhedralSurface::IsEmpty
virtual OGRBoolean IsEmpty() const override
Checks if the PolyhedralSurface is empty.
Definition: ogrpolyhedralsurface.cpp:973
CPL_WARN_UNUSED_RESULT
#define CPL_WARN_UNUSED_RESULT
Definition: cpl_port.h:929
OGRFeature
Definition: ogr_feature.h:353
cpl_port.h
OGRPoint::swapXY
virtual void swapXY() override
Swap x and y coordinates.
Definition: ogrpoint.cpp:759
EQUALN
#define EQUALN(a, b, n)
Definition: cpl_port.h:557
ogr_api.h
OGRPoint::importFromWkb
OGRErr importFromWkb(const unsigned char *, int, OGRwkbVariant, int &nBytesConsumedOut) override
Assign geometry from well known binary data.
Definition: ogrpoint.cpp:297
OGRPoint::getZ
double getZ() const
Fetch Z coordinate.
Definition: ogr_geometry.h:856
wkbXDR
@ wkbXDR
Definition: ogr_core.h:491
OGRPolygon::hasCurveGeometry
virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear=FALSE) const override
Returns if this geometry is or has curve geometry.
Definition: ogrpolygon.cpp:831
OGRGeometry::IsMeasured
OGRBoolean IsMeasured() const
Definition: ogr_geometry.h:364
OGRCurvePolygon::operator=
OGRCurvePolygon & operator=(const OGRCurvePolygon &other)
Assignment operator.
Definition: ogrcurvepolygon.cpp:91
OGRCurve
Definition: ogr_geometry.h:925
OGRCurvePolygon::assignSpatialReference
virtual void assignSpatialReference(OGRSpatialReference *poSR) override
Assign spatial reference to this object.
Definition: ogrcurvepolygon.cpp:711
OGRPoint::getY
double getY() const
Fetch Y coordinate.
Definition: ogr_geometry.h:854
CPLErr
CPLErr
Definition: cpl_error.h:52
OGRCurvePolygon::Contains
virtual OGRBoolean Contains(const OGRGeometry *) const override
Test for containment.
Definition: ogrcurvepolygon.cpp:786
OGRSimpleCurve::setPoints
void setPoints(int, const OGRRawPoint *, const double *=nullptr)
Assign all points in a line string.
Definition: ogrlinestring.cpp:1008
wkbPolyhedralSurfaceZ
@ wkbPolyhedralSurfaceZ
Definition: ogr_core.h:359
OGRPoint::getGeometryName
virtual const char * getGeometryName() const override
Fetch WKT name for geometry type.
Definition: ogrpoint.cpp:238
OGRPolyhedralSurface::operator=
OGRPolyhedralSurface & operator=(const OGRPolyhedralSurface &other)
Assignment operator.
Definition: ogrpolyhedralsurface.cpp:87
OGRPolyhedralSurface::OGRPolyhedralSurface
OGRPolyhedralSurface()
Create an empty PolyhedralSurface.
Definition: ogrpolyhedralsurface.cpp:47
OGRPolyhedralSurface::hasCurveGeometry
virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear=FALSE) const override
Returns if this geometry is or has curve geometry.
Definition: ogrpolyhedralsurface.cpp:1047
OGRLinearRing
Definition: ogr_geometry.h:1312
OGRPolyhedralSurface::importFromWkt
OGRErr importFromWkt(const char **) override
Definition: ogrpolyhedralsurface.cpp:360
OGRERR_NONE
#define OGRERR_NONE
Definition: ogr_core.h:292
CPLStrdup
char * CPLStrdup(const char *)
Definition: cpl_conv.cpp:293
OGRFeatureDefn
Definition: ogr_feature.h:259
OGRPolyhedralSurface::get_Area
virtual double get_Area() const override
Returns the area enclosed.
Definition: ogrpolyhedralsurface.cpp:754
OGRRawPoint::y
double y
Definition: ogr_geometry.h:75
wkbLineString
@ wkbLineString
Definition: ogr_core.h:322
OGRCurvePolygon::setMeasured
virtual void setMeasured(OGRBoolean bIsMeasured) override
Add or remove the M coordinate dimension.
Definition: ogrcurvepolygon.cpp:702
OGRPolygon::OGRPolygon
OGRPolygon()
Create an empty polygon.
Definition: ogrpolygon.cpp:55
OGRPolygon
Definition: ogr_geometry.h:1909
OGRCurvePolygon
Definition: ogr_geometry.h:1759
OGRPolygon::IsPointOnSurface
OGRBoolean IsPointOnSurface(const OGRPoint *) const
Definition: ogrpolygon.cpp:771
OGRPolyhedralSurface::assignSpatialReference
virtual void assignSpatialReference(OGRSpatialReference *poSR) override
Assign spatial reference to this object.
Definition: ogrpolyhedralsurface.cpp:1082
OGRPoint::transform
virtual OGRErr transform(OGRCoordinateTransformation *poCT) override
Apply arbitrary coordinate transformation to geometry.
Definition: ogrpoint.cpp:743
ogr_core.h
OGRLayerH
void * OGRLayerH
Definition: ogr_api.h:508
CPLFree
#define CPLFree
Definition: cpl_conv.h:81
OGRGeometry::Within
virtual OGRBoolean Within(const OGRGeometry *) const
Test for containment.
Definition: ogrgeometry.cpp:4643
OGRPoint::getGeometryType
virtual OGRwkbGeometryType getGeometryType() const override
Fetch geometry type.
Definition: ogrpoint.cpp:221
OGRGeometry::setMeasured
virtual void setMeasured(OGRBoolean bIsMeasured)
Add or remove the M coordinate dimension.
Definition: ogrgeometry.cpp:1053
OGRPolyhedralSurface::exportToWkt
virtual OGRErr exportToWkt(char **ppszDstText, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known text format.
Definition: ogrpolyhedralsurface.cpp:456
OGRPoint::Equals
virtual OGRBoolean Equals(const OGRGeometry *) const override
Returns TRUE if two geometries are equivalent.
Definition: ogrpoint.cpp:714
OGRSimpleCurve::set3D
virtual void set3D(OGRBoolean bIs3D) override
Add or remove the Z coordinate dimension.
Definition: ogrlinestring.cpp:182
OGRLinearRing::CastToLineString
static OGRLineString * CastToLineString(OGRLinearRing *poLR)
Cast to line string.
Definition: ogrlinearring.cpp:780
OGRPolygon::WkbSize
virtual int WkbSize() const override
Returns size of related binary representation.
Definition: ogrpolygon.cpp:300
OGRPoint::exportToWkt
OGRErr exportToWkt(char **ppszDstText, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known text format.
Definition: ogrpoint.cpp:570
OGRwkbVariant
OGRwkbVariant
Definition: ogr_core.h:423
OGRCurvePolygon::stealExteriorRingCurve
OGRCurve * stealExteriorRingCurve()
"Steal" reference to external ring.
Definition: ogrcurvepolygon.cpp:310
wkbPointM
@ wkbPointM
Definition: ogr_core.h:363
OGRPolyhedralSurface::exportToWkb
virtual OGRErr exportToWkb(OGRwkbByteOrder, unsigned char *, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known binary format.
Definition: ogrpolyhedralsurface.cpp:310
OGRPolyhedralSurface::Equals
virtual OGRBoolean Equals(const OGRGeometry *) const override
Returns TRUE if two geometries are equivalent.
Definition: ogrpolyhedralsurface.cpp:714
OGRPoint::getX
double getX() const
Fetch X coordinate.
Definition: ogr_geometry.h:852
OGRGeometry::getIsoGeometryType
OGRwkbGeometryType getIsoGeometryType() const
Get the geometry type that conforms with ISO SQL/MM Part3.
Definition: ogrgeometry.cpp:761
OGRPolyhedralSurface::set3D
virtual void set3D(OGRBoolean bIs3D) override
Set the type as 3D geometry.
Definition: ogrpolyhedralsurface.cpp:986
OGRPoint::operator=
OGRPoint & operator=(const OGRPoint &other)
Assignment operator.
Definition: ogrpoint.cpp:161
STARTS_WITH_CI
#define STARTS_WITH_CI(a, b)
Definition: cpl_port.h:570
CPLE_AppDefined
#define CPLE_AppDefined
Definition: cpl_error.h:99
GUInt32
unsigned int GUInt32
Definition: cpl_port.h:205

Generated for GDAL by doxygen 1.8.17.