opencascade-hs-0.2.0.0: src/OpenCascade/BRepBndLib.hs
{-# 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 shape box useTriangulation = rawAdd shape box (boolToCBool 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 -- ^ useTriangulation
-> Bool -- ^ useShapeTolerance
-> IO ()
addOptimal shape box useTriangulation useShapeTolerance =
rawAddOptimal shape box (boolToCBool useTriangulation) (boolToCBool 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 -- ^ isTriangulation used
-> Bool -- ^ isOptimal
-> Bool -- ^ is ShapeToleranceUsed
-> IO ()
addOBB shape obb triangulationUsed optimal shapeToleranceUsed =
rawAddOBB shape obb (boolToCBool triangulationUsed) (boolToCBool optimal) (boolToCBool shapeToleranceUsed)