{-# LANGUAGE CApiFFI #-} module OpenCascade.NCollection.Array1 ( newGPPntArray, setValueGPPnt ) where import Data.Acquire import Foreign.Ptr import Foreign.C import OpenCascade.GP.Types import OpenCascade.NCollection.Types import OpenCascade.NCollection.Internal.Destructors foreign import capi unsafe "hs_NCollection_Array1.h hs_new_NCollection_Array1_gp_Pnt" rawNewGPPntArray :: CInt -> CInt -> IO (Ptr (Array1 Pnt)) newGPPntArray :: Int -> Int -> Acquire (Ptr (Array1 Pnt)) newGPPntArray :: Int -> Int -> Acquire (Ptr (Array1 Pnt)) newGPPntArray Int lo Int hi = IO (Ptr (Array1 Pnt)) -> (Ptr (Array1 Pnt) -> IO ()) -> Acquire (Ptr (Array1 Pnt)) forall a. IO a -> (a -> IO ()) -> Acquire a mkAcquire (CInt -> CInt -> IO (Ptr (Array1 Pnt)) rawNewGPPntArray (Int -> CInt forall a b. (Integral a, Num b) => a -> b fromIntegral Int lo) (Int -> CInt forall a b. (Integral a, Num b) => a -> b fromIntegral Int hi)) Ptr (Array1 Pnt) -> IO () deletePntArray foreign import capi unsafe "hs_NCollection_Array1.h hs_NCollection_Array1_gp_Pnt_setValue" rawSetValueGPPnt :: Ptr (Array1 Pnt) -> CInt -> Ptr Pnt -> IO () setValueGPPnt :: Ptr (Array1 Pnt) -> Int -> Ptr Pnt -> IO () setValueGPPnt :: Ptr (Array1 Pnt) -> Int -> Ptr Pnt -> IO () setValueGPPnt Ptr (Array1 Pnt) arr Int i Ptr Pnt p = Ptr (Array1 Pnt) -> CInt -> Ptr Pnt -> IO () rawSetValueGPPnt Ptr (Array1 Pnt) arr (Int -> CInt forall a b. (Integral a, Num b) => a -> b fromIntegral Int i) Ptr Pnt p