{-# LANGUAGE CApiFFI #-} module OpenCascade.BRepPrimAPI.MakePrism ( fromVec , fromDir ) where import qualified OpenCascade.GP as GP import qualified OpenCascade.TopoDS as TopoDS import OpenCascade.Internal.Bool import qualified OpenCascade.TopoDS.Internal.Destructors as TopoDS.Destructors import Foreign.C import Foreign.Ptr import Data.Acquire foreign import capi unsafe "hs_BRepPrimAPI_MakePrism.h hs_BRepPrimAPI_MakePrism_fromVec" rawFromVec :: Ptr TopoDS.Shape -> Ptr GP.Vec -> CBool -> CBool -> IO (Ptr TopoDS.Shape) fromVec :: Ptr TopoDS.Shape -> Ptr GP.Vec -> Bool -> Bool -> Acquire (Ptr TopoDS.Shape) fromVec :: Ptr Shape -> Ptr Vec -> Bool -> Bool -> Acquire (Ptr Shape) fromVec Ptr Shape shape Ptr Vec vec Bool copy Bool canonize = IO (Ptr Shape) -> (Ptr Shape -> IO ()) -> Acquire (Ptr Shape) forall a. IO a -> (a -> IO ()) -> Acquire a mkAcquire (Ptr Shape -> Ptr Vec -> CBool -> CBool -> IO (Ptr Shape) rawFromVec Ptr Shape shape Ptr Vec vec (Bool -> CBool boolToCBool Bool copy) (Bool -> CBool boolToCBool Bool canonize)) Ptr Shape -> IO () TopoDS.Destructors.deleteShape foreign import capi unsafe "hs_BRepPrimAPI_MakePrism.h hs_BRepPrimAPI_MakePrism_fromDir" rawFromDir :: Ptr TopoDS.Shape -> Ptr GP.Dir -> CBool -> CBool -> CBool -> IO (Ptr TopoDS.Shape) fromDir :: Ptr TopoDS.Shape -> Ptr GP.Dir -> Bool -> Bool -> Bool -> Acquire (Ptr TopoDS.Shape) fromDir :: Ptr Shape -> Ptr Dir -> Bool -> Bool -> Bool -> Acquire (Ptr Shape) fromDir Ptr Shape shape Ptr Dir dir Bool inf Bool copy Bool canonize = IO (Ptr Shape) -> (Ptr Shape -> IO ()) -> Acquire (Ptr Shape) forall a. IO a -> (a -> IO ()) -> Acquire a mkAcquire (Ptr Shape -> Ptr Dir -> CBool -> CBool -> CBool -> IO (Ptr Shape) rawFromDir Ptr Shape shape Ptr Dir dir (Bool -> CBool boolToCBool Bool inf) (Bool -> CBool boolToCBool Bool copy) (Bool -> CBool boolToCBool Bool canonize)) Ptr Shape -> IO () TopoDS.Destructors.deleteShape