packages feed

opencascade-hs-0.1.2.1: src/OpenCascade/BRepPrimAPI/MakeCone.hs

{-# LANGUAGE CApiFFI #-}
module OpenCascade.BRepPrimAPI.MakeCone
( fromTwoRadiiAndHeight
) where

import qualified OpenCascade.TopoDS as TopoDS
import qualified OpenCascade.TopoDS.Internal.Destructors as TopoDS.Destructors
import Foreign.C
import Foreign.Ptr
import Data.Acquire 
import Data.Coerce (coerce)

foreign import capi unsafe "hs_BRepPrimAPI_MakeCone.h hs_BRepPrimAPI_MakeCone_fromTwoRadiiAndHeight" rawFromTwoRadiiAndHeight :: CDouble -> CDouble -> CDouble -> IO (Ptr TopoDS.Solid)

fromTwoRadiiAndHeight :: Double -> Double -> Double -> Acquire (Ptr TopoDS.Solid)
fromTwoRadiiAndHeight r1 r2 h = mkAcquire ((coerce rawFromTwoRadiiAndHeight) r1 r2 h) (TopoDS.Destructors.deleteShape . castPtr)