Go to the documentation of this file.
31 #ifndef OGR_CORE_H_INCLUDED
32 #define OGR_CORE_H_INCLUDED
35 #if defined(GDAL_COMPILATION)
36 #define DO_NOT_DEFINE_GDAL_DATE_NAME
38 #include "gdal_version.h"
46 #if defined(__cplusplus) && !defined(CPL_SUPRESS_CPLUSPLUS)
50 #if !defined(DOXYGEN_SKIP)
61 OGREnvelope() : MinX(std::numeric_limits<double>::infinity()),
62 MaxX(-std::numeric_limits<double>::infinity()),
63 MinY(std::numeric_limits<double>::infinity()),
64 MaxY(-std::numeric_limits<double>::infinity())
70 MinX(oOther.MinX),MaxX(oOther.MaxX), MinY(oOther.MinY), MaxY(oOther.MaxY)
89 #ifdef HAVE_GCC_DIAGNOSTIC_PUSH
90 #pragma GCC diagnostic push
91 #pragma GCC diagnostic ignored "-Wfloat-equal"
94 int IsInit()
const {
return MinX != std::numeric_limits<double>::infinity(); }
96 #ifdef HAVE_GCC_DIAGNOSTIC_PUSH
97 #pragma GCC diagnostic pop
109 void Merge(
double dfX,
double dfY ) {
110 MinX =
MIN(MinX,dfX);
111 MaxX =
MAX(MaxX,dfX);
112 MinY =
MIN(MinY,dfY);
113 MaxY =
MAX(MaxY,dfY);
118 if(Intersects(sOther))
144 return MinX <= other.
MaxX && MaxX >= other.
MinX &&
145 MinY <= other.
MaxY && MaxY >= other.
MinY;
151 return MinX <= other.
MinX && MinY <= other.
MinY &&
152 MaxX >= other.
MaxX && MaxY >= other.
MaxY;
158 #ifdef HAVE_GCC_DIAGNOSTIC_PUSH
159 #pragma GCC diagnostic push
160 #pragma GCC diagnostic ignored "-Wfloat-equal"
162 return MinX == other.
MinX &&
163 MinY == other.
MinY &&
164 MaxX == other.
MaxX &&
167 #ifdef HAVE_GCC_DIAGNOSTIC_PUSH
168 #pragma GCC diagnostic pop
175 return !(*
this == other);
191 #if defined(__cplusplus) && !defined(CPL_SUPRESS_CPLUSPLUS)
203 MinZ(std::numeric_limits<double>::infinity()),
204 MaxZ(-std::numeric_limits<double>::infinity())
211 MinZ(oOther.MinZ), MaxZ(oOther.MaxZ)
224 #ifdef HAVE_GCC_DIAGNOSTIC_PUSH
225 #pragma GCC diagnostic push
226 #pragma GCC diagnostic ignored "-Wfloat-equal"
229 int IsInit()
const {
return MinX != std::numeric_limits<double>::infinity(); }
230 #ifdef HAVE_GCC_DIAGNOSTIC_PUSH
231 #pragma GCC diagnostic pop
245 void Merge(
double dfX,
double dfY,
double dfZ ) {
246 MinX =
MIN(MinX,dfX);
247 MaxX =
MAX(MaxX,dfX);
248 MinY =
MIN(MinY,dfY);
249 MaxY =
MAX(MaxY,dfY);
250 MinZ =
MIN(MinZ,dfZ);
251 MaxZ =
MAX(MaxZ,dfZ);
286 return MinX <= other.
MaxX && MaxX >= other.
MinX &&
287 MinY <= other.
MaxY && MaxY >= other.
MinY &&
288 MinZ <= other.
MaxZ && MaxZ >= other.
MinZ;
294 return MinX <= other.
MinX && MinY <= other.
MinY &&
295 MaxX >= other.
MaxX && MaxY >= other.
MaxY &&
296 MinZ <= other.
MinZ && MaxZ >= other.
MaxZ;
317 void CPL_DLL *OGRMalloc(
size_t ) CPL_WARN_DEPRECATED(
"Use CPLMalloc instead.");
318 void CPL_DLL *OGRCalloc(
size_t,
size_t ) CPL_WARN_DEPRECATED(
"Use CPLCalloc instead.");
319 void CPL_DLL *OGRRealloc(
void *,
size_t ) CPL_WARN_DEPRECATED(
"Use CPLRealloc instead.");
320 char CPL_DLL *OGRStrdup(
const char * ) CPL_WARN_DEPRECATED(
"Use CPLStrdup instead.");
321 void CPL_DLL OGRFree(
void * ) CPL_WARN_DEPRECATED(
"Use CPLFree instead.");
324 #ifdef STRICT_OGRERR_TYPE
343 #define OGRERR_NONE 0
344 #define OGRERR_NOT_ENOUGH_DATA 1
345 #define OGRERR_NOT_ENOUGH_MEMORY 2
346 #define OGRERR_UNSUPPORTED_GEOMETRY_TYPE 3
347 #define OGRERR_UNSUPPORTED_OPERATION 4
348 #define OGRERR_CORRUPT_DATA 5
349 #define OGRERR_FAILURE 6
350 #define OGRERR_UNSUPPORTED_SRS 7
351 #define OGRERR_INVALID_HANDLE 8
352 #define OGRERR_NON_EXISTING_FEATURE 9
450 #if defined(DOXYGEN_SKIP)
491 #ifndef GDAL_COMPILATION
493 #define wkb25DBit 0x80000000
498 #define wkbFlatten(x) OGR_GT_Flatten((OGRwkbGeometryType)(x))
501 #define wkbFlatten(x) OGR_GT_Flatten(static_cast<OGRwkbGeometryType>(x))
507 #define wkbHasZ(x) (OGR_GT_HasZ(x) != 0)
512 #define wkbSetZ(x) OGR_GT_SetZ(x)
517 #define wkbHasM(x) (OGR_GT_HasM(x) != 0)
522 #define wkbSetM(x) OGR_GT_SetM(x)
525 #define ogrZMarker 0x21125711
533 int bAllowPromotingToCurves );
558 #ifndef NO_HACK_FOR_IBM_DB2_V72
559 # define HACK_FOR_IBM_DB2_V72
562 #ifdef HACK_FOR_IBM_DB2_V72
563 # define DB2_V72_FIX_BYTE_ORDER(x) ((((x) & 0x31) == (x)) ? ((x) & 0x1) : (x))
564 # define DB2_V72_UNFIX_BYTE_ORDER(x) CPL_STATIC_CAST(unsigned char, OGRGeometry::bGenerate_DB2_V72_BYTE_ORDER ? ((x) | 0x30) : (x))
566 # define DB2_V72_FIX_BYTE_ORDER(x) (x)
567 # define DB2_V72_UNFIX_BYTE_ORDER(x) (x)
575 #define ALTER_NAME_FLAG 0x1
580 #define ALTER_TYPE_FLAG 0x2
585 #define ALTER_WIDTH_PRECISION_FLAG 0x4
591 #define ALTER_NULLABLE_FLAG 0x8
597 #define ALTER_DEFAULT_FLAG 0x10
603 #define ALTER_UNIQUE_FLAG 0x20
609 #define ALTER_DOMAIN_FLAG 0x40
615 #define ALTER_ALL_FLAG (ALTER_NAME_FLAG | ALTER_TYPE_FLAG | ALTER_WIDTH_PRECISION_FLAG | ALTER_NULLABLE_FLAG | ALTER_DEFAULT_FLAG | ALTER_UNIQUE_FLAG | ALTER_DOMAIN_FLAG)
623 #define ALTER_GEOM_FIELD_DEFN_NAME_FLAG 0x1000
629 #define ALTER_GEOM_FIELD_DEFN_TYPE_FLAG 0x2000
635 #define ALTER_GEOM_FIELD_DEFN_NULLABLE_FLAG 0x4000
641 #define ALTER_GEOM_FIELD_DEFN_SRS_FLAG 0x8000
647 #define ALTER_GEOM_FIELD_DEFN_SRS_COORD_EPOCH_FLAG 0x10000
654 #define ALTER_GEOM_FIELD_DEFN_ALL_FLAG (ALTER_GEOM_FIELD_DEFN_NAME_FLAG | ALTER_GEOM_FIELD_DEFN_TYPE_FLAG | ALTER_GEOM_FIELD_DEFN_NULLABLE_FLAG | ALTER_GEOM_FIELD_DEFN_SRS_FLAG | ALTER_GEOM_FIELD_DEFN_SRS_COORD_EPOCH_FLAG)
662 #define OGR_F_VAL_NULL 0x00000001
668 #define OGR_F_VAL_GEOM_TYPE 0x00000002
674 #define OGR_F_VAL_WIDTH 0x00000004
683 #define OGR_F_VAL_ALLOW_NULL_WHEN_DEFAULT 0x00000008
691 #define OGR_F_VAL_ALLOW_DIFFERENT_GEOM_DIM 0x00000010
697 #define OGR_F_VAL_ALL (0x7FFFFFFF & ~OGR_F_VAL_ALLOW_DIFFERENT_GEOM_DIM)
710 {
OFTInteger = 0,
OFTIntegerList = 1,
OFTReal = 2,
OFTRealList = 3,
OFTString = 4,
OFTStringList = 5,
OFTWideString = 6,
OFTWideStringList = 7,
OFTBinary = 8,
OFTDate = 9,
OFTTime = 10,
OFTDateTime = 11,
OFTInteger64 = 12,
OFTInteger64List = 13,
769 #define OGRNullFID -1
776 #define OGRUnknownType static_cast<OGRFieldType>(-1)
784 #define OGRUnsetMarker -21121
792 #define OGRNullMarker -21122
858 if( fSec >= 999 )
return 999;
859 if( fSec <= 0 )
return 0;
860 const float fValue = (fSec -
static_cast<int>(fSec)) * 1000 + 0.5f;
861 return static_cast<int>(fValue);
863 #endif // __cplusplus
871 #define OLCRandomRead "RandomRead"
872 #define OLCSequentialWrite "SequentialWrite"
873 #define OLCRandomWrite "RandomWrite"
874 #define OLCFastSpatialFilter "FastSpatialFilter"
875 #define OLCFastFeatureCount "FastFeatureCount"
876 #define OLCFastGetExtent "FastGetExtent"
877 #define OLCCreateField "CreateField"
878 #define OLCDeleteField "DeleteField"
879 #define OLCReorderFields "ReorderFields"
880 #define OLCAlterFieldDefn "AlterFieldDefn"
881 #define OLCAlterGeomFieldDefn "AlterGeomFieldDefn"
882 #define OLCTransactions "Transactions"
883 #define OLCDeleteFeature "DeleteFeature"
884 #define OLCUpsertFeature "UpsertFeature"
885 #define OLCFastSetNextByIndex "FastSetNextByIndex"
886 #define OLCStringsAsUTF8 "StringsAsUTF8"
887 #define OLCIgnoreFields "IgnoreFields"
888 #define OLCCreateGeomField "CreateGeomField"
889 #define OLCCurveGeometries "CurveGeometries"
890 #define OLCMeasuredGeometries "MeasuredGeometries"
891 #define OLCZGeometries "ZGeometries"
892 #define OLCRename "Rename"
893 #define OLCFastGetArrowStream "FastGetArrowStream"
895 #define ODsCCreateLayer "CreateLayer"
896 #define ODsCDeleteLayer "DeleteLayer"
898 #define ODsCCreateGeomFieldAfterCreateLayer "CreateGeomFieldAfterCreateLayer"
899 #define ODsCCurveGeometries "CurveGeometries"
900 #define ODsCTransactions "Transactions"
901 #define ODsCEmulatedTransactions "EmulatedTransactions"
902 #define ODsCMeasuredGeometries "MeasuredGeometries"
903 #define ODsCZGeometries "ZGeometries"
904 #define ODsCRandomLayerRead "RandomLayerRead"
906 #define ODsCRandomLayerWrite "RandomLayerWrite "
907 #define ODsCAddFieldDomain "AddFieldDomain"
908 #define ODsCDeleteFieldDomain "DeleteFieldDomain"
909 #define ODsCUpdateFieldDomain "UpdateFieldDomain"
911 #define ODrCCreateDataSource "CreateDataSource"
912 #define ODrCDeleteDataSource "DeleteDataSource"
921 #define OLMD_FID64 "OLMD_FID64"
1008 #ifndef DOXYGEN_SKIP
1009 OGRSTSymbolLast = 12
1039 #ifndef DOXYGEN_SKIP
1113 #ifndef DOXYGEN_SKIP
1117 #ifndef GDAL_VERSION_INFO_DEFINED
1118 #define GDAL_VERSION_INFO_DEFINED
1122 #ifndef GDAL_CHECK_VERSION
1135 int CPL_DLL CPL_STDCALL
GDALCheckVersion(
int nVersionMajor,
int nVersionMinor,
1136 const char* pszCallingComponentName);
1139 #define GDAL_CHECK_VERSION(pszCallingComponentName) \
1140 GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR, pszCallingComponentName)
@ OGRSTSymbolStep
Step.
Definition: ogr_core.h:1002
#define MAX(a, b)
Macro to compute the maximum of 2 values.
Definition: cpl_port.h:381
int GDALCheckVersion(int nVersionMajor, int nVersionMinor, const char *pszCallingComponentName)
Return TRUE if GDAL library version at runtime matches nVersionMajor.nVersionMinor.
Definition: gdal_misc.cpp:2394
@ OGRSTLabelStretch
Stretch.
Definition: ogr_core.h:1034
void Merge(double dfX, double dfY, double dfZ)
Update the current object by computing its union with the provided point.
Definition: ogr_core.h:245
@ wkbTINM
ISO SQL/MM Part 3.
Definition: ogr_core.h:429
OGREnvelope(const OGREnvelope &oOther)
Copy constructor.
Definition: ogr_core.h:69
const char * GDALVersionInfo(const char *)
Get runtime version information.
Definition: gdal_misc.cpp:2230
@ wkbSurfaceM
ISO SQL/MM Part 3.
Definition: ogr_core.h:427
@ wkbPointZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:432
@ wkbCurvePolygonZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:441
OGRFieldDomainMergePolicy
Merge policy for field domains.
Definition: ogr_core.h:1099
@ OFDSP_DEFAULT_VALUE
Default value.
Definition: ogr_core.h:1085
OGRFieldDomainType
Type of field domain.
Definition: ogr_core.h:1065
@ OGRSTBrushSize
Size.
Definition: ogr_core.h:981
unsigned char GByte
Unsigned byte type.
Definition: cpl_port.h:203
@ OGRSTLabelStrikeout
Strike out.
Definition: ogr_core.h:1033
@ OFSTFloat32
Single precision (32 bit) floating point.
Definition: ogr_core.h:745
@ OFTWideString
deprecated
Definition: ogr_core.h:717
@ OGRSTUInches
Inch.
Definition: ogr_core.h:951
#define OGRERR_UNSUPPORTED_GEOMETRY_TYPE
Unsupported geometry type.
Definition: ogr_core.h:346
short GInt16
Int16 type.
Definition: cpl_port.h:199
OGRwkbGeometryType OGR_GT_GetCollection(OGRwkbGeometryType eType)
Returns the collection type that can contain the passed geometry type.
Definition: ogrgeometry.cpp:6970
@ wkbMultiCurveZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:442
@ OGRSTLabelPerp
Perpendicular.
Definition: ogr_core.h:1028
@ OGRSTUCM
Centimeter.
Definition: ogr_core.h:950
@ OFSTInt16
Signed 16-bit integer.
Definition: ogr_core.h:743
@ wkbMultiLineStringZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:436
@ OFTBinary
Raw Binary data.
Definition: ogr_core.h:719
@ OGRSTSymbolPriority
Priority.
Definition: ogr_core.h:1005
@ wkbPoint
0-dimensional geometric object, standard WKB
Definition: ogr_core.h:372
double MinX
Minimum X value.
Definition: ogr_core.h:78
@ OGRSTLabelBColor
Background color.
Definition: ogr_core.h:1023
@ OFSTBoolean
Boolean integer.
Definition: ogr_core.h:741
@ OGRSTLabelFColor
Foreground color.
Definition: ogr_core.h:1022
@ wkbCurvePolygonZ
wkbCurvePolygon with Z component.
Definition: ogr_core.h:405
@ wkbMultiSurfaceZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:443
@ wkbTriangleZ
ISO SQL/MM Part 3.
Definition: ogr_core.h:412
int OGR_GT_IsSubClassOf(OGRwkbGeometryType eType, OGRwkbGeometryType eSuperType)
Returns if a type is a subclass of another one.
Definition: ogrgeometry.cpp:6906
@ wkbCompoundCurveZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:440
@ wkbMultiSurfaceM
ISO SQL/MM Part 3.
Definition: ogr_core.h:425
@ wkbMultiPolygon
GeometryCollection of Polygons, standard WKB.
Definition: ogr_core.h:380
OGRwkbGeometryType OGR_GT_Flatten(OGRwkbGeometryType eType)
Returns the 2D geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6758
@ wkbMultiPoint25D
2.5D extension as per 99-402
Definition: ogr_core.h:455
@ wkbNDR
LSB/Intel/Vax: Least Significant Byte First
Definition: ogr_core.h:553
ogr_style_tool_param_label_id
List of parameters for use with OGRStyleLabel.
Definition: ogr_core.h:1016
enum ogr_style_tool_class_id OGRSTClassId
OGRStyleTool derived class types (returned by GetType()).
enum ogr_style_tool_param_brush_id OGRSTBrushParam
List of parameters for use with OGRStyleBrush.
@ wkbVariantOldOgc
Old-style 99-402 extended dimension (Z) WKB types.
Definition: ogr_core.h:486
int OGR_GT_IsNonLinear(OGRwkbGeometryType)
Return if a geometry type is a non-linear geometry type.
Definition: ogrgeometry.cpp:7160
@ wkbCompoundCurve
sequence of contiguous curves, ISO SQL/MM Part 3.
Definition: ogr_core.h:386
@ OGRSTLabelItalic
Italic.
Definition: ogr_core.h:1030
OGRwkbGeometryType OGR_GT_GetLinear(OGRwkbGeometryType eType)
Returns the non-curve geometry type that can contain the passed geometry type.
Definition: ogrgeometry.cpp:7075
OGRwkbGeometryType OGRMergeGeometryTypes(OGRwkbGeometryType eMain, OGRwkbGeometryType eExtra)
Find common geometry type.
Definition: ogrgeometry.cpp:2757
@ wkbPolygon25D
2.5D extension as per 99-402
Definition: ogr_core.h:454
@ OGRSTPenWidth
Width.
Definition: ogr_core.h:960
@ OFTWideStringList
deprecated
Definition: ogr_core.h:718
@ wkbPolygonZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:434
enum ogr_style_tool_param_label_id OGRSTLabelParam
List of parameters for use with OGRStyleLabel.
OGRwkbGeometryType OGR_GT_SetModifier(OGRwkbGeometryType eType, int bSetZ, int bSetM)
Returns a XY, XYZ, XYM or XYZM geometry type depending on parameter.
Definition: ogrgeometry.cpp:6879
@ wkbVariantPostGIS1
PostGIS 1.X has different codes for CurvePolygon, MultiCurve and MultiSurface.
Definition: ogr_core.h:488
@ OFTDateTime
Date and Time.
Definition: ogr_core.h:722
@ wkbPolygonM
ISO SQL/MM Part 3.
Definition: ogr_core.h:416
@ wkbTriangleM
ISO SQL/MM Part 3.
Definition: ogr_core.h:430
int Contains(OGREnvelope3D const &other) const
Return whether the current object contains the other rectangle.
Definition: ogr_core.h:292
@ OGRSTLabelAdjHor
OBSOLETE; do not use.
Definition: ogr_core.h:1035
@ wkbCircularString
one or more circular arc segments connected end to end, ISO SQL/MM Part 3.
Definition: ogr_core.h:384
@ OGRSTLabelTextString
Text string.
Definition: ogr_core.h:1020
@ OFDMP_DEFAULT_VALUE
Default value.
Definition: ogr_core.h:1102
@ OFDMP_GEOMETRY_WEIGHTED
New values are computed as the weighted average of the source values.
Definition: ogr_core.h:1106
enum ogr_style_tool_param_pen_id OGRSTPenParam
List of parameters for use with OGRStylePen.
@ wkbMultiPolygonZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:437
ogr_style_tool_param_symbol_id
List of parameters for use with OGRStyleSymbol.
Definition: ogr_core.h:994
@ wkbCurveM
ISO SQL/MM Part 3.
Definition: ogr_core.h:426
#define MIN(a, b)
Macro to compute the minimum of 2 values.
Definition: cpl_port.h:379
@ OGRSTLabelPlacement
Placement.
Definition: ogr_core.h:1024
double MinZ
Minimum Z value.
Definition: ogr_core.h:219
@ OGRSTCSymbol
Symbol.
Definition: ogr_core.h:936
@ OGRSTCLabel
Label.
Definition: ogr_core.h:937
@ wkbPolyhedralSurfaceZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:446
@ wkbPoint25D
2.5D extension as per 99-402
Definition: ogr_core.h:452
@ wkbSurfaceZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:445
@ wkbCircularStringZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:439
enum ogr_style_tool_units_id OGRSTUnitId
List of units supported by OGRStyleTools.
@ wkbCircularStringZ
wkbCircularString with Z component.
Definition: ogr_core.h:403
int OGRBoolean
Type for a OGR boolean.
Definition: ogr_core.h:357
@ wkbCurve
Curve (abstract type).
Definition: ogr_core.h:392
@ OGRSTCNone
None.
Definition: ogr_core.h:933
@ wkbMultiPointZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:435
@ OGRSTUPixel
Pixel.
Definition: ogr_core.h:947
@ OGRSTPenPriority
Priority.
Definition: ogr_core.h:966
OGRwkbGeometryType OGRMergeGeometryTypesEx(OGRwkbGeometryType eMain, OGRwkbGeometryType eExtra, int bAllowPromotingToCurves)
Find common geometry type.
Definition: ogrgeometry.cpp:2794
int Intersects(OGREnvelope3D const &other) const
Return whether the current object intersects with the other rectangle.
Definition: ogr_core.h:284
@ wkbTINZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:447
int OGR_GT_IsSurface(OGRwkbGeometryType)
Return if a geometry type is an instance of Surface.
Definition: ogrgeometry.cpp:7138
double MaxX
Maximum X value.
Definition: ogr_core.h:81
@ OGRSTSymbolDx
Dx.
Definition: ogr_core.h:1000
@ wkbLineStringZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:433
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:304
OGRwkbGeometryType OGR_GT_SetM(OGRwkbGeometryType eType)
Returns the measured geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6852
#define OGRERR_UNSUPPORTED_SRS
Unsupported SRS.
Definition: ogr_core.h:350
ogr_style_tool_class_id
OGRStyleTool derived class types (returned by GetType()).
Definition: ogr_core.h:931
int OGRParseDate(const char *pszInput, OGRField *psOutput, int nOptions)
Parse date string.
Definition: ogrutils.cpp:945
@ OGRSTLabelOColor
Outline color.
Definition: ogr_core.h:1038
OGRwkbByteOrder
Enumeration to describe byte order.
Definition: ogr_core.h:550
OGRFeature field attribute value union.
Definition: ogr_core.h:802
@ OGRSTSymbolAngle
Angle.
Definition: ogr_core.h:997
@ OGRSTSymbolFontName
Font name.
Definition: ogr_core.h:1006
#define OGRERR_UNSUPPORTED_OPERATION
Unsupported operation.
Definition: ogr_core.h:347
@ OFDSP_GEOMETRY_RATIO
New values are computed by the ratio of their area/length compared to the area/length of the original...
Definition: ogr_core.h:1089
Associates a code and a value.
Definition: ogr_core.h:1052
@ wkbCurvePolygon
planar surface, defined by 1 exterior boundary and zero or more interior boundaries,...
Definition: ogr_core.h:387
int IsInit() const
Return whether the object has been initialized, that is, is non empty.
Definition: ogr_core.h:229
@ wkbLineStringM
ISO SQL/MM Part 3.
Definition: ogr_core.h:415
@ OGRSTPenColor
Color.
Definition: ogr_core.h:959
@ OGRSTLabelDy
Dy.
Definition: ogr_core.h:1027
#define OGRERR_FAILURE
Failure.
Definition: ogr_core.h:349
@ OGRSTUMM
Millimeter.
Definition: ogr_core.h:949
OGRwkbGeometryType OGR_GT_GetCurve(OGRwkbGeometryType eType)
Returns the curve geometry type that can contain the passed geometry type.
Definition: ogrgeometry.cpp:7026
@ OFTString
String of ASCII chars.
Definition: ogr_core.h:715
#define CPLIsNan(x)
Return whether a floating-pointer number is NaN.
Definition: cpl_port.h:609
@ wkbMultiPolygon25D
2.5D extension as per 99-402
Definition: ogr_core.h:457
@ wkbCircularStringM
ISO SQL/MM Part 3.
Definition: ogr_core.h:421
@ OFTIntegerList
List of 32bit integers.
Definition: ogr_core.h:712
@ wkbMultiSurface
GeometryCollection of Surfaces, ISO SQL/MM Part 3.
Definition: ogr_core.h:391
@ OGRSTCBrush
Brush.
Definition: ogr_core.h:935
#define OGRERR_NOT_ENOUGH_MEMORY
Not enough memory.
Definition: ogr_core.h:345
@ OGRSTLabelFontName
Font name.
Definition: ogr_core.h:1018
@ OGRSTLabelPriority
Priority.
Definition: ogr_core.h:1032
@ wkbPolyhedralSurface
a contiguous collection of polygons, which share common boundary segments, ISO SQL/MM Part 3.
Definition: ogr_core.h:394
@ wkbCurvePolygonM
ISO SQL/MM Part 3.
Definition: ogr_core.h:423
@ OFSTUUID
UUID string representation.
Definition: ogr_core.h:753
#define CPL_C_END
Macro to end a block of C symbols.
Definition: cpl_port.h:306
@ wkbMultiPointM
ISO SQL/MM Part 3.
Definition: ogr_core.h:417
@ OGRSTLabelUnderline
Underline.
Definition: ogr_core.h:1031
@ wkbGeometryCollectionM
ISO SQL/MM Part 3.
Definition: ogr_core.h:420
@ OGRSTCVector
Vector.
Definition: ogr_core.h:938
@ OGRSTLabelAnchor
Anchor.
Definition: ogr_core.h:1025
@ OFTInteger
Simple 32bit integer.
Definition: ogr_core.h:711
@ wkbVariantIso
SFSQL 1.2 and ISO SQL/MM Part 3 extended dimension (Z&M) WKB types.
Definition: ogr_core.h:487
@ OGRSTLabelAngle
Angle.
Definition: ogr_core.h:1021
int OGR_GT_IsCurve(OGRwkbGeometryType)
Return if a geometry type is an instance of Curve.
Definition: ogrgeometry.cpp:7117
@ OFDMP_SUM
Sum.
Definition: ogr_core.h:1104
@ OGRSTSymbolDy
Dy.
Definition: ogr_core.h:1001
@ OGRSTBrushDx
Dx.
Definition: ogr_core.h:982
@ wkbNone
non-standard, for pure attribute records
Definition: ogr_core.h:400
double MaxY
Maximum Y value.
Definition: ogr_core.h:87
@ OFTInteger64List
List of 64bit integers.
Definition: ogr_core.h:724
@ wkbPolygon
planar 2-dimensional geometric object defined by 1 exterior boundary and 0 or more interior boundarie...
Definition: ogr_core.h:375
@ OFDT_RANGE
Range (min/max)
Definition: ogr_core.h:1070
@ wkbMultiCurveM
ISO SQL/MM Part 3.
Definition: ogr_core.h:424
void Intersect(OGREnvelope const &sOther)
Update the current object by computing its intersection with the other rectangle.
Definition: ogr_core.h:117
char * pszValue
Value.
Definition: ogr_core.h:1058
@ wkbMultiLineString25D
2.5D extension as per 99-402
Definition: ogr_core.h:456
@ OFDT_GLOB
Glob (used by GeoPackage)
Definition: ogr_core.h:1072
OGRJustification
Display justification for field values.
Definition: ogr_core.h:761
@ wkbCompoundCurveM
ISO SQL/MM Part 3.
Definition: ogr_core.h:422
@ wkbPolyhedralSurfaceM
ISO SQL/MM Part 3.
Definition: ogr_core.h:428
enum ogr_style_tool_param_symbol_id OGRSTSymbolParam
List of parameters for use with OGRStyleSymbol.
OGREnvelope3D(const OGREnvelope3D &oOther)
Copy constructor.
Definition: ogr_core.h:209
@ OFSTNone
No subtype.
Definition: ogr_core.h:739
@ OFTStringList
Array of strings.
Definition: ogr_core.h:716
@ OGRSTBrushFColor
Foreground color.
Definition: ogr_core.h:977
@ wkbSurface
Surface (abstract type).
Definition: ogr_core.h:393
void Merge(double dfX, double dfY)
Update the current object by computing its union with the provided point.
Definition: ogr_core.h:109
@ OGRSTBrushDy
Dy.
Definition: ogr_core.h:983
@ wkbLinearRing
non-standard, just for createGeometry()
Definition: ogr_core.h:401
#define OGRERR_NOT_ENOUGH_DATA
Not enough data to deserialize.
Definition: ogr_core.h:344
@ OGRSTSymbolId
Id.
Definition: ogr_core.h:996
#define OGRERR_CORRUPT_DATA
Corrupt data.
Definition: ogr_core.h:348
@ OGRSTBrushBColor
Background color.
Definition: ogr_core.h:978
@ OFTTime
Time.
Definition: ogr_core.h:721
@ OGRSTUGround
Ground unit.
Definition: ogr_core.h:946
@ OFDT_CODED
Coded.
Definition: ogr_core.h:1068
@ OGRSTSymbolSize
Size.
Definition: ogr_core.h:999
double MinY
Minimum Y value.
Definition: ogr_core.h:84
@ OGRSTLabelHColor
Highlight color.
Definition: ogr_core.h:1037
OGRFieldDomainSplitPolicy
Split policy for field domains.
Definition: ogr_core.h:1082
int OGRErr
Type for a OGR error.
Definition: ogr_core.h:341
@ wkbCompoundCurveZ
wkbCompoundCurve with Z component.
Definition: ogr_core.h:404
@ OGRSTSymbolOffset
Offset.
Definition: ogr_core.h:1004
ogr_style_tool_param_pen_id
List of parameters for use with OGRStylePen.
Definition: ogr_core.h:957
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition: cpl_port.h:230
@ OGRSTBrushId
Id.
Definition: ogr_core.h:979
ogr_style_tool_param_brush_id
List of parameters for use with OGRStyleBrush.
Definition: ogr_core.h:975
@ wkbCurveZ
wkbCurve with Z component.
Definition: ogr_core.h:408
int OGR_GT_HasZ(OGRwkbGeometryType eType)
Return if the geometry type is a 3D geometry type.
Definition: ogrgeometry.cpp:6783
OGRwkbGeometryType
List of well known binary geometry types.
Definition: ogr_core.h:368
@ OGRSTPenCap
Cap.
Definition: ogr_core.h:964
int OGR_GT_HasM(OGRwkbGeometryType eType)
Return if the geometry type is a measured type.
Definition: ogrgeometry.cpp:6807
@ wkbTINZ
ISO SQL/MM Part 3.
Definition: ogr_core.h:411
@ OGRSTCPen
Pen.
Definition: ogr_core.h:934
const char * OGRGeometryTypeToName(OGRwkbGeometryType eType)
Fetch a human readable name corresponding to an OGRwkbGeometryType value.
Definition: ogrgeometry.cpp:2534
@ OFTDate
Date.
Definition: ogr_core.h:720
@ OGRSTPenPerOffset
Perpendicular offset.
Definition: ogr_core.h:963
OGRFieldSubType
List of field subtypes.
Definition: ogr_core.h:737
void Intersect(OGREnvelope3D const &sOther)
Update the current object by computing its intersection with the other rectangle.
Definition: ogr_core.h:255
@ wkbTriangleZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:448
int Contains(OGREnvelope const &other) const
Return whether the current object contains the other rectangle.
Definition: ogr_core.h:149
OGREnvelope()
Default constructor.
Definition: ogr_core.h:61
@ wkbXDR
MSB/Sun/Motorola: Most Significant Byte First
Definition: ogr_core.h:552
Simple container for a bounding region in 3D.
Definition: ogr_core.h:198
@ OGRSTBrushPriority
Priority.
Definition: ogr_core.h:984
@ OFTRealList
List of doubles.
Definition: ogr_core.h:714
@ OFDSP_DUPLICATE
Duplicate.
Definition: ogr_core.h:1087
int IsInit() const
Return whether the object has been initialized, that is, is non empty.
Definition: ogr_core.h:94
@ wkbGeometryCollection25D
2.5D extension as per 99-402
Definition: ogr_core.h:458
@ OFSTJSON
JSON content.
Definition: ogr_core.h:749
ogr_style_tool_units_id
List of units supported by OGRStyleTools.
Definition: ogr_core.h:944
@ wkbGeometryCollection
geometric object that is a collection of 1 or more geometric objects, standard WKB
Definition: ogr_core.h:381
OGRFieldType
List of feature field types.
Definition: ogr_core.h:709
@ wkbMultiCurveZ
wkbMultiCurve with Z component.
Definition: ogr_core.h:406
@ OGRSTPenJoin
Join.
Definition: ogr_core.h:965
@ wkbPolyhedralSurfaceZ
ISO SQL/MM Part 3.
Definition: ogr_core.h:410
@ wkbMultiCurve
GeometryCollection of Curves, ISO SQL/MM Part 3.
Definition: ogr_core.h:390
@ OGRSTSymbolColor
Color.
Definition: ogr_core.h:998
@ wkbMultiPolygonM
ISO SQL/MM Part 3.
Definition: ogr_core.h:419
@ wkbLineString25D
2.5D extension as per 99-402
Definition: ogr_core.h:453
@ OFTInteger64
Single 64bit integer.
Definition: ogr_core.h:723
@ wkbGeometryCollectionZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:438
Simple container for a bounding region (rectangle)
Definition: ogr_core.h:57
@ OGRSTUPoints
Points.
Definition: ogr_core.h:948
double MaxZ
Maximum Z value.
Definition: ogr_core.h:222
#define OGRERR_NONE
Success.
Definition: ogr_core.h:343
void Merge(OGREnvelope3D const &sOther)
Update the current object by computing its union with the other rectangle.
Definition: ogr_core.h:235
@ wkbMultiSurfaceZ
wkbMultiSurface with Z component.
Definition: ogr_core.h:407
@ OGRSTLabelAdjVert
OBSOLETE; do not use.
Definition: ogr_core.h:1036
OGREnvelope & operator=(const OGREnvelope &)=default
Assignment operator.
@ OGRSTSymbolOColor
Outline color.
Definition: ogr_core.h:1007
@ OGRSTLabelDx
Dx.
Definition: ogr_core.h:1026
@ wkbTriangle
a Triangle.
Definition: ogr_core.h:398
@ wkbLineString
1-dimensional geometric object with linear interpolation between Points, standard WKB
Definition: ogr_core.h:373
@ OGRSTPenId
Id.
Definition: ogr_core.h:962
@ wkbMultiLineString
GeometryCollection of LineStrings, standard WKB.
Definition: ogr_core.h:379
char * pszCode
Code.
Definition: ogr_core.h:1055
OGREnvelope3D()
Default constructor.
Definition: ogr_core.h:202
@ wkbCurveZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:444
int OGR_GET_MS(float fSec)
Return the number of milliseconds from a datetime with decimal seconds.
Definition: ogr_core.h:856
@ OFTReal
Double Precision floating point.
Definition: ogr_core.h:713
@ OGRSTSymbolPerp
Perpendicular.
Definition: ogr_core.h:1003
@ OGRSTBrushAngle
Angle.
Definition: ogr_core.h:980
#define OGRERR_NON_EXISTING_FEATURE
Non existing feature.
Definition: ogr_core.h:352
@ OGRSTPenPattern
Pattern.
Definition: ogr_core.h:961
@ wkbMultiLineStringM
ISO SQL/MM Part 3.
Definition: ogr_core.h:418
#define OGRERR_INVALID_HANDLE
Invalid handle.
Definition: ogr_core.h:351
OGRwkbGeometryType OGR_GT_SetZ(OGRwkbGeometryType eType)
Returns the 3D geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6829
void Merge(OGREnvelope const &sOther)
Update the current object by computing its union with the other rectangle.
Definition: ogr_core.h:101
@ wkbUnknown
unknown type, non-standard
Definition: ogr_core.h:370
@ wkbTIN
a PolyhedralSurface consisting only of Triangle patches ISO SQL/MM Part 3.
Definition: ogr_core.h:396
@ OGRSTLabelSize
Size.
Definition: ogr_core.h:1019
int Intersects(OGREnvelope const &other) const
Return whether the current object intersects with the other rectangle.
Definition: ogr_core.h:142
@ OGRSTLabelBold
Bold.
Definition: ogr_core.h:1029
OGRwkbVariant
Output variants of WKB we support.
Definition: ogr_core.h:484
@ wkbPointM
ISO SQL/MM Part 3.
Definition: ogr_core.h:414
@ wkbMultiPoint
GeometryCollection of Points, standard WKB.
Definition: ogr_core.h:378
@ wkbSurfaceZ
wkbSurface with Z component.
Definition: ogr_core.h:409