{-# LANGUAGE CApiFFI #-}
module OpenCascade.TopoDS.CompSolid
( CompSolid
, new
) where 

import OpenCascade.TopoDS.Types
import OpenCascade.TopoDS.Internal.Destructors
import Foreign.Ptr
import Data.Acquire 

-- new

foreign import capi unsafe "hs_TopoDS_CompSolid.h hs_new_TopoDS_CompSolid" rawNew :: IO (Ptr CompSolid)

new :: Acquire (Ptr CompSolid)
new :: Acquire (Ptr CompSolid)
new = IO (Ptr CompSolid)
-> (Ptr CompSolid -> IO ()) -> Acquire (Ptr CompSolid)
forall a. IO a -> (a -> IO ()) -> Acquire a
mkAcquire IO (Ptr CompSolid)
rawNew (Ptr Shape -> IO ()
deleteShape (Ptr Shape -> IO ())
-> (Ptr CompSolid -> Ptr Shape) -> Ptr CompSolid -> IO ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Ptr CompSolid -> Ptr Shape
forall a b. Ptr a -> Ptr b
castPtr)