{-# LANGUAGE CApiFFI #-} module OpenCascade.GP.XYZ ( XYZ , newXYZ , fromDoubles , setX, setY, setZ , x, y, z ) where import OpenCascade.GP.Types (XYZ) import OpenCascade.GP.Internal.Destructors (deleteXYZ) import Foreign.Ptr (Ptr) import Foreign.C (CDouble (..)) import Data.Acquire (Acquire, mkAcquire) import Data.Coerce (coerce) foreign import capi unsafe "hs_gp_XYZ.h hs_new_gp_XYZ" rawNewXYZ :: IO (Ptr XYZ) newXYZ :: Acquire (Ptr XYZ) newXYZ :: Acquire (Ptr XYZ) newXYZ = IO (Ptr XYZ) -> (Ptr XYZ -> IO ()) -> Acquire (Ptr XYZ) forall a. IO a -> (a -> IO ()) -> Acquire a mkAcquire IO (Ptr XYZ) rawNewXYZ Ptr XYZ -> IO () deleteXYZ foreign import capi unsafe "hs_gp_XYZ.h hs_new_gp_XYZ_fromDoubles" rawFromDoubles :: CDouble -> CDouble -> CDouble -> IO (Ptr XYZ) fromDoubles :: Double -> Double -> Double -> Acquire (Ptr XYZ) fromDoubles :: Double -> Double -> Double -> Acquire (Ptr XYZ) fromDoubles Double x' Double y' Double z' = IO (Ptr XYZ) -> (Ptr XYZ -> IO ()) -> Acquire (Ptr XYZ) forall a. IO a -> (a -> IO ()) -> Acquire a mkAcquire (((CDouble -> CDouble -> CDouble -> IO (Ptr XYZ)) -> Double -> Double -> Double -> IO (Ptr XYZ) forall a b. Coercible a b => a -> b coerce CDouble -> CDouble -> CDouble -> IO (Ptr XYZ) rawFromDoubles) Double x' Double y' Double z') (Ptr XYZ -> IO () deleteXYZ) foreign import capi unsafe "hs_gp_XYZ.h hs_gp_XYZ_setX" rawSetX :: Ptr XYZ -> CDouble -> IO () setX :: Ptr XYZ -> Double -> IO () setX :: Ptr XYZ -> Double -> IO () setX = (Ptr XYZ -> CDouble -> IO ()) -> Ptr XYZ -> Double -> IO () forall a b. Coercible a b => a -> b coerce Ptr XYZ -> CDouble -> IO () rawSetX foreign import capi unsafe "hs_gp_XYZ.h hs_gp_XYZ_setY" rawSetY :: Ptr XYZ -> CDouble -> IO () setY :: Ptr XYZ -> Double -> IO () setY :: Ptr XYZ -> Double -> IO () setY = (Ptr XYZ -> CDouble -> IO ()) -> Ptr XYZ -> Double -> IO () forall a b. Coercible a b => a -> b coerce Ptr XYZ -> CDouble -> IO () rawSetY foreign import capi unsafe "hs_gp_XYZ.h hs_gp_XYZ_setZ" rawSetZ :: Ptr XYZ -> CDouble -> IO () setZ :: Ptr XYZ -> Double -> IO () setZ :: Ptr XYZ -> Double -> IO () setZ = (Ptr XYZ -> CDouble -> IO ()) -> Ptr XYZ -> Double -> IO () forall a b. Coercible a b => a -> b coerce Ptr XYZ -> CDouble -> IO () rawSetZ foreign import capi unsafe "hs_gp_XYZ.h hs_gp_XYZ_x" rawX :: Ptr XYZ -> IO (CDouble) x :: Ptr XYZ -> IO Double x :: Ptr XYZ -> IO Double x = (Ptr XYZ -> IO CDouble) -> Ptr XYZ -> IO Double forall a b. Coercible a b => a -> b coerce Ptr XYZ -> IO CDouble rawX foreign import capi unsafe "hs_gp_XYZ.h hs_gp_XYZ_y" rawY :: Ptr XYZ -> IO (CDouble) y:: Ptr XYZ -> IO Double y :: Ptr XYZ -> IO Double y = (Ptr XYZ -> IO CDouble) -> Ptr XYZ -> IO Double forall a b. Coercible a b => a -> b coerce Ptr XYZ -> IO CDouble rawY foreign import capi unsafe "hs_gp_XYZ.h hs_gp_XYZ_z" rawZ :: Ptr XYZ -> IO (CDouble) z :: Ptr XYZ -> IO Double z :: Ptr XYZ -> IO Double z = (Ptr XYZ -> IO CDouble) -> Ptr XYZ -> IO Double forall a b. Coercible a b => a -> b coerce Ptr XYZ -> IO CDouble rawZ