#ifdef __cplusplus extern "C" { #endif #pragma once #include "hgdalType.h" #include "HGDALOGRGeometry.h" #include "STDDeletable.h" #define OGRCURVE_DECL_VIRT(Type) \ int Type##_getNumPoints ( Type##_p p );\ OGRPointIterator_p Type##_getPointIterator ( Type##_p p ); #define OGRCURVE_DECL_NONVIRT(Type) \ #define OGRCURVE_DECL_ACCESSOR(Type) \ #define OGRCURVE_DEF_VIRT(Type) \ int Type##_getNumPoints ( Type##_p p ) {\ return ((TYPECASTMETHOD(Type, getNumPoints, OGRCurve))(p))->getNumPoints();\ }\ \ OGRPointIterator_p Type##_getPointIterator ( Type##_p p ) {\ return from_nonconst_to_nonconst((OGRPointIterator*)((TYPECASTMETHOD(Type, getPointIterator, OGRCurve))(p))->getPointIterator());\ } #define OGRCURVE_DEF_NONVIRT(Type) \ #define OGRCURVE_DEF_ACCESSOR(Type) \ OGRGEOMETRY_DECL_VIRT(OGRCurve) DELETABLE_DECL_VIRT(OGRCurve) OGRCURVE_DECL_VIRT(OGRCurve) OGRCURVE_DECL_NONVIRT(OGRCurve) OGRCURVE_DECL_ACCESSOR(OGRCurve) #ifdef __cplusplus } #endif