29 #ifndef OGR_WKB_H_INCLUDED
30 #define OGR_WKB_H_INCLUDED
35 bool CPL_DLL OGRWKBGetGeomType(
const GByte *pabyWkb,
size_t nWKBSize,
36 bool &bNeedSwap, uint32_t &nType);
37 bool OGRWKBPolygonGetArea(
const GByte *&pabyWkb,
size_t &nWKBSize,
39 bool OGRWKBMultiPolygonGetArea(
const GByte *&pabyWkb,
size_t &nWKBSize,
42 bool CPL_DLL OGRWKBGetBoundingBox(
const GByte *pabyWkb,
size_t nWKBSize,
45 bool CPL_DLL OGRWKBIntersectsPessimistic(
const GByte *pabyWkb,
size_t nWKBSize,
48 void CPL_DLL OGRWKBFixupCounterClockWiseExternalRing(
GByte *pabyWkb,
59 const GByte CPL_DLL *WKBFromEWKB(
GByte *pabyEWKB,
size_t nEWKBSize,
60 size_t &nWKBSizeOut,
int *pnSRIDOut);
81 if (nItemSize > m_nCapacity - m_nSize)
86 void *pRet =
static_cast<GByte *
>(m_pRawBuffer) + m_nSize;
99 size_t m_nCapacity = 0;
105 void *m_pRawBuffer =
nullptr;
110 virtual bool Grow(
size_t nItemSize) = 0;
125 bool m_bCanUseStrtod =
false;
138 size_t TranslateWKT(
void *pabyWKTStart,
size_t nLength,
139 bool bCanAlterByteAfter);
142 #endif // OGR_WKB_H_INCLUDED