{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module GDAL.OGRGeometry.FFI where import Data.Word import Data.Int import Foreign.C import Foreign.Ptr import GDAL.OGRGeometry.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 "HGDALOGRGeometry.h OGRGeometry_delete" c_ogrgeometry_delete :: Ptr RawOGRGeometry -> IO () foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_getGeometryType" c_ogrgeometry_getgeometrytype :: Ptr RawOGRGeometry -> IO CUInt foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_getEnvelope" c_ogrgeometry_getenvelope :: Ptr RawOGRGeometry -> Ptr RawOGREnvelope -> IO () foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_Intersects" c_ogrgeometry_intersects :: Ptr RawOGRGeometry -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_Equals" c_ogrgeometry_equals :: Ptr RawOGRGeometry -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_Disjoint" c_ogrgeometry_disjoint :: Ptr RawOGRGeometry -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_Touches" c_ogrgeometry_touches :: Ptr RawOGRGeometry -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_Crosses" c_ogrgeometry_crosses :: Ptr RawOGRGeometry -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_Within" c_ogrgeometry_within :: Ptr RawOGRGeometry -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_Contains" c_ogrgeometry_contains :: Ptr RawOGRGeometry -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_Overlaps" c_ogrgeometry_overlaps :: Ptr RawOGRGeometry -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_Boundary" c_ogrgeometry_boundary :: Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_Distance" c_ogrgeometry_distance :: Ptr RawOGRGeometry -> Ptr RawOGRGeometry -> IO CDouble foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_ConvexHull" c_ogrgeometry_convexhull :: Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_Buffer" c_ogrgeometry_buffer :: Ptr RawOGRGeometry -> CDouble -> CInt -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_Intersection" c_ogrgeometry_intersection :: Ptr RawOGRGeometry -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_Union" c_ogrgeometry_union :: Ptr RawOGRGeometry -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_UnionCascaded" c_ogrgeometry_unioncascaded :: Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_Difference" c_ogrgeometry_difference :: Ptr RawOGRGeometry -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_SymDifference" c_ogrgeometry_symdifference :: Ptr RawOGRGeometry -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_Centroid" c_ogrgeometry_centroid :: Ptr RawOGRGeometry -> Ptr RawOGRPoint -> IO CInt foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_Simplify" c_ogrgeometry_simplify :: Ptr RawOGRGeometry -> CDouble -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_oGRGeometry_SimplifyPreserveTopology" c_ogrgeometry_ogrgeometry_simplifypreservetopology :: Ptr RawOGRGeometry -> CDouble -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_DelaunayTriangulation" c_ogrgeometry_delaunaytriangulation :: Ptr RawOGRGeometry -> CDouble -> CInt -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_Polygonize" c_ogrgeometry_polygonize :: Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_Distance3D" c_ogrgeometry_distance3d :: Ptr RawOGRGeometry -> Ptr RawOGRGeometry -> IO CDouble foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_oGRGeometry_toPolygon" c_ogrgeometry_ogrgeometry_topolygon :: Ptr RawOGRGeometry -> IO (Ptr RawOGRPolygon) foreign import ccall interruptible "HGDALOGRGeometry.h OGRGeometry_oGRGeometry_toMultiPolygon" c_ogrgeometry_ogrgeometry_tomultipolygon :: Ptr RawOGRGeometry -> IO (Ptr RawOGRMultiPolygon)