#ifdef __cplusplus extern "C" { #endif #pragma once #include "OGDFType.h" #include "STDDeletable.h" #include "stdcxxType.h" #define DPOINT_DECL_VIRT(Type) \ #define DPOINT_DECL_NONVIRT(Type) \ Type##_p Type##_newDPoint ( double x, double y ); #define DPOINT_DECL_ACCESSOR(Type) \ double Type##_m_x_get ( Type##_p p );\ void Type##_m_x_set ( Type##_p p, double x );\ double Type##_m_y_get ( Type##_p p );\ void Type##_m_y_set ( Type##_p p, double x ); #define DPOINT_DEF_VIRT(Type) \ #define DPOINT_DEF_NONVIRT(Type) \ Type##_p Type##_newDPoint ( double x, double y ) {\ Type* newp=new Type(x, y);return from_nonconst_to_nonconst(newp);\ } #define DPOINT_DEF_ACCESSOR(Type) \ double Type##_m_x_get ( Type##_p p ) {\ return (from_nonconst_to_nonconst(p))->m_x;\ }\ void Type##_m_x_set ( Type##_p p, double x ) {\ ((from_nonconst_to_nonconst(p))->m_x)=x;\ }\ double Type##_m_y_get ( Type##_p p ) {\ return (from_nonconst_to_nonconst(p))->m_y;\ }\ void Type##_m_y_set ( Type##_p p, double x ) {\ ((from_nonconst_to_nonconst(p))->m_y)=x;\ } DELETABLE_DECL_VIRT(DPoint) DPOINT_DECL_VIRT(DPoint) DPOINT_DECL_NONVIRT(DPoint) DPOINT_DECL_ACCESSOR(DPoint) #ifdef __cplusplus } #endif