{-# LANGUAGE CApiFFI #-} module OpenCascade.Geom.Curve ( value ) where import Foreign.Ptr import Foreign.C import Data.Coerce import Data.Acquire import OpenCascade.Geom.Types (Curve) import OpenCascade.GP (Pnt) import OpenCascade.GP.Internal.Destructors (deletePnt) import OpenCascade.Handle (Handle) foreign import capi unsafe "hs_Geom_Curve.h hs_Geom_Curve_value" rawValue :: Ptr (Handle Curve) -> CDouble -> IO(Ptr Pnt) value :: Ptr (Handle Curve) -> Double -> Acquire (Ptr Pnt) value :: Ptr (Handle Curve) -> Double -> Acquire (Ptr Pnt) value Ptr (Handle Curve) curve Double u = IO (Ptr Pnt) -> (Ptr Pnt -> IO ()) -> Acquire (Ptr Pnt) forall a. IO a -> (a -> IO ()) -> Acquire a mkAcquire (Ptr (Handle Curve) -> CDouble -> IO (Ptr Pnt) rawValue Ptr (Handle Curve) curve (Double -> CDouble forall a b. Coercible a b => a -> b coerce Double u)) Ptr Pnt -> IO () deletePnt