{-# LANGUAGE CApiFFI #-} module OpenCascade.HLRAlgo.Projector ( Projector , fromAx2 ) where import qualified OpenCascade.GP.Types as GP import OpenCascade.HLRAlgo.Types (Projector) import OpenCascade.HLRAlgo.Internal.Destructors (deleteProjector) import Foreign.Ptr import Data.Acquire (mkAcquire, Acquire) foreign import capi unsafe "hs_HLRAlgo_Projector.h hs_new_HLRAlgo_Projector_fromAx2" rawFromAx2 :: Ptr GP.Ax2 -> IO (Ptr Projector) fromAx2 :: Ptr GP.Ax2 -> Acquire (Ptr Projector) fromAx2 :: Ptr Ax2 -> Acquire (Ptr Projector) fromAx2 Ptr Ax2 ax2 = IO (Ptr Projector) -> (Ptr Projector -> IO ()) -> Acquire (Ptr Projector) forall a. IO a -> (a -> IO ()) -> Acquire a mkAcquire (Ptr Ax2 -> IO (Ptr Projector) rawFromAx2 Ptr Ax2 ax2) Ptr Projector -> IO () deleteProjector