packages feed

opencascade-hs-0.7.0.0: src/OpenCascade/HLRAlgo/Projector.hs

{-# LANGUAGE CApiFFI #-}
module OpenCascade.HLRAlgo.Projector
( Projector
, fromAx2
, transformation
, invertedTransformation
) where
import qualified OpenCascade.GP.Types as GP
import OpenCascade.GP.Internal.Destructors (deleteTrsf)
import OpenCascade.HLRAlgo.Types (Projector)
import OpenCascade.HLRAlgo.Internal.Destructors (deleteProjector)
import Foreign.Ptr 
import Data.Acquire (mkAcquire, Acquire)

foreign import capi unsafe "hs_HLRAlgo_Projector.h hs_new_HLRAlgo_Projector_fromAx2" rawFromAx2 :: Ptr GP.Ax2 -> IO (Ptr Projector)

fromAx2 :: Ptr GP.Ax2 -> Acquire (Ptr Projector)
fromAx2 ax2 = mkAcquire (rawFromAx2 ax2) deleteProjector

foreign import capi unsafe "hs_HLRAlgo_Projector.h hs_HLRAlgo_Projector_Transformation" rawTransformation :: Ptr Projector -> IO (Ptr GP.Trsf)

transformation :: Ptr Projector -> Acquire (Ptr GP.Trsf)
transformation projector = mkAcquire (rawTransformation projector) deleteTrsf

foreign import capi unsafe "hs_HLRAlgo_Projector.h hs_HLRAlgo_Projector_InvertedTransformation" rawInvertedTransformation :: Ptr Projector -> IO (Ptr GP.Trsf)

invertedTransformation :: Ptr Projector -> Acquire (Ptr GP.Trsf)
invertedTransformation projector = mkAcquire (rawInvertedTransformation projector) deleteTrsf