{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module GDAL.OGRCurve.FFI where import Data.Word import Data.Int import Foreign.C import Foreign.Ptr import GDAL.OGRCurve.RawType import GDAL.OGRCurve.RawType import GDAL.OGRGeometry.RawType import GDAL.OGRPolygon.RawType import GDAL.OGRMultiPolygon.RawType import GDAL.OGREnvelope.RawType import GDAL.OGRPoint.RawType import GDAL.OGRPointIterator.RawType foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_getGeometryType" c_ogrcurve_getgeometrytype :: Ptr RawOGRCurve -> IO CUInt foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_getEnvelope" c_ogrcurve_getenvelope :: Ptr RawOGRCurve -> Ptr RawOGREnvelope -> IO () foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_Intersects" c_ogrcurve_intersects :: Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_Equals" c_ogrcurve_equals :: Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_Disjoint" c_ogrcurve_disjoint :: Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_Touches" c_ogrcurve_touches :: Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_Crosses" c_ogrcurve_crosses :: Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_Within" c_ogrcurve_within :: Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_Contains" c_ogrcurve_contains :: Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_Overlaps" c_ogrcurve_overlaps :: Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_Boundary" c_ogrcurve_boundary :: Ptr RawOGRCurve -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_Distance" c_ogrcurve_distance :: Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO CDouble foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_ConvexHull" c_ogrcurve_convexhull :: Ptr RawOGRCurve -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_Buffer" c_ogrcurve_buffer :: Ptr RawOGRCurve -> CDouble -> CInt -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_Intersection" c_ogrcurve_intersection :: Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_Union" c_ogrcurve_union :: Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_UnionCascaded" c_ogrcurve_unioncascaded :: Ptr RawOGRCurve -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_Difference" c_ogrcurve_difference :: Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_SymDifference" c_ogrcurve_symdifference :: Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_Centroid" c_ogrcurve_centroid :: Ptr RawOGRCurve -> Ptr RawOGRPoint -> IO CInt foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_Simplify" c_ogrcurve_simplify :: Ptr RawOGRCurve -> CDouble -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_DelaunayTriangulation" c_ogrcurve_delaunaytriangulation :: Ptr RawOGRCurve -> CDouble -> CInt -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_Polygonize" c_ogrcurve_polygonize :: Ptr RawOGRCurve -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_Distance3D" c_ogrcurve_distance3d :: Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO CDouble foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_delete" c_ogrcurve_delete :: Ptr RawOGRCurve -> IO () foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_getNumPoints" c_ogrcurve_getnumpoints :: Ptr RawOGRCurve -> IO CInt foreign import ccall interruptible "HGDALOGRCurve.h OGRCurve_getPointIterator" c_ogrcurve_getpointiterator :: Ptr RawOGRCurve -> IO (Ptr RawOGRPointIterator)