{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances, MultiParamTypeClasses, OverlappingInstances, TemplateHaskell, TypeFamilies, TypeSynonymInstances #-} module GDAL.OGRCurve.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.OGRCurve.RawType import GDAL.OGRCurve.FFI import GDAL.OGRCurve.Interface import GDAL.OGRCurve.Cast import GDAL.OGRCurve.RawType import GDAL.OGRCurve.Cast import GDAL.OGRCurve.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.OGRPointIterator.RawType import GDAL.OGRPointIterator.Cast import GDAL.OGRPointIterator.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 () => IOGRCurve (OGRCurve) where getNumPoints :: OGRCurve -> IO CInt getNumPoints = (Ptr RawOGRCurve -> IO CInt) -> OGRCurve -> IO CInt forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRCurve -> IO CInt c_ogrcurve_getnumpoints getPointIterator :: OGRCurve -> IO OGRPointIterator getPointIterator = (Ptr RawOGRCurve -> IO (Ptr RawOGRPointIterator)) -> OGRCurve -> IO OGRPointIterator forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRCurve -> IO (Ptr RawOGRPointIterator) c_ogrcurve_getpointiterator instance () => IOGRGeometry (OGRCurve) where getGeometryType :: OGRCurve -> IO CUInt getGeometryType = (Ptr RawOGRCurve -> IO CUInt) -> OGRCurve -> IO CUInt forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRCurve -> IO CUInt c_ogrcurve_getgeometrytype getEnvelope :: forall c0. (IOGREnvelope c0, FPtr c0) => OGRCurve -> c0 -> IO () getEnvelope = (Ptr RawOGRCurve -> Ptr RawOGREnvelope -> IO ()) -> OGRCurve -> 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 RawOGRCurve -> Ptr RawOGREnvelope -> IO () c_ogrcurve_getenvelope intersects :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRCurve -> c0 -> IO CBool intersects = (Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO CBool) -> OGRCurve -> 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 RawOGRCurve -> Ptr RawOGRGeometry -> IO CBool c_ogrcurve_intersects equals :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRCurve -> c0 -> IO CBool equals = (Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO CBool) -> OGRCurve -> 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 RawOGRCurve -> Ptr RawOGRGeometry -> IO CBool c_ogrcurve_equals disjoint :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRCurve -> c0 -> IO CBool disjoint = (Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO CBool) -> OGRCurve -> 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 RawOGRCurve -> Ptr RawOGRGeometry -> IO CBool c_ogrcurve_disjoint touches :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRCurve -> c0 -> IO CBool touches = (Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO CBool) -> OGRCurve -> 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 RawOGRCurve -> Ptr RawOGRGeometry -> IO CBool c_ogrcurve_touches crosses :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRCurve -> c0 -> IO CBool crosses = (Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO CBool) -> OGRCurve -> 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 RawOGRCurve -> Ptr RawOGRGeometry -> IO CBool c_ogrcurve_crosses within :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRCurve -> c0 -> IO CBool within = (Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO CBool) -> OGRCurve -> 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 RawOGRCurve -> Ptr RawOGRGeometry -> IO CBool c_ogrcurve_within contains :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRCurve -> c0 -> IO CBool contains = (Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO CBool) -> OGRCurve -> 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 RawOGRCurve -> Ptr RawOGRGeometry -> IO CBool c_ogrcurve_contains overlaps :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRCurve -> c0 -> IO CBool overlaps = (Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO CBool) -> OGRCurve -> 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 RawOGRCurve -> Ptr RawOGRGeometry -> IO CBool c_ogrcurve_overlaps boundary :: OGRCurve -> IO OGRGeometry boundary = (Ptr RawOGRCurve -> IO (Ptr RawOGRGeometry)) -> OGRCurve -> IO OGRGeometry forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRCurve -> IO (Ptr RawOGRGeometry) c_ogrcurve_boundary distance :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRCurve -> c0 -> IO CDouble distance = (Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO CDouble) -> OGRCurve -> 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 RawOGRCurve -> Ptr RawOGRGeometry -> IO CDouble c_ogrcurve_distance convexHull :: OGRCurve -> IO OGRGeometry convexHull = (Ptr RawOGRCurve -> IO (Ptr RawOGRGeometry)) -> OGRCurve -> IO OGRGeometry forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRCurve -> IO (Ptr RawOGRGeometry) c_ogrcurve_convexhull buffer :: OGRCurve -> CDouble -> CInt -> IO OGRGeometry buffer = (Ptr RawOGRCurve -> CDouble -> CInt -> IO (Ptr RawOGRGeometry)) -> OGRCurve -> 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 RawOGRCurve -> CDouble -> CInt -> IO (Ptr RawOGRGeometry) c_ogrcurve_buffer intersection :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRCurve -> c0 -> IO OGRGeometry intersection = (Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry)) -> OGRCurve -> 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 RawOGRCurve -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) c_ogrcurve_intersection union :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRCurve -> c0 -> IO OGRGeometry union = (Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry)) -> OGRCurve -> 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 RawOGRCurve -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) c_ogrcurve_union unionCascaded :: OGRCurve -> IO OGRGeometry unionCascaded = (Ptr RawOGRCurve -> IO (Ptr RawOGRGeometry)) -> OGRCurve -> IO OGRGeometry forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRCurve -> IO (Ptr RawOGRGeometry) c_ogrcurve_unioncascaded difference :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRCurve -> c0 -> IO OGRGeometry difference = (Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry)) -> OGRCurve -> 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 RawOGRCurve -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) c_ogrcurve_difference symDifference :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRCurve -> c0 -> IO OGRGeometry symDifference = (Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry)) -> OGRCurve -> 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 RawOGRCurve -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) c_ogrcurve_symdifference centroid :: forall c0. (IOGRPoint c0, FPtr c0) => OGRCurve -> c0 -> IO CInt centroid = (Ptr RawOGRCurve -> Ptr RawOGRPoint -> IO CInt) -> OGRCurve -> 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 RawOGRCurve -> Ptr RawOGRPoint -> IO CInt c_ogrcurve_centroid simplify :: OGRCurve -> CDouble -> IO OGRGeometry simplify = (Ptr RawOGRCurve -> CDouble -> IO (Ptr RawOGRGeometry)) -> OGRCurve -> 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 RawOGRCurve -> CDouble -> IO (Ptr RawOGRGeometry) c_ogrcurve_simplify delaunayTriangulation :: OGRCurve -> CDouble -> CInt -> IO OGRGeometry delaunayTriangulation = (Ptr RawOGRCurve -> CDouble -> CInt -> IO (Ptr RawOGRGeometry)) -> OGRCurve -> 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 RawOGRCurve -> CDouble -> CInt -> IO (Ptr RawOGRGeometry) c_ogrcurve_delaunaytriangulation polygonize :: OGRCurve -> IO OGRGeometry polygonize = (Ptr RawOGRCurve -> IO (Ptr RawOGRGeometry)) -> OGRCurve -> IO OGRGeometry forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRCurve -> IO (Ptr RawOGRGeometry) c_ogrcurve_polygonize distance3D :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRCurve -> c0 -> IO CDouble distance3D = (Ptr RawOGRCurve -> Ptr RawOGRGeometry -> IO CDouble) -> OGRCurve -> 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 RawOGRCurve -> Ptr RawOGRGeometry -> IO CDouble c_ogrcurve_distance3d instance () => IDeletable (OGRCurve) where delete :: OGRCurve -> IO () delete = (Ptr RawOGRCurve -> IO ()) -> OGRCurve -> IO () forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRCurve -> IO () c_ogrcurve_delete