#ifndef _GG_CONST_H
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define _GG_CONST_H
#endif
#ifdef __cplusplus
extern "C"
{
#endif
#define GAIA_VECTORS_LIST_FAST 0
#define GAIA_VECTORS_LIST_OPTIMISTIC 1
#define GAIA_VECTORS_LIST_PESSIMISTIC 2
#define GAIA_VECTOR_UNKNOWN -1
#define GAIA_VECTOR_TABLE 1
#define GAIA_VECTOR_VIEW 2
#define GAIA_VECTOR_VIRTUAL 3
#define GAIA_VECTOR_GEOMETRY 0
#define GAIA_VECTOR_POINT 1
#define GAIA_VECTOR_LINESTRING 2
#define GAIA_VECTOR_POLYGON 3
#define GAIA_VECTOR_MULTIPOINT 4
#define GAIA_VECTOR_MULTILINESTRING 5
#define GAIA_VECTOR_MULTIPOLYGON 6
#define GAIA_VECTOR_GEOMETRYCOLLECTION 7
#define GAIA_SPATIAL_INDEX_NONE 0
#define GAIA_SPATIAL_INDEX_RTREE 1
#define GAIA_SPATIAL_INDEX_MBRCACHE 2
#define GAIA_TYPE_NONE 0
#define GAIA_TYPE_POINT 1
#define GAIA_TYPE_LINESTRING 2
#define GAIA_TYPE_POLYGON 3
#define GAIA_BIG_ENDIAN 0
#define GAIA_LITTLE_ENDIAN 1
#define GAIA_MARK_START 0x00
#define GAIA_MARK_END 0xFE
#define GAIA_MARK_MBR 0x7C
#define GAIA_MARK_ENTITY 0x69
#define GAIA_UNKNOWN 0
#define GAIA_POINT 1
#define GAIA_LINESTRING 2
#define GAIA_POLYGON 3
#define GAIA_MULTIPOINT 4
#define GAIA_MULTILINESTRING 5
#define GAIA_MULTIPOLYGON 6
#define GAIA_GEOMETRYCOLLECTION 7
#define GAIA_POINTZ 1001
#define GAIA_LINESTRINGZ 1002
#define GAIA_POLYGONZ 1003
#define GAIA_MULTIPOINTZ 1004
#define GAIA_MULTILINESTRINGZ 1005
#define GAIA_MULTIPOLYGONZ 1006
#define GAIA_GEOMETRYCOLLECTIONZ 1007
#define GAIA_POINTM 2001
#define GAIA_LINESTRINGM 2002
#define GAIA_POLYGONM 2003
#define GAIA_MULTIPOINTM 2004
#define GAIA_MULTILINESTRINGM 2005
#define GAIA_MULTIPOLYGONM 2006
#define GAIA_GEOMETRYCOLLECTIONM 2007
#define GAIA_POINTZM 3001
#define GAIA_LINESTRINGZM 3002
#define GAIA_POLYGONZM 3003
#define GAIA_MULTIPOINTZM 3004
#define GAIA_MULTILINESTRINGZM 3005
#define GAIA_MULTIPOLYGONZM 3006
#define GAIA_GEOMETRYCOLLECTIONZM 3007
#define GAIA_COMPRESSED_LINESTRING 1000002
#define GAIA_COMPRESSED_POLYGON 1000003
#define GAIA_COMPRESSED_LINESTRINGZ 1001002
#define GAIA_COMPRESSED_POLYGONZ 1001003
#define GAIA_COMPRESSED_LINESTRINGM 1002002
#define GAIA_COMPRESSED_POLYGONM 1002003
#define GAIA_COMPRESSED_LINESTRINGZM 1003002
#define GAIA_COMPRESSED_POLYGONZM 1003003
#define GAIA_GEOSWKB_POINTZ -2147483647
#define GAIA_GEOSWKB_LINESTRINGZ -2147483646
#define GAIA_GEOSWKB_POLYGONZ -2147483645
#define GAIA_GEOSWKB_MULTIPOINTZ -2147483644
#define GAIA_GEOSWKB_MULTILINESTRINGZ -2147483643
#define GAIA_GEOSWKB_MULTIPOLYGONZ -2147483642
#define GAIA_GEOSWKB_GEOMETRYCOLLECTIONZ -2147483641
#define GAIA_NULL_VALUE 0
#define GAIA_TEXT_VALUE 1
#define GAIA_INT_VALUE 2
#define GAIA_DOUBLE_VALUE 3
#define GAIA_START_POINT 1
#define GAIA_END_POINT 2
#define GAIA_POINTN 3
#define GAIA_MBR_CONTAINS 1
#define GAIA_MBR_DISJOINT 2
#define GAIA_MBR_EQUAL 3
#define GAIA_MBR_INTERSECTS 4
#define GAIA_MBR_OVERLAPS 5
#define GAIA_MBR_TOUCHES 6
#define GAIA_MBR_WITHIN 7
#define GAIA_FILTER_MBR_WITHIN 74
#define GAIA_FILTER_MBR_CONTAINS 77
#define GAIA_FILTER_MBR_INTERSECTS 79
#define GAIA_FILTER_MBR_DECLARE 89
#define GAIA_SVG_DEFAULT_RELATIVE 0
#define GAIA_SVG_DEFAULT_PRECISION 6
#define GAIA_SVG_DEFAULT_MAX_PRECISION 15
#define GAIA_NET_START 0x67
#define GAIA_NET64_START 0x68
#define GAIA_NET64_A_STAR_START 0x69
#define GAIA_NET_END 0x87
#define GAIA_NET_HEADER 0xc0
#define GAIA_NET_CODE 0xa6
#define GAIA_NET_ID 0xb5
#define GAIA_NET_NODE 0xde
#define GAIA_NET_ARC 0x54
#define GAIA_NET_TABLE 0xa0
#define GAIA_NET_FROM 0xa1
#define GAIA_NET_TO 0xa2
#define GAIA_NET_GEOM 0xa3
#define GAIA_NET_NAME 0xa4
#define GAIA_NET_A_STAR_COEFF 0xa5
#define GAIA_NET_BLOCK 0xed
#define GAIA_XY 0x00
#define GAIA_XY_Z 0x01
#define GAIA_XY_M 0x02
#define GAIA_XY_Z_M 0x03
#define GAIA_KM 0
#define GAIA_M 1
#define GAIA_DM 2
#define GAIA_CM 3
#define GAIA_MM 4
#define GAIA_KMI 5
#define GAIA_IN 6
#define GAIA_FT 7
#define GAIA_YD 8
#define GAIA_MI 9
#define GAIA_FATH 10
#define GAIA_CH 11
#define GAIA_LINK 12
#define GAIA_US_IN 13
#define GAIA_US_FT 14
#define GAIA_US_YD 15
#define GAIA_US_CH 16
#define GAIA_US_MI 17
#define GAIA_IND_YD 18
#define GAIA_IND_FT 19
#define GAIA_IND_CH 20
#define GAIA_MIN_UNIT GAIA_KM
#define GAIA_MAX_UNIT GAIA_IND_CH
#define GAIA_SHP_NULL 0
#define GAIA_SHP_POINT 1
#define GAIA_SHP_POLYLINE 3
#define GAIA_SHP_POLYGON 5
#define GAIA_SHP_MULTIPOINT 8
#define GAIA_SHP_POINTZ 11
#define GAIA_SHP_POLYLINEZ 13
#define GAIA_SHP_POLYGONZ 15
#define GAIA_SHP_MULTIPOINTZ 18
#define GAIA_SHP_POINTM 21
#define GAIA_SHP_POLYLINEM 23
#define GAIA_SHP_POLYGONM 25
#define GAIA_SHP_MULTIPOINTM 28
#define GAIA_SAME_ORDER 0
#define GAIA_REVERSE_ORDER -1
#define GAIA_LHR_ORDER -2
#define gaiaGetPoint(xy,v,x,y) \
{*x = xy[(v) * 2]; \
*y = xy[(v) * 2 + 1];}
#define gaiaSetPoint(xy,v,x,y) \
{xy[(v) * 2] = x; \
xy[(v) * 2 + 1] = y;}
#define gaiaGetPointXYZ(xyz,v,x,y,z) \
{*x = xyz[(v) * 3]; \
*y = xyz[(v) * 3 + 1]; \
*z = xyz[(v) * 3 + 2];}
#define gaiaSetPointXYZ(xyz,v,x,y,z) \
{xyz[(v) * 3] = x; \
xyz[(v) * 3 + 1] = y; \
xyz[(v) * 3 + 2] = z;}
#define gaiaGetPointXYM(xym,v,x,y,m) \
{*x = xym[(v) * 3]; \
*y = xym[(v) * 3 + 1]; \
*m = xym[(v) * 3 + 2];}
#define gaiaSetPointXYM(xym,v,x,y,m) \
{xym[(v) * 3] = x; \
xym[(v) * 3 + 1] = y; \
xym[(v) * 3 + 2] = m;}
#define gaiaGetPointXYZM(xyzm,v,x,y,z,m) \
{*x = xyzm[(v) * 4]; \
*y = xyzm[(v) * 4 + 1]; \
*z = xyzm[(v) * 4 + 2]; \
*m = xyzm[(v) * 4 + 3];}
#define gaiaSetPointXYZM(xyzm,v,x,y,z,m) \
{xyzm[(v) * 4] = x; \
xyzm[(v) * 4 + 1] = y; \
xyzm[(v) * 4 + 2] = z; \
xyzm[(v) * 4 + 3] = m;}
#ifdef __cplusplus
}
#endif
#endif