packages feed

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

{-# 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 = xform0 c_ogrsimplecurve_getnumpoints
        getPointIterator = xform0 c_ogrsimplecurve_getpointiterator

instance () => IOGRGeometry (OGRSimpleCurve) where
        getGeometryType = xform0 c_ogrsimplecurve_getgeometrytype
        getEnvelope = xform1 c_ogrsimplecurve_getenvelope
        intersects = xform1 c_ogrsimplecurve_intersects
        equals = xform1 c_ogrsimplecurve_equals
        disjoint = xform1 c_ogrsimplecurve_disjoint
        touches = xform1 c_ogrsimplecurve_touches
        crosses = xform1 c_ogrsimplecurve_crosses
        within = xform1 c_ogrsimplecurve_within
        contains = xform1 c_ogrsimplecurve_contains
        overlaps = xform1 c_ogrsimplecurve_overlaps
        boundary = xform0 c_ogrsimplecurve_boundary
        distance = xform1 c_ogrsimplecurve_distance
        convexHull = xform0 c_ogrsimplecurve_convexhull
        buffer = xform2 c_ogrsimplecurve_buffer
        intersection = xform1 c_ogrsimplecurve_intersection
        union = xform1 c_ogrsimplecurve_union
        unionCascaded = xform0 c_ogrsimplecurve_unioncascaded
        difference = xform1 c_ogrsimplecurve_difference
        symDifference = xform1 c_ogrsimplecurve_symdifference
        centroid = xform1 c_ogrsimplecurve_centroid
        simplify = xform1 c_ogrsimplecurve_simplify
        delaunayTriangulation
          = xform2 c_ogrsimplecurve_delaunaytriangulation
        polygonize = xform0 c_ogrsimplecurve_polygonize
        distance3D = xform1 c_ogrsimplecurve_distance3d

instance () => IDeletable (OGRSimpleCurve) where
        delete = xform0 c_ogrsimplecurve_delete

oGRSimpleCurve_getPoints ::
                           () =>
                           OGRSimpleCurve ->
                             Ptr () -> CInt -> Ptr () -> CInt -> Ptr () -> CInt -> IO ()
oGRSimpleCurve_getPoints
  = xform6 c_ogrsimplecurve_ogrsimplecurve_getpoints