{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances, MultiParamTypeClasses, OverlappingInstances, TemplateHaskell, TypeFamilies, TypeSynonymInstances #-} module GDAL.OGRPoint.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.OGRPoint.RawType import GDAL.OGRPoint.FFI import GDAL.OGRPoint.Interface import GDAL.OGRPoint.Cast import GDAL.OGRPoint.RawType import GDAL.OGRPoint.Cast import GDAL.OGRPoint.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.OGRGeometry.RawType import GDAL.OGRGeometry.Cast import GDAL.OGRGeometry.Interface import STD.Deletable.RawType import STD.Deletable.Cast import STD.Deletable.Interface instance () => IOGRPoint (OGRPoint) where instance () => IOGRGeometry (OGRPoint) where getGeometryType :: OGRPoint -> IO CUInt getGeometryType = (Ptr RawOGRPoint -> IO CUInt) -> OGRPoint -> IO CUInt forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRPoint -> IO CUInt c_ogrpoint_getgeometrytype getEnvelope :: forall c0. (IOGREnvelope c0, FPtr c0) => OGRPoint -> c0 -> IO () getEnvelope = (Ptr RawOGRPoint -> Ptr RawOGREnvelope -> IO ()) -> OGRPoint -> 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 RawOGRPoint -> Ptr RawOGREnvelope -> IO () c_ogrpoint_getenvelope intersects :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRPoint -> c0 -> IO CBool intersects = (Ptr RawOGRPoint -> Ptr RawOGRGeometry -> IO CBool) -> OGRPoint -> 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 RawOGRPoint -> Ptr RawOGRGeometry -> IO CBool c_ogrpoint_intersects equals :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRPoint -> c0 -> IO CBool equals = (Ptr RawOGRPoint -> Ptr RawOGRGeometry -> IO CBool) -> OGRPoint -> 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 RawOGRPoint -> Ptr RawOGRGeometry -> IO CBool c_ogrpoint_equals disjoint :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRPoint -> c0 -> IO CBool disjoint = (Ptr RawOGRPoint -> Ptr RawOGRGeometry -> IO CBool) -> OGRPoint -> 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 RawOGRPoint -> Ptr RawOGRGeometry -> IO CBool c_ogrpoint_disjoint touches :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRPoint -> c0 -> IO CBool touches = (Ptr RawOGRPoint -> Ptr RawOGRGeometry -> IO CBool) -> OGRPoint -> 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 RawOGRPoint -> Ptr RawOGRGeometry -> IO CBool c_ogrpoint_touches crosses :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRPoint -> c0 -> IO CBool crosses = (Ptr RawOGRPoint -> Ptr RawOGRGeometry -> IO CBool) -> OGRPoint -> 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 RawOGRPoint -> Ptr RawOGRGeometry -> IO CBool c_ogrpoint_crosses within :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRPoint -> c0 -> IO CBool within = (Ptr RawOGRPoint -> Ptr RawOGRGeometry -> IO CBool) -> OGRPoint -> 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 RawOGRPoint -> Ptr RawOGRGeometry -> IO CBool c_ogrpoint_within contains :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRPoint -> c0 -> IO CBool contains = (Ptr RawOGRPoint -> Ptr RawOGRGeometry -> IO CBool) -> OGRPoint -> 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 RawOGRPoint -> Ptr RawOGRGeometry -> IO CBool c_ogrpoint_contains overlaps :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRPoint -> c0 -> IO CBool overlaps = (Ptr RawOGRPoint -> Ptr RawOGRGeometry -> IO CBool) -> OGRPoint -> 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 RawOGRPoint -> Ptr RawOGRGeometry -> IO CBool c_ogrpoint_overlaps boundary :: OGRPoint -> IO OGRGeometry boundary = (Ptr RawOGRPoint -> IO (Ptr RawOGRGeometry)) -> OGRPoint -> IO OGRGeometry forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRPoint -> IO (Ptr RawOGRGeometry) c_ogrpoint_boundary distance :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRPoint -> c0 -> IO CDouble distance = (Ptr RawOGRPoint -> Ptr RawOGRGeometry -> IO CDouble) -> OGRPoint -> 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 RawOGRPoint -> Ptr RawOGRGeometry -> IO CDouble c_ogrpoint_distance convexHull :: OGRPoint -> IO OGRGeometry convexHull = (Ptr RawOGRPoint -> IO (Ptr RawOGRGeometry)) -> OGRPoint -> IO OGRGeometry forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRPoint -> IO (Ptr RawOGRGeometry) c_ogrpoint_convexhull buffer :: OGRPoint -> CDouble -> CInt -> IO OGRGeometry buffer = (Ptr RawOGRPoint -> CDouble -> CInt -> IO (Ptr RawOGRGeometry)) -> OGRPoint -> 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 RawOGRPoint -> CDouble -> CInt -> IO (Ptr RawOGRGeometry) c_ogrpoint_buffer intersection :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRPoint -> c0 -> IO OGRGeometry intersection = (Ptr RawOGRPoint -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry)) -> OGRPoint -> 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 RawOGRPoint -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) c_ogrpoint_intersection union :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRPoint -> c0 -> IO OGRGeometry union = (Ptr RawOGRPoint -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry)) -> OGRPoint -> 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 RawOGRPoint -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) c_ogrpoint_union unionCascaded :: OGRPoint -> IO OGRGeometry unionCascaded = (Ptr RawOGRPoint -> IO (Ptr RawOGRGeometry)) -> OGRPoint -> IO OGRGeometry forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRPoint -> IO (Ptr RawOGRGeometry) c_ogrpoint_unioncascaded difference :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRPoint -> c0 -> IO OGRGeometry difference = (Ptr RawOGRPoint -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry)) -> OGRPoint -> 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 RawOGRPoint -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) c_ogrpoint_difference symDifference :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRPoint -> c0 -> IO OGRGeometry symDifference = (Ptr RawOGRPoint -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry)) -> OGRPoint -> 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 RawOGRPoint -> Ptr RawOGRGeometry -> IO (Ptr RawOGRGeometry) c_ogrpoint_symdifference centroid :: forall c0. (IOGRPoint c0, FPtr c0) => OGRPoint -> c0 -> IO CInt centroid = (Ptr RawOGRPoint -> Ptr RawOGRPoint -> IO CInt) -> OGRPoint -> 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 RawOGRPoint -> Ptr RawOGRPoint -> IO CInt c_ogrpoint_centroid simplify :: OGRPoint -> CDouble -> IO OGRGeometry simplify = (Ptr RawOGRPoint -> CDouble -> IO (Ptr RawOGRGeometry)) -> OGRPoint -> 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 RawOGRPoint -> CDouble -> IO (Ptr RawOGRGeometry) c_ogrpoint_simplify delaunayTriangulation :: OGRPoint -> CDouble -> CInt -> IO OGRGeometry delaunayTriangulation = (Ptr RawOGRPoint -> CDouble -> CInt -> IO (Ptr RawOGRGeometry)) -> OGRPoint -> 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 RawOGRPoint -> CDouble -> CInt -> IO (Ptr RawOGRGeometry) c_ogrpoint_delaunaytriangulation polygonize :: OGRPoint -> IO OGRGeometry polygonize = (Ptr RawOGRPoint -> IO (Ptr RawOGRGeometry)) -> OGRPoint -> IO OGRGeometry forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRPoint -> IO (Ptr RawOGRGeometry) c_ogrpoint_polygonize distance3D :: forall c0. (IOGRGeometry c0, FPtr c0) => OGRPoint -> c0 -> IO CDouble distance3D = (Ptr RawOGRPoint -> Ptr RawOGRGeometry -> IO CDouble) -> OGRPoint -> 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 RawOGRPoint -> Ptr RawOGRGeometry -> IO CDouble c_ogrpoint_distance3d instance () => IDeletable (OGRPoint) where delete :: OGRPoint -> IO () delete = (Ptr RawOGRPoint -> IO ()) -> OGRPoint -> IO () forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRPoint -> IO () c_ogrpoint_delete newOGRPoint :: () => IO OGRPoint newOGRPoint :: IO OGRPoint newOGRPoint = IO (Ptr RawOGRPoint) -> IO OGRPoint forall a ca. Castable a ca => IO ca -> IO a xformnull IO (Ptr RawOGRPoint) c_ogrpoint_newogrpoint newOGRPoint2 :: () => CDouble -> CDouble -> IO OGRPoint newOGRPoint2 :: CDouble -> CDouble -> IO OGRPoint newOGRPoint2 = (CDouble -> CDouble -> IO (Ptr RawOGRPoint)) -> CDouble -> CDouble -> IO OGRPoint 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 CDouble -> CDouble -> IO (Ptr RawOGRPoint) c_ogrpoint_newogrpoint2 newOGRPoint3 :: () => CDouble -> CDouble -> CDouble -> IO OGRPoint newOGRPoint3 :: CDouble -> CDouble -> CDouble -> IO OGRPoint newOGRPoint3 = (CDouble -> CDouble -> CDouble -> IO (Ptr RawOGRPoint)) -> CDouble -> CDouble -> CDouble -> IO OGRPoint 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 CDouble -> CDouble -> CDouble -> IO (Ptr RawOGRPoint) c_ogrpoint_newogrpoint3 newOGRPoint4 :: () => CDouble -> CDouble -> CDouble -> CDouble -> IO OGRPoint newOGRPoint4 :: CDouble -> CDouble -> CDouble -> CDouble -> IO OGRPoint newOGRPoint4 = (CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawOGRPoint)) -> CDouble -> CDouble -> CDouble -> CDouble -> IO OGRPoint forall a ca x1 cx1 x2 cx2 x3 cx3 y cy. (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable x3 cx3, Castable y cy) => (ca -> cx1 -> cx2 -> cx3 -> IO cy) -> a -> x1 -> x2 -> x3 -> IO y xform3 CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawOGRPoint) c_ogrpoint_newogrpoint4 oGRPoint_getX :: () => OGRPoint -> IO CDouble oGRPoint_getX :: OGRPoint -> IO CDouble oGRPoint_getX = (Ptr RawOGRPoint -> IO CDouble) -> OGRPoint -> IO CDouble forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRPoint -> IO CDouble c_ogrpoint_ogrpoint_getx oGRPoint_getY :: () => OGRPoint -> IO CDouble oGRPoint_getY :: OGRPoint -> IO CDouble oGRPoint_getY = (Ptr RawOGRPoint -> IO CDouble) -> OGRPoint -> IO CDouble forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRPoint -> IO CDouble c_ogrpoint_ogrpoint_gety oGRPoint_getZ :: () => OGRPoint -> IO CDouble oGRPoint_getZ :: OGRPoint -> IO CDouble oGRPoint_getZ = (Ptr RawOGRPoint -> IO CDouble) -> OGRPoint -> IO CDouble forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRPoint -> IO CDouble c_ogrpoint_ogrpoint_getz oGRPoint_getM :: () => OGRPoint -> IO CDouble oGRPoint_getM :: OGRPoint -> IO CDouble oGRPoint_getM = (Ptr RawOGRPoint -> IO CDouble) -> OGRPoint -> IO CDouble forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawOGRPoint -> IO CDouble c_ogrpoint_ogrpoint_getm oGRPoint_setX :: () => OGRPoint -> CDouble -> IO () oGRPoint_setX :: OGRPoint -> CDouble -> IO () oGRPoint_setX = (Ptr RawOGRPoint -> CDouble -> IO ()) -> OGRPoint -> CDouble -> 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 RawOGRPoint -> CDouble -> IO () c_ogrpoint_ogrpoint_setx oGRPoint_setY :: () => OGRPoint -> CDouble -> IO () oGRPoint_setY :: OGRPoint -> CDouble -> IO () oGRPoint_setY = (Ptr RawOGRPoint -> CDouble -> IO ()) -> OGRPoint -> CDouble -> 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 RawOGRPoint -> CDouble -> IO () c_ogrpoint_ogrpoint_sety oGRPoint_setZ :: () => OGRPoint -> CDouble -> IO () oGRPoint_setZ :: OGRPoint -> CDouble -> IO () oGRPoint_setZ = (Ptr RawOGRPoint -> CDouble -> IO ()) -> OGRPoint -> CDouble -> 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 RawOGRPoint -> CDouble -> IO () c_ogrpoint_ogrpoint_setz oGRPoint_setM :: () => OGRPoint -> CDouble -> IO () oGRPoint_setM :: OGRPoint -> CDouble -> IO () oGRPoint_setM = (Ptr RawOGRPoint -> CDouble -> IO ()) -> OGRPoint -> CDouble -> 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 RawOGRPoint -> CDouble -> IO () c_ogrpoint_ogrpoint_setm