#ifdef __cplusplus extern "C" { #endif #pragma once #include "hgdalType.h" #include "HGDALOGRGeometry.h" #include "STDDeletable.h" #define OGRPOINT_DECL_VIRT(Type) \ #define OGRPOINT_DECL_NONVIRT(Type) \ Type##_p Type##_newOGRPoint ( );\ Type##_p Type##_newOGRPoint2 ( double x, double y );\ Type##_p Type##_newOGRPoint3 ( double x, double y, double z );\ Type##_p Type##_newOGRPoint4 ( double x, double y, double z, double m );\ double Type##_oGRPoint_getX ( Type##_p p );\ double Type##_oGRPoint_getY ( Type##_p p );\ double Type##_oGRPoint_getZ ( Type##_p p );\ double Type##_oGRPoint_getM ( Type##_p p );\ void Type##_oGRPoint_setX ( Type##_p p, double xIn );\ void Type##_oGRPoint_setY ( Type##_p p, double yIn );\ void Type##_oGRPoint_setZ ( Type##_p p, double zIn );\ void Type##_oGRPoint_setM ( Type##_p p, double mIn ); #define OGRPOINT_DECL_ACCESSOR(Type) \ #define OGRPOINT_DEF_VIRT(Type) \ #define OGRPOINT_DEF_NONVIRT(Type) \ Type##_p Type##_newOGRPoint ( ) {\ Type* newp=new Type();return from_nonconst_to_nonconst(newp);\ }\ \ Type##_p Type##_newOGRPoint2 ( double x, double y ) {\ Type* newp=new Type(x, y);return from_nonconst_to_nonconst(newp);\ }\ \ Type##_p Type##_newOGRPoint3 ( double x, double y, double z ) {\ Type* newp=new Type(x, y, z);return from_nonconst_to_nonconst(newp);\ }\ \ Type##_p Type##_newOGRPoint4 ( double x, double y, double z, double m ) {\ Type* newp=new Type(x, y, z, m);return from_nonconst_to_nonconst(newp);\ }\ \ double Type##_oGRPoint_getX ( Type##_p p ) {\ return ((TYPECASTMETHOD(Type, oGRPoint_getX, OGRPoint))(p))->getX();\ }\ \ double Type##_oGRPoint_getY ( Type##_p p ) {\ return ((TYPECASTMETHOD(Type, oGRPoint_getY, OGRPoint))(p))->getY();\ }\ \ double Type##_oGRPoint_getZ ( Type##_p p ) {\ return ((TYPECASTMETHOD(Type, oGRPoint_getZ, OGRPoint))(p))->getZ();\ }\ \ double Type##_oGRPoint_getM ( Type##_p p ) {\ return ((TYPECASTMETHOD(Type, oGRPoint_getM, OGRPoint))(p))->getM();\ }\ \ void Type##_oGRPoint_setX ( Type##_p p, double xIn ) {\ ((TYPECASTMETHOD(Type, oGRPoint_setX, OGRPoint))(p))->setX(xIn);\ }\ \ void Type##_oGRPoint_setY ( Type##_p p, double yIn ) {\ ((TYPECASTMETHOD(Type, oGRPoint_setY, OGRPoint))(p))->setY(yIn);\ }\ \ void Type##_oGRPoint_setZ ( Type##_p p, double zIn ) {\ ((TYPECASTMETHOD(Type, oGRPoint_setZ, OGRPoint))(p))->setZ(zIn);\ }\ \ void Type##_oGRPoint_setM ( Type##_p p, double mIn ) {\ ((TYPECASTMETHOD(Type, oGRPoint_setM, OGRPoint))(p))->setM(mIn);\ } #define OGRPOINT_DEF_ACCESSOR(Type) \ OGRGEOMETRY_DECL_VIRT(OGRPoint) DELETABLE_DECL_VIRT(OGRPoint) OGRPOINT_DECL_VIRT(OGRPoint) OGRPOINT_DECL_NONVIRT(OGRPoint) OGRPOINT_DECL_ACCESSOR(OGRPoint) #ifdef __cplusplus } #endif