1 2 #ifndef WK_GEOMETRY_HANDLER_H 3 #define WK_GEOMETRY_HANDLER_H 4 5 #include "wk/coord.hpp" 6 #include "wk/parse-exception.hpp" 7 #include "wk/geometry-meta.hpp" 8 9 class WKGeometryHandler { 10 public: 11 nextFeatureStart(size_t featureId)12 virtual void nextFeatureStart(size_t featureId) { 13 14 } 15 nextFeatureEnd(size_t featureId)16 virtual void nextFeatureEnd(size_t featureId) { 17 18 } 19 nextNull(size_t featureId)20 virtual void nextNull(size_t featureId) { 21 22 } 23 nextGeometryStart(const WKGeometryMeta & meta,uint32_t partId)24 virtual void nextGeometryStart(const WKGeometryMeta& meta, uint32_t partId) { 25 26 } 27 nextGeometryEnd(const WKGeometryMeta & meta,uint32_t partId)28 virtual void nextGeometryEnd(const WKGeometryMeta& meta, uint32_t partId) { 29 30 } 31 nextLinearRingStart(const WKGeometryMeta & meta,uint32_t size,uint32_t ringId)32 virtual void nextLinearRingStart(const WKGeometryMeta& meta, uint32_t size, uint32_t ringId) { 33 34 } 35 nextLinearRingEnd(const WKGeometryMeta & meta,uint32_t size,uint32_t ringId)36 virtual void nextLinearRingEnd(const WKGeometryMeta& meta, uint32_t size, uint32_t ringId) { 37 38 } 39 nextCoordinate(const WKGeometryMeta & meta,const WKCoord & coord,uint32_t coordId)40 virtual void nextCoordinate(const WKGeometryMeta& meta, const WKCoord& coord, uint32_t coordId) { 41 42 } 43 nextError(WKParseException & error,size_t featureId)44 virtual bool nextError(WKParseException& error, size_t featureId) { 45 return false; 46 } 47 48 }; 49 50 #endif 51