{-# LANGUAGE CApiFFI #-} module OpenCascade.BRepMesh.IncrementalMesh ( fromShapeAndLinDeflection , perform ) where import OpenCascade.BRepMesh.Types (IncrementalMesh) import OpenCascade.BRepMesh.Internal.Destructors (deleteIncrementalMesh) import qualified OpenCascade.TopoDS as TopoDS import Foreign.Ptr import Data.Acquire import Data.Coerce (coerce) foreign import capi unsafe "hs_BRepMesh_IncrementalMesh.h hs_BRepMesh_IncrementalMesh_fromShapeAndLinDeflection" rawFromShapeAndLinDeflection :: Ptr TopoDS.Shape -> Double -> IO (Ptr IncrementalMesh) fromShapeAndLinDeflection :: Ptr TopoDS.Shape -> Double -> Acquire (Ptr IncrementalMesh) fromShapeAndLinDeflection :: Ptr Shape -> Double -> Acquire (Ptr IncrementalMesh) fromShapeAndLinDeflection Ptr Shape shape Double linDeflection = IO (Ptr IncrementalMesh) -> (Ptr IncrementalMesh -> IO ()) -> Acquire (Ptr IncrementalMesh) forall a. IO a -> (a -> IO ()) -> Acquire a mkAcquire (Ptr Shape -> Double -> IO (Ptr IncrementalMesh) rawFromShapeAndLinDeflection Ptr Shape shape (Double -> Double forall a b. Coercible a b => a -> b coerce Double linDeflection)) Ptr IncrementalMesh -> IO () deleteIncrementalMesh foreign import capi unsafe "hs_BRepMesh_IncrementalMesh.h hs_BRepMesh_IncrementalMesh_Perform" perform :: Ptr IncrementalMesh -> IO ()