{-# LINE 1 "src/Bindings/Gts/SurfaceOperations/DifferencialGeometryOperators.hsc" #-}

{-# LINE 2 "src/Bindings/Gts/SurfaceOperations/DifferencialGeometryOperators.hsc" #-}

{-# LINE 3 "src/Bindings/Gts/SurfaceOperations/DifferencialGeometryOperators.hsc" #-}

-- | <http://gts.sourceforge.net/reference/gts-differential-geometry-operators.html>

module Bindings.Gts.SurfaceOperations.DifferencialGeometryOperators where
import Bindings.GLib
import Bindings.Gts.Types
import Foreign.Ptr (Ptr,FunPtr,plusPtr)
import Foreign.Ptr (wordPtrToPtr,castPtrToFunPtr)
import Foreign.Storable
import Foreign.C.Types
import Foreign.C.String (CString,CStringLen,CWString,CWStringLen)
import Foreign.Marshal.Alloc (alloca)
import Foreign.Marshal.Array (peekArray,pokeArray)
import Data.Int
import Data.Word

{-# LINE 10 "src/Bindings/Gts/SurfaceOperations/DifferencialGeometryOperators.hsc" #-}

foreign import ccall "gts_vertex_gaussian_curvature" c'gts_vertex_gaussian_curvature
  :: Ptr C'GtsVertex -> Ptr C'GtsSurface -> Ptr C'gdouble -> IO C'gboolean
foreign import ccall "&gts_vertex_gaussian_curvature" p'gts_vertex_gaussian_curvature
  :: FunPtr (Ptr C'GtsVertex -> Ptr C'GtsSurface -> Ptr C'gdouble -> IO C'gboolean)

{-# LINE 12 "src/Bindings/Gts/SurfaceOperations/DifferencialGeometryOperators.hsc" #-}
foreign import ccall "gts_vertex_mean_curvature_normal" c'gts_vertex_mean_curvature_normal
  :: Ptr C'GtsVertex -> Ptr C'GtsSurface -> C'GtsVector -> IO C'gboolean
foreign import ccall "&gts_vertex_mean_curvature_normal" p'gts_vertex_mean_curvature_normal
  :: FunPtr (Ptr C'GtsVertex -> Ptr C'GtsSurface -> C'GtsVector -> IO C'gboolean)

{-# LINE 13 "src/Bindings/Gts/SurfaceOperations/DifferencialGeometryOperators.hsc" #-}
foreign import ccall "gts_vertex_principal_curvatures" c'gts_vertex_principal_curvatures
  :: C'gdouble -> C'gdouble -> Ptr C'gdouble -> Ptr C'gdouble -> IO ()
foreign import ccall "&gts_vertex_principal_curvatures" p'gts_vertex_principal_curvatures
  :: FunPtr (C'gdouble -> C'gdouble -> Ptr C'gdouble -> Ptr C'gdouble -> IO ())

{-# LINE 14 "src/Bindings/Gts/SurfaceOperations/DifferencialGeometryOperators.hsc" #-}
foreign import ccall "gts_vertex_principal_directions" c'gts_vertex_principal_directions
  :: Ptr C'GtsVertex -> Ptr C'GtsSurface -> C'GtsVector -> C'gdouble -> C'GtsVector -> C'GtsVector -> IO ()
foreign import ccall "&gts_vertex_principal_directions" p'gts_vertex_principal_directions
  :: FunPtr (Ptr C'GtsVertex -> Ptr C'GtsSurface -> C'GtsVector -> C'gdouble -> C'GtsVector -> C'GtsVector -> IO ())

{-# LINE 15 "src/Bindings/Gts/SurfaceOperations/DifferencialGeometryOperators.hsc" #-}