{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module GDAL.OGRSurface.FFI where import Data.Word import Data.Int import Foreign.C import Foreign.Ptr import GDAL.OGRSurface.RawType import GDAL.OGRSurface.RawType import GDAL.OGRGeometry.RawType import GDAL.OGRPolygon.RawType import GDAL.OGRMultiPolygon.RawType import GDAL.OGREnvelope.RawType import GDAL.OGRPoint.RawType foreign import ccall interruptible "HGDALOGRSurface.h OGRSurface_getGeometryType" c_ogrsurface_getgeometrytype :: Ptr RawOGRSurface -> IO CUInt foreign import ccall interruptible "HGDALOGRSurface.h OGRSurface_getEnvelope" c_ogrsurface_getenvelope :: Ptr RawOGRSurface -> Ptr RawOGREnvelope -> IO () foreign import ccall interruptible "HGDALOGRSurface.h OGRSurface_Intersects" c_ogrsurface_intersects :: Ptr RawOGRSurface -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRSurface.h OGRSurface_Equals" c_ogrsurface_equals :: Ptr RawOGRSurface -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRSurface.h OGRSurface_Disjoint" c_ogrsurface_disjoint :: Ptr RawOGRSurface -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRSurface.h OGRSurface_Touches" c_ogrsurface_touches :: Ptr RawOGRSurface -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRSurface.h OGRSurface_Crosses" c_ogrsurface_crosses :: Ptr RawOGRSurface -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRSurface.h OGRSurface_Within" c_ogrsurface_within :: Ptr RawOGRSurface -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRSurface.h OGRSurface_Contains" c_ogrsurface_contains :: Ptr RawOGRSurface -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRSurface.h OGRSurface_Overlaps" c_ogrsurface_overlaps :: Ptr RawOGRSurface -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRSurface.h OGRSurface_Boundary" c_ogrsurface_boundary :: Ptr RawOGRSurface -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRSurface.h OGRSurface_Distance" c_ogrsurface_distance :: Ptr RawOGRSurface -> Ptr RawOGRGeometry -> IO CDouble foreign import ccall interruptible "HGDALOGRSurface.h OGRSurface_ConvexHull" c_ogrsurface_convexhull :: Ptr RawOGRSurface -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRSurface.h OGRSurface_Buffer" c_ogrsurface_buffer :: Ptr RawOGRSurface -> CDouble -> CInt -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRSurface.h OGRSurface_Intersection" c_ogrsurface_intersection :: Ptr RawOGRSurface -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRSurface.h OGRSurface_Union" c_ogrsurface_union :: Ptr RawOGRSurface -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRSurface.h OGRSurface_UnionCascaded" c_ogrsurface_unioncascaded :: Ptr RawOGRSurface -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRSurface.h OGRSurface_Difference" c_ogrsurface_difference :: Ptr RawOGRSurface -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRSurface.h OGRSurface_SymDifference" c_ogrsurface_symdifference :: Ptr RawOGRSurface -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRSurface.h OGRSurface_Centroid" c_ogrsurface_centroid :: Ptr RawOGRSurface -> Ptr RawOGRPoint -> IO CInt foreign import ccall interruptible "HGDALOGRSurface.h OGRSurface_Simplify" c_ogrsurface_simplify :: Ptr RawOGRSurface -> CDouble -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRSurface.h OGRSurface_DelaunayTriangulation" c_ogrsurface_delaunaytriangulation :: Ptr RawOGRSurface -> CDouble -> CInt -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRSurface.h OGRSurface_Polygonize" c_ogrsurface_polygonize :: Ptr RawOGRSurface -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRSurface.h OGRSurface_Distance3D" c_ogrsurface_distance3d :: Ptr RawOGRSurface -> Ptr RawOGRGeometry -> IO CDouble foreign import ccall interruptible "HGDALOGRSurface.h OGRSurface_delete" c_ogrsurface_delete :: Ptr RawOGRSurface -> IO ()