packages feed

hgdal-1.0.0.0: src/GDAL/OGRGeometry/Implementation.hs

{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,
  ForeignFunctionInterface, IncoherentInstances,
  MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,
  TypeFamilies, TypeSynonymInstances #-}
module GDAL.OGRGeometry.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.OGRGeometry.RawType
import GDAL.OGRGeometry.FFI
import GDAL.OGRGeometry.Interface
import GDAL.OGRGeometry.Cast
import GDAL.OGRGeometry.RawType
import GDAL.OGRGeometry.Cast
import GDAL.OGRGeometry.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 STD.Deletable.RawType
import STD.Deletable.Cast
import STD.Deletable.Interface

instance () => IOGRGeometry (OGRGeometry) where
        getGeometryType = xform0 c_ogrgeometry_getgeometrytype
        getEnvelope = xform1 c_ogrgeometry_getenvelope
        intersects = xform1 c_ogrgeometry_intersects
        equals = xform1 c_ogrgeometry_equals
        disjoint = xform1 c_ogrgeometry_disjoint
        touches = xform1 c_ogrgeometry_touches
        crosses = xform1 c_ogrgeometry_crosses
        within = xform1 c_ogrgeometry_within
        contains = xform1 c_ogrgeometry_contains
        overlaps = xform1 c_ogrgeometry_overlaps
        boundary = xform0 c_ogrgeometry_boundary
        distance = xform1 c_ogrgeometry_distance
        convexHull = xform0 c_ogrgeometry_convexhull
        buffer = xform2 c_ogrgeometry_buffer
        intersection = xform1 c_ogrgeometry_intersection
        union = xform1 c_ogrgeometry_union
        unionCascaded = xform0 c_ogrgeometry_unioncascaded
        difference = xform1 c_ogrgeometry_difference
        symDifference = xform1 c_ogrgeometry_symdifference
        centroid = xform1 c_ogrgeometry_centroid
        simplify = xform1 c_ogrgeometry_simplify
        delaunayTriangulation = xform2 c_ogrgeometry_delaunaytriangulation
        polygonize = xform0 c_ogrgeometry_polygonize
        distance3D = xform1 c_ogrgeometry_distance3d

instance () => IDeletable (OGRGeometry) where
        delete = xform0 c_ogrgeometry_delete

oGRGeometry_SimplifyPreserveTopology ::
                                       () => OGRGeometry -> CDouble -> IO OGRGeometry
oGRGeometry_SimplifyPreserveTopology
  = xform1 c_ogrgeometry_ogrgeometry_simplifypreservetopology

oGRGeometry_toPolygon :: () => OGRGeometry -> IO OGRPolygon
oGRGeometry_toPolygon = xform0 c_ogrgeometry_ogrgeometry_topolygon

oGRGeometry_toMultiPolygon ::
                             () => OGRGeometry -> IO OGRMultiPolygon
oGRGeometry_toMultiPolygon
  = xform0 c_ogrgeometry_ogrgeometry_tomultipolygon