opencascade-hs-0.1.1.0: src/OpenCascade/Geom/Curve.hs
{-# LANGUAGE CApiFFI #-}
module OpenCascade.Geom.Curve
( value
, dn
) where
import Foreign.Ptr
import Foreign.C
import Data.Coerce
import Data.Acquire
import OpenCascade.Geom.Types (Curve)
import OpenCascade.GP (Pnt, Vec)
import OpenCascade.GP.Internal.Destructors (deletePnt, deleteVec)
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 curve u = mkAcquire (rawValue curve (coerce u)) deletePnt
foreign import capi unsafe "hs_Geom_Curve.h hs_Geom_Curve_dn" rawDN :: Ptr (Handle Curve) -> CDouble -> CInt -> IO (Ptr Vec)
dn :: Ptr (Handle Curve) -> Double -> Int -> Acquire (Ptr Vec)
dn curve u n = mkAcquire (rawDN curve (coerce u) (fromIntegral n)) deleteVec