{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module GDAL.OGRPolygon.FFI where import Data.Word import Data.Int import Foreign.C import Foreign.Ptr import GDAL.OGRPolygon.RawType import GDAL.OGRPolygon.RawType import GDAL.OGRGeometry.RawType import GDAL.OGRMultiPolygon.RawType import GDAL.OGREnvelope.RawType import GDAL.OGRPoint.RawType import GDAL.OGRLinearRing.RawType foreign import ccall interruptible "HGDALOGRPolygon.h OGRPolygon_getGeometryType" c_ogrpolygon_getgeometrytype :: Ptr RawOGRPolygon -> IO CUInt foreign import ccall interruptible "HGDALOGRPolygon.h OGRPolygon_getEnvelope" c_ogrpolygon_getenvelope :: Ptr RawOGRPolygon -> Ptr RawOGREnvelope -> IO () foreign import ccall interruptible "HGDALOGRPolygon.h OGRPolygon_Intersects" c_ogrpolygon_intersects :: Ptr RawOGRPolygon -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRPolygon.h OGRPolygon_Equals" c_ogrpolygon_equals :: Ptr RawOGRPolygon -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRPolygon.h OGRPolygon_Disjoint" c_ogrpolygon_disjoint :: Ptr RawOGRPolygon -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRPolygon.h OGRPolygon_Touches" c_ogrpolygon_touches :: Ptr RawOGRPolygon -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRPolygon.h OGRPolygon_Crosses" c_ogrpolygon_crosses :: Ptr RawOGRPolygon -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRPolygon.h OGRPolygon_Within" c_ogrpolygon_within :: Ptr RawOGRPolygon -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRPolygon.h OGRPolygon_Contains" c_ogrpolygon_contains :: Ptr RawOGRPolygon -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRPolygon.h OGRPolygon_Overlaps" c_ogrpolygon_overlaps :: Ptr RawOGRPolygon -> Ptr RawOGRGeometry -> IO CBool foreign import ccall interruptible "HGDALOGRPolygon.h OGRPolygon_Boundary" c_ogrpolygon_boundary :: Ptr RawOGRPolygon -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRPolygon.h OGRPolygon_Distance" c_ogrpolygon_distance :: Ptr RawOGRPolygon -> Ptr RawOGRGeometry -> IO CDouble foreign import ccall interruptible "HGDALOGRPolygon.h OGRPolygon_ConvexHull" c_ogrpolygon_convexhull :: Ptr RawOGRPolygon -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRPolygon.h OGRPolygon_Buffer" c_ogrpolygon_buffer :: Ptr RawOGRPolygon -> CDouble -> CInt -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRPolygon.h OGRPolygon_Intersection" c_ogrpolygon_intersection :: Ptr RawOGRPolygon -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRPolygon.h OGRPolygon_Union" c_ogrpolygon_union :: Ptr RawOGRPolygon -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRPolygon.h OGRPolygon_UnionCascaded" c_ogrpolygon_unioncascaded :: Ptr RawOGRPolygon -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRPolygon.h OGRPolygon_Difference" c_ogrpolygon_difference :: Ptr RawOGRPolygon -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRPolygon.h OGRPolygon_SymDifference" c_ogrpolygon_symdifference :: Ptr RawOGRPolygon -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRPolygon.h OGRPolygon_Centroid" c_ogrpolygon_centroid :: Ptr RawOGRPolygon -> Ptr RawOGRPoint -> IO CInt foreign import ccall interruptible "HGDALOGRPolygon.h OGRPolygon_Simplify" c_ogrpolygon_simplify :: Ptr RawOGRPolygon -> CDouble -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRPolygon.h OGRPolygon_DelaunayTriangulation" c_ogrpolygon_delaunaytriangulation :: Ptr RawOGRPolygon -> CDouble -> CInt -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRPolygon.h OGRPolygon_Polygonize" c_ogrpolygon_polygonize :: Ptr RawOGRPolygon -> IO (Ptr RawOGRGeometry) foreign import ccall interruptible "HGDALOGRPolygon.h OGRPolygon_Distance3D" c_ogrpolygon_distance3d :: Ptr RawOGRPolygon -> Ptr RawOGRGeometry -> IO CDouble foreign import ccall interruptible "HGDALOGRPolygon.h OGRPolygon_delete" c_ogrpolygon_delete :: Ptr RawOGRPolygon -> IO () foreign import ccall interruptible "HGDALOGRPolygon.h OGRPolygon_oGRPolygon_getExteriorRing" c_ogrpolygon_ogrpolygon_getexteriorring :: Ptr RawOGRPolygon -> IO (Ptr RawOGRLinearRing)