moonlight-triangulation-1.0.1.0: src-capi/Moonlight/Triangulation/Foreign/Exports.hs
{-# LANGUAGE ForeignFunctionInterface #-}
{-# OPTIONS_GHC -Wno-missing-signatures #-}
module Moonlight.Triangulation.Foreign.Exports where
import Data.Word (Word32)
import Foreign.C.Types (CDouble, CSize (..), CUInt (..))
import Foreign.Ptr (Ptr)
import Moonlight.Triangulation.Foreign.ABI (CObstruction)
import qualified Moonlight.Triangulation.Foreign.ABI as ABI
delaunayF64 = ABI.delaunayF64
meshInsertManyF64 = ABI.meshInsertManyF64
meshUnion = ABI.meshUnion
meshIntersection = ABI.meshIntersection
meshDifference = ABI.meshDifference
meshSymmetricDifference = ABI.meshSymmetricDifference
meshVertexCount = ABI.meshVertexCount
meshTriangleCount = ABI.meshTriangleCount
meshCopyVerticesF64 = ABI.meshCopyVerticesF64
meshCopyTrianglesU32 = ABI.meshCopyTrianglesU32
meshFree = ABI.meshFree
foreign export ccall "ml_delaunay_f64" delaunayF64 :: Ptr CDouble -> CSize -> Ptr (Ptr ()) -> Ptr CObstruction -> IO CUInt
foreign export ccall "ml_mesh_insert_many_f64" meshInsertManyF64 :: Ptr () -> Ptr CDouble -> CSize -> Ptr (Ptr ()) -> Ptr CObstruction -> IO CUInt
foreign export ccall "ml_mesh_union" meshUnion :: Ptr () -> Ptr () -> Ptr (Ptr ()) -> Ptr CObstruction -> IO CUInt
foreign export ccall "ml_mesh_intersection" meshIntersection :: Ptr () -> Ptr () -> Ptr (Ptr ()) -> Ptr CObstruction -> IO CUInt
foreign export ccall "ml_mesh_difference" meshDifference :: Ptr () -> Ptr () -> Ptr (Ptr ()) -> Ptr CObstruction -> IO CUInt
foreign export ccall "ml_mesh_symmetric_difference" meshSymmetricDifference :: Ptr () -> Ptr () -> Ptr (Ptr ()) -> Ptr CObstruction -> IO CUInt
foreign export ccall "ml_mesh_vertex_count" meshVertexCount :: Ptr () -> Ptr CSize -> Ptr CObstruction -> IO CUInt
foreign export ccall "ml_mesh_triangle_count" meshTriangleCount :: Ptr () -> Ptr CSize -> Ptr CObstruction -> IO CUInt
foreign export ccall "ml_mesh_copy_vertices_f64" meshCopyVerticesF64 :: Ptr () -> Ptr CDouble -> CSize -> Ptr CSize -> Ptr CObstruction -> IO CUInt
foreign export ccall "ml_mesh_copy_triangles_u32" meshCopyTrianglesU32 :: Ptr () -> Ptr Word32 -> CSize -> Ptr CSize -> Ptr CObstruction -> IO CUInt
foreign export ccall "ml_mesh_free" meshFree :: Ptr () -> IO ()