{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances, MultiParamTypeClasses, OverlappingInstances, TemplateHaskell, TypeFamilies, TypeSynonymInstances #-} module GDAL.OGRLinearRing.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.OGRLinearRing.RawType import GDAL.OGRLinearRing.FFI import GDAL.OGRLinearRing.Interface import GDAL.OGRLinearRing.Cast import GDAL.OGRLinearRing.RawType import GDAL.OGRLinearRing.Cast import GDAL.OGRLinearRing.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.OGRLineString.RawType import GDAL.OGRLineString.Cast import GDAL.OGRLineString.Interface import GDAL.OGRSimpleCurve.RawType import GDAL.OGRSimpleCurve.Cast import GDAL.OGRSimpleCurve.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 () => IOGRLinearRing (OGRLinearRing) where instance () => IOGRLineString (OGRLinearRing) where instance () => IOGRSimpleCurve (OGRLinearRing) where instance () => IOGRCurve (OGRLinearRing) where getNumPoints :: OGRLinearRing -> IO CInt getNumPoints = (Ptr RawOGRLinearRing -> IO CInt) -> OGRLinearRing -> IO CInt forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRLinearRing -> IO CInt c_ogrlinearring_getnumpoints getPointIterator :: OGRLinearRing -> IO OGRPointIterator getPointIterator = (Ptr RawOGRLinearRing -> IO (Ptr RawOGRPointIterator)) -> OGRLinearRing -> IO OGRPointIterator forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRLinearRing -> IO (Ptr RawOGRPointIterator) c_ogrlinearring_getpointiterator instance () => IOGRGeometry (OGRLinearRing) where getGeometryType :: OGRLinearRing -> IO CUInt getGeometryType = (Ptr RawOGRLinearRing -> IO CUInt) -> OGRLinearRing -> IO CUInt forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRLinearRing -> IO CUInt c_ogrlinearring_getgeometrytype getEnvelope :: forall c0. (IOGREnvelope c0, FPtr c0) => OGRLinearRing -> c0 -> IO () getEnvelope = (Ptr RawOGRLinearRing -> Ptr RawOGREnvelope -> IO ()) -> OGRLinearRing -> 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 RawOGRLinearRing -> Ptr RawOGREnvelope -> IO () c_ogrlinearring_getenvelope intersects :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRLinearRing -> c0 -> IO CBool intersects = (Ptr RawOGRLinearRing -> Ptr RawOGRGeometry -> IO CBool) -> OGRLinearRing -> 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 RawOGRLinearRing -> Ptr RawOGRGeometry -> IO CBool c_ogrlinearring_intersects equals :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRLinearRing -> c0 -> IO CBool equals = (Ptr RawOGRLinearRing -> Ptr RawOGRGeometry -> IO CBool) -> OGRLinearRing -> 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 RawOGRLinearRing -> Ptr RawOGRGeometry -> IO CBool c_ogrlinearring_equals disjoint :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRLinearRing -> c0 -> IO CBool disjoint = (Ptr RawOGRLinearRing -> Ptr RawOGRGeometry -> IO CBool) -> OGRLinearRing -> 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 RawOGRLinearRing -> Ptr RawOGRGeometry -> IO CBool c_ogrlinearring_disjoint touches :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRLinearRing -> c0 -> IO CBool touches = (Ptr RawOGRLinearRing -> Ptr RawOGRGeometry -> IO CBool) -> OGRLinearRing -> 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 RawOGRLinearRing -> Ptr RawOGRGeometry -> IO CBool c_ogrlinearring_touches crosses :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRLinearRing -> c0 -> IO CBool crosses = (Ptr RawOGRLinearRing -> Ptr RawOGRGeometry -> IO CBool) -> OGRLinearRing -> 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 RawOGRLinearRing -> Ptr RawOGRGeometry -> IO CBool c_ogrlinearring_crosses within :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRLinearRing -> c0 -> IO CBool within = (Ptr RawOGRLinearRing -> Ptr RawOGRGeometry -> IO CBool) -> OGRLinearRing -> 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 RawOGRLinearRing -> Ptr RawOGRGeometry -> IO CBool c_ogrlinearring_within contains :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRLinearRing -> c0 -> IO CBool contains = (Ptr RawOGRLinearRing -> Ptr RawOGRGeometry -> IO CBool) -> OGRLinearRing -> 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 RawOGRLinearRing -> Ptr RawOGRGeometry -> IO CBool c_ogrlinearring_contains overlaps :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRLinearRing -> c0 -> IO CBool overlaps = (Ptr RawOGRLinearRing -> Ptr RawOGRGeometry -> IO CBool) -> OGRLinearRing -> 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 RawOGRLinearRing -> Ptr RawOGRGeometry -> IO CBool c_ogrlinearring_overlaps boundary :: OGRLinearRing -> IO OGRGeometry boundary = (Ptr RawOGRLinearRing -> IO (Ptr RawOGRGeometry)) -> OGRLinearRing -> IO OGRGeometry forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRLinearRing -> IO (Ptr RawOGRGeometry) c_ogrlinearring_boundary distance :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRLinearRing -> c0 -> IO CDouble distance = (Ptr RawOGRLinearRing -> Ptr RawOGRGeometry -> IO CDouble) -> OGRLinearRing -> 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 RawOGRLinearRing -> Ptr RawOGRGeometry -> IO CDouble c_ogrlinearring_distance convexHull :: OGRLinearRing -> IO OGRGeometry convexHull = (Ptr RawOGRLinearRing -> IO (Ptr RawOGRGeometry)) -> OGRLinearRing -> IO OGRGeometry forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRLinearRing -> IO (Ptr RawOGRGeometry) c_ogrlinearring_convexhull buffer :: OGRLinearRing -> CDouble -> CInt -> IO OGRGeometry buffer = (Ptr RawOGRLinearRing -> CDouble -> CInt -> IO (Ptr RawOGRGeometry)) -> OGRLinearRing -> 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 RawOGRLinearRing -> CDouble -> CInt -> IO (Ptr RawOGRGeometry) c_ogrlinearring_buffer intersection :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRLinearRing -> c0 -> IO OGRGeometry intersection = (Ptr RawOGRLinearRing -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry)) -> OGRLinearRing -> 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 RawOGRLinearRing -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) c_ogrlinearring_intersection union :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRLinearRing -> c0 -> IO OGRGeometry union = (Ptr RawOGRLinearRing -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry)) -> OGRLinearRing -> 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 RawOGRLinearRing -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) c_ogrlinearring_union unionCascaded :: OGRLinearRing -> IO OGRGeometry unionCascaded = (Ptr RawOGRLinearRing -> IO (Ptr RawOGRGeometry)) -> OGRLinearRing -> IO OGRGeometry forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRLinearRing -> IO (Ptr RawOGRGeometry) c_ogrlinearring_unioncascaded difference :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRLinearRing -> c0 -> IO OGRGeometry difference = (Ptr RawOGRLinearRing -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry)) -> OGRLinearRing -> 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 RawOGRLinearRing -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) c_ogrlinearring_difference symDifference :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRLinearRing -> c0 -> IO OGRGeometry symDifference = (Ptr RawOGRLinearRing -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry)) -> OGRLinearRing -> 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 RawOGRLinearRing -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) c_ogrlinearring_symdifference centroid :: forall c0. (IOGRPoint c0, FPtr c0) => OGRLinearRing -> c0 -> IO CInt centroid = (Ptr RawOGRLinearRing -> Ptr RawOGRPoint -> IO CInt) -> OGRLinearRing -> 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 RawOGRLinearRing -> Ptr RawOGRPoint -> IO CInt c_ogrlinearring_centroid simplify :: OGRLinearRing -> CDouble -> IO OGRGeometry simplify = (Ptr RawOGRLinearRing -> CDouble -> IO (Ptr RawOGRGeometry)) -> OGRLinearRing -> 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 RawOGRLinearRing -> CDouble -> IO (Ptr RawOGRGeometry) c_ogrlinearring_simplify delaunayTriangulation :: OGRLinearRing -> CDouble -> CInt -> IO OGRGeometry delaunayTriangulation = (Ptr RawOGRLinearRing -> CDouble -> CInt -> IO (Ptr RawOGRGeometry)) -> OGRLinearRing -> 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 RawOGRLinearRing -> CDouble -> CInt -> IO (Ptr RawOGRGeometry) c_ogrlinearring_delaunaytriangulation polygonize :: OGRLinearRing -> IO OGRGeometry polygonize = (Ptr RawOGRLinearRing -> IO (Ptr RawOGRGeometry)) -> OGRLinearRing -> IO OGRGeometry forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRLinearRing -> IO (Ptr RawOGRGeometry) c_ogrlinearring_polygonize distance3D :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRLinearRing -> c0 -> IO CDouble distance3D = (Ptr RawOGRLinearRing -> Ptr RawOGRGeometry -> IO CDouble) -> OGRLinearRing -> 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 RawOGRLinearRing -> Ptr RawOGRGeometry -> IO CDouble c_ogrlinearring_distance3d instance () => IDeletable (OGRLinearRing) where delete :: OGRLinearRing -> IO () delete = (Ptr RawOGRLinearRing -> IO ()) -> OGRLinearRing -> IO () forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRLinearRing -> IO () c_ogrlinearring_delete