{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances, MultiParamTypeClasses, OverlappingInstances, TemplateHaskell, TypeFamilies, TypeSynonymInstances #-} module GDAL.OGRSimpleCurve.Implementation where import Data.Monoid import Data.Word import Data.Int import Foreign.C import Foreign.Ptr import Language.Haskell.TH import Language.Haskell.TH.Syntax import System.IO.Unsafe import FFICXX.Runtime.Cast import FFICXX.Runtime.CodeGen.Cxx import FFICXX.Runtime.TH import GDAL.OGRSimpleCurve.RawType import GDAL.OGRSimpleCurve.FFI import GDAL.OGRSimpleCurve.Interface import GDAL.OGRSimpleCurve.Cast import GDAL.OGRSimpleCurve.RawType import GDAL.OGRSimpleCurve.Cast import GDAL.OGRSimpleCurve.Interface import GDAL.OGRPointIterator.RawType import GDAL.OGRPointIterator.Cast import GDAL.OGRPointIterator.Interface import GDAL.OGRPolygon.RawType import GDAL.OGRPolygon.Cast import GDAL.OGRPolygon.Interface import GDAL.OGRMultiPolygon.RawType import GDAL.OGRMultiPolygon.Cast import GDAL.OGRMultiPolygon.Interface import GDAL.OGREnvelope.RawType import GDAL.OGREnvelope.Cast import GDAL.OGREnvelope.Interface import GDAL.OGRPoint.RawType import GDAL.OGRPoint.Cast import GDAL.OGRPoint.Interface import GDAL.OGRCurve.RawType import GDAL.OGRCurve.Cast import GDAL.OGRCurve.Interface import GDAL.OGRGeometry.RawType import GDAL.OGRGeometry.Cast import GDAL.OGRGeometry.Interface import STD.Deletable.RawType import STD.Deletable.Cast import STD.Deletable.Interface instance () => IOGRSimpleCurve (OGRSimpleCurve) where instance () => IOGRCurve (OGRSimpleCurve) where getNumPoints :: OGRSimpleCurve -> IO CInt getNumPoints = (Ptr RawOGRSimpleCurve -> IO CInt) -> OGRSimpleCurve -> IO CInt forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRSimpleCurve -> IO CInt c_ogrsimplecurve_getnumpoints getPointIterator :: OGRSimpleCurve -> IO OGRPointIterator getPointIterator = (Ptr RawOGRSimpleCurve -> IO (Ptr RawOGRPointIterator)) -> OGRSimpleCurve -> IO OGRPointIterator forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRSimpleCurve -> IO (Ptr RawOGRPointIterator) c_ogrsimplecurve_getpointiterator instance () => IOGRGeometry (OGRSimpleCurve) where getGeometryType :: OGRSimpleCurve -> IO CUInt getGeometryType = (Ptr RawOGRSimpleCurve -> IO CUInt) -> OGRSimpleCurve -> IO CUInt forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRSimpleCurve -> IO CUInt c_ogrsimplecurve_getgeometrytype getEnvelope :: forall c0. (IOGREnvelope c0, FPtr c0) => OGRSimpleCurve -> c0 -> IO () getEnvelope = (Ptr RawOGRSimpleCurve -> Ptr RawOGREnvelope -> IO ()) -> OGRSimpleCurve -> c0 -> IO () forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawOGRSimpleCurve -> Ptr RawOGREnvelope -> IO () c_ogrsimplecurve_getenvelope intersects :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRSimpleCurve -> c0 -> IO CBool intersects = (Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO CBool) -> OGRSimpleCurve -> c0 -> IO CBool forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO CBool c_ogrsimplecurve_intersects equals :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRSimpleCurve -> c0 -> IO CBool equals = (Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO CBool) -> OGRSimpleCurve -> c0 -> IO CBool forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO CBool c_ogrsimplecurve_equals disjoint :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRSimpleCurve -> c0 -> IO CBool disjoint = (Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO CBool) -> OGRSimpleCurve -> c0 -> IO CBool forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO CBool c_ogrsimplecurve_disjoint touches :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRSimpleCurve -> c0 -> IO CBool touches = (Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO CBool) -> OGRSimpleCurve -> c0 -> IO CBool forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO CBool c_ogrsimplecurve_touches crosses :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRSimpleCurve -> c0 -> IO CBool crosses = (Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO CBool) -> OGRSimpleCurve -> c0 -> IO CBool forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO CBool c_ogrsimplecurve_crosses within :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRSimpleCurve -> c0 -> IO CBool within = (Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO CBool) -> OGRSimpleCurve -> c0 -> IO CBool forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO CBool c_ogrsimplecurve_within contains :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRSimpleCurve -> c0 -> IO CBool contains = (Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO CBool) -> OGRSimpleCurve -> c0 -> IO CBool forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO CBool c_ogrsimplecurve_contains overlaps :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRSimpleCurve -> c0 -> IO CBool overlaps = (Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO CBool) -> OGRSimpleCurve -> c0 -> IO CBool forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO CBool c_ogrsimplecurve_overlaps boundary :: OGRSimpleCurve -> IO OGRGeometry boundary = (Ptr RawOGRSimpleCurve -> IO (Ptr RawOGRGeometry)) -> OGRSimpleCurve -> IO OGRGeometry forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRSimpleCurve -> IO (Ptr RawOGRGeometry) c_ogrsimplecurve_boundary distance :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRSimpleCurve -> c0 -> IO CDouble distance = (Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO CDouble) -> OGRSimpleCurve -> c0 -> IO CDouble forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO CDouble c_ogrsimplecurve_distance convexHull :: OGRSimpleCurve -> IO OGRGeometry convexHull = (Ptr RawOGRSimpleCurve -> IO (Ptr RawOGRGeometry)) -> OGRSimpleCurve -> IO OGRGeometry forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRSimpleCurve -> IO (Ptr RawOGRGeometry) c_ogrsimplecurve_convexhull buffer :: OGRSimpleCurve -> CDouble -> CInt -> IO OGRGeometry buffer = (Ptr RawOGRSimpleCurve -> CDouble -> CInt -> IO (Ptr RawOGRGeometry)) -> OGRSimpleCurve -> CDouble -> CInt -> IO OGRGeometry forall a ca x1 cx1 x2 cx2 y cy. (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable y cy) => (ca -> cx1 -> cx2 -> IO cy) -> a -> x1 -> x2 -> IO y xform2 Ptr RawOGRSimpleCurve -> CDouble -> CInt -> IO (Ptr RawOGRGeometry) c_ogrsimplecurve_buffer intersection :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRSimpleCurve -> c0 -> IO OGRGeometry intersection = (Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry)) -> OGRSimpleCurve -> c0 -> IO OGRGeometry forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) c_ogrsimplecurve_intersection union :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRSimpleCurve -> c0 -> IO OGRGeometry union = (Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry)) -> OGRSimpleCurve -> c0 -> IO OGRGeometry forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) c_ogrsimplecurve_union unionCascaded :: OGRSimpleCurve -> IO OGRGeometry unionCascaded = (Ptr RawOGRSimpleCurve -> IO (Ptr RawOGRGeometry)) -> OGRSimpleCurve -> IO OGRGeometry forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRSimpleCurve -> IO (Ptr RawOGRGeometry) c_ogrsimplecurve_unioncascaded difference :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRSimpleCurve -> c0 -> IO OGRGeometry difference = (Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry)) -> OGRSimpleCurve -> c0 -> IO OGRGeometry forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) c_ogrsimplecurve_difference symDifference :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRSimpleCurve -> c0 -> IO OGRGeometry symDifference = (Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry)) -> OGRSimpleCurve -> c0 -> IO OGRGeometry forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) c_ogrsimplecurve_symdifference centroid :: forall c0. (IOGRPoint c0, FPtr c0) => OGRSimpleCurve -> c0 -> IO CInt centroid = (Ptr RawOGRSimpleCurve -> Ptr RawOGRPoint -> IO CInt) -> OGRSimpleCurve -> c0 -> IO CInt forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawOGRSimpleCurve -> Ptr RawOGRPoint -> IO CInt c_ogrsimplecurve_centroid simplify :: OGRSimpleCurve -> CDouble -> IO OGRGeometry simplify = (Ptr RawOGRSimpleCurve -> CDouble -> IO (Ptr RawOGRGeometry)) -> OGRSimpleCurve -> CDouble -> IO OGRGeometry forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawOGRSimpleCurve -> CDouble -> IO (Ptr RawOGRGeometry) c_ogrsimplecurve_simplify delaunayTriangulation :: OGRSimpleCurve -> CDouble -> CInt -> IO OGRGeometry delaunayTriangulation = (Ptr RawOGRSimpleCurve -> CDouble -> CInt -> IO (Ptr RawOGRGeometry)) -> OGRSimpleCurve -> CDouble -> CInt -> IO OGRGeometry forall a ca x1 cx1 x2 cx2 y cy. (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable y cy) => (ca -> cx1 -> cx2 -> IO cy) -> a -> x1 -> x2 -> IO y xform2 Ptr RawOGRSimpleCurve -> CDouble -> CInt -> IO (Ptr RawOGRGeometry) c_ogrsimplecurve_delaunaytriangulation polygonize :: OGRSimpleCurve -> IO OGRGeometry polygonize = (Ptr RawOGRSimpleCurve -> IO (Ptr RawOGRGeometry)) -> OGRSimpleCurve -> IO OGRGeometry forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRSimpleCurve -> IO (Ptr RawOGRGeometry) c_ogrsimplecurve_polygonize distance3D :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRSimpleCurve -> c0 -> IO CDouble distance3D = (Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO CDouble) -> OGRSimpleCurve -> c0 -> IO CDouble forall a ca x1 cx1 y cy. (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y xform1 Ptr RawOGRSimpleCurve -> Ptr RawOGRGeometry -> IO CDouble c_ogrsimplecurve_distance3d instance () => IDeletable (OGRSimpleCurve) where delete :: OGRSimpleCurve -> IO () delete = (Ptr RawOGRSimpleCurve -> IO ()) -> OGRSimpleCurve -> IO () forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRSimpleCurve -> IO () c_ogrsimplecurve_delete oGRSimpleCurve_getPoints :: () => OGRSimpleCurve -> Ptr () -> CInt -> Ptr () -> CInt -> Ptr () -> CInt -> IO () oGRSimpleCurve_getPoints :: OGRSimpleCurve -> Ptr () -> CInt -> Ptr () -> CInt -> Ptr () -> CInt -> IO () oGRSimpleCurve_getPoints = (Ptr RawOGRSimpleCurve -> Ptr () -> CInt -> Ptr () -> CInt -> Ptr () -> CInt -> IO ()) -> OGRSimpleCurve -> Ptr () -> CInt -> Ptr () -> CInt -> Ptr () -> CInt -> IO () forall a ca x1 cx1 x2 cx2 x3 cx3 x4 cx4 x5 cx5 x6 cx6 y cy. (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable x3 cx3, Castable x4 cx4, Castable x5 cx5, Castable x6 cx6, Castable y cy) => (ca -> cx1 -> cx2 -> cx3 -> cx4 -> cx5 -> cx6 -> IO cy) -> a -> x1 -> x2 -> x3 -> x4 -> x5 -> x6 -> IO y xform6 Ptr RawOGRSimpleCurve -> Ptr () -> CInt -> Ptr () -> CInt -> Ptr () -> CInt -> IO () c_ogrsimplecurve_ogrsimplecurve_getpoints