{-# LANGUAGE CApiFFI #-} module OpenCascade.BRepBuilderAPI.MakeShape ( MakeShape , shape ) where import OpenCascade.BRepBuilderAPI.Types import qualified OpenCascade.TopoDS as TopoDS import OpenCascade.TopoDS.Internal.Destructors (deleteShape) import Foreign.Ptr import Data.Acquire foreign import capi unsafe "hs_BRepBuilderAPI_MakeShape.h hs_BRepBuilderAPI_MakeShape_shape" rawShape :: Ptr MakeShape -> IO (Ptr TopoDS.Shape) shape :: Ptr MakeShape -> Acquire (Ptr TopoDS.Shape) shape :: Ptr MakeShape -> Acquire (Ptr Shape) shape Ptr MakeShape builder = IO (Ptr Shape) -> (Ptr Shape -> IO ()) -> Acquire (Ptr Shape) forall a. IO a -> (a -> IO ()) -> Acquire a mkAcquire (Ptr MakeShape -> IO (Ptr Shape) rawShape Ptr MakeShape builder) (Ptr Shape -> IO () deleteShape)