{-# LANGUAGE CApiFFI#-}
module OpenCascade.BRepBndLib
( add
, addOptimal
, addOBB
) where
import OpenCascade.TopoDS.Types (Shape)
import OpenCascade.Bnd.Types (Box, OBB)
import Foreign.Ptr (Ptr)
import Foreign.C (CBool (..))
import OpenCascade.Internal.Bool (boolToCBool)
foreign import capi unsafe "hs_BRepBndLib.h hs_BRepBndLib_add" rawAdd :: Ptr Shape -> Ptr Box -> CBool -> IO ()
add :: Ptr Shape -> Ptr Box -> Bool -> IO ()
add :: Ptr Shape -> Ptr Box -> Bool -> IO ()
add Ptr Shape
shape Ptr Box
box Bool
useTriangulation = Ptr Shape -> Ptr Box -> CBool -> IO ()
rawAdd Ptr Shape
shape Ptr Box
box (Bool -> CBool
boolToCBool Bool
useTriangulation)
foreign import capi unsafe "hs_BRepBndLib.h hs_BRepBndLib_addOptimal" rawAddOptimal :: Ptr Shape -> Ptr Box -> CBool -> CBool -> IO ()
addOptimal :: Ptr Shape -> Ptr Box -> Bool
-> Bool
-> IO ()
addOptimal :: Ptr Shape -> Ptr Box -> Bool -> Bool -> IO ()
addOptimal Ptr Shape
shape Ptr Box
box Bool
useTriangulation Bool
useShapeTolerance =
Ptr Shape -> Ptr Box -> CBool -> CBool -> IO ()
rawAddOptimal Ptr Shape
shape Ptr Box
box (Bool -> CBool
boolToCBool Bool
useTriangulation) (Bool -> CBool
boolToCBool Bool
useShapeTolerance)
foreign import capi unsafe "hs_BRepBndLib.h hs_BRepBndLib_addOBB" rawAddOBB :: Ptr Shape -> Ptr OBB -> CBool -> CBool -> CBool -> IO ()
addOBB :: Ptr Shape -> Ptr OBB -> Bool
-> Bool
-> Bool
-> IO ()
addOBB :: Ptr Shape -> Ptr OBB -> Bool -> Bool -> Bool -> IO ()
addOBB Ptr Shape
shape Ptr OBB
obb Bool
triangulationUsed Bool
optimal Bool
shapeToleranceUsed =
Ptr Shape -> Ptr OBB -> CBool -> CBool -> CBool -> IO ()
rawAddOBB Ptr Shape
shape Ptr OBB
obb (Bool -> CBool
boolToCBool Bool
triangulationUsed) (Bool -> CBool
boolToCBool Bool
optimal) (Bool -> CBool
boolToCBool Bool
shapeToleranceUsed)