packages feed

opencascade-hs 0.1.0.0 → 0.1.1.0

raw patch · 10 files changed

+106/−3 lines, 10 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ OpenCascade.BRepOffset.Mode: Pipe :: Mode
+ OpenCascade.BRepOffset.Mode: RectoVerso :: Mode
+ OpenCascade.BRepOffset.Mode: Skin :: Mode
+ OpenCascade.BRepOffset.Mode: data Mode
+ OpenCascade.BRepOffset.Mode: instance GHC.Enum.Enum OpenCascade.BRepOffset.Mode.Mode
+ OpenCascade.BRepOffset.Mode: instance GHC.Show.Show OpenCascade.BRepOffset.Mode.Mode
+ OpenCascade.BRepOffsetAPI.Internal.Destructors: deleteMakeOffsetShape :: Ptr MakeOffsetShape -> IO ()
+ OpenCascade.BRepOffsetAPI.MakeOffsetShape: data MakeOffsetShape
+ OpenCascade.BRepOffsetAPI.MakeOffsetShape: new :: Acquire (Ptr MakeOffsetShape)
+ OpenCascade.BRepOffsetAPI.MakeOffsetShape: performByJoin :: Ptr MakeOffsetShape -> Ptr Shape -> Double -> Double -> Mode -> Bool -> Bool -> JoinType -> Bool -> IO ()
+ OpenCascade.BRepOffsetAPI.MakeOffsetShape: performBySimple :: Ptr MakeOffsetShape -> Ptr Shape -> Double -> IO ()
+ OpenCascade.BRepOffsetAPI.Types: data MakeOffsetShape
+ OpenCascade.BRepOffsetAPI.Types: instance OpenCascade.Inheritance.SubTypeOf OpenCascade.BRepBuilderAPI.Types.MakeShape OpenCascade.BRepOffsetAPI.Types.MakeOffsetShape
+ OpenCascade.Geom.Curve: dn :: Ptr (Handle Curve) -> Double -> Int -> Acquire (Ptr Vec)
+ OpenCascade.GeomAbs.JoinType: Arc :: JoinType
+ OpenCascade.GeomAbs.JoinType: Intersection :: JoinType
+ OpenCascade.GeomAbs.JoinType: Tangent :: JoinType
+ OpenCascade.GeomAbs.JoinType: data JoinType
+ OpenCascade.GeomAbs.JoinType: instance GHC.Enum.Enum OpenCascade.GeomAbs.JoinType.JoinType
+ OpenCascade.GeomAbs.JoinType: instance GHC.Show.Show OpenCascade.GeomAbs.JoinType.JoinType

Files

CHANGELOG.md view
@@ -8,6 +8,15 @@  ## Unreleased +## 0.1.1.0 - 2023-12-12 ++### Added++- Add OpenCascade.BRepOffsetAPI.MakeOffsetShape+- Add OpenCascade.GeomAbs.JoinType+- Add OpenCascade.BRepOffset.Mode+- Add `dn` to OpenCascade.Geom.Curve+ ## 0.1.0.0 - 2023-12-05   ### Added 
+ cpp/hs_BRepOffsetAPI_MakeOffsetShape.cpp view
@@ -0,0 +1,28 @@+#include <BRepOffsetAPI_MakeOffsetShape.hxx>+#include "hs_BRepOffsetAPI_MakeOffsetShape.h"++BRepOffsetAPI_MakeOffsetShape * hs_new_BRepOffsetAPI_MakeOffsetShape(){+    return new BRepOffsetAPI_MakeOffsetShape();+}++void hs_delete_BRepOffsetAPI_MakeOffsetShape(BRepOffsetAPI_MakeOffsetShape * builder){+    delete builder;+}++void hs_BRepOffsetAPI_MakeOffsetShape_performBySimple(BRepOffsetAPI_MakeOffsetShape * builder, TopoDS_Shape * shape, double value){+    builder->PerformBySimple(*shape, value);+}++void hs_BRepOffsetAPI_MakeOffsetShape_performByJoin(+    BRepOffsetAPI_MakeOffsetShape * builder,+    TopoDS_Shape * shape, +    double value,+    double tol,+    BRepOffset_Mode mode,+    bool intersection,+    bool selfInter,+    GeomAbs_JoinType join,+    bool removeIntEdges+     ){+    builder->PerformByJoin(*shape, value, tol, mode, intersection, selfInter, join, removeIntEdges);+}
cpp/hs_Geom_Curve.cpp view
@@ -1,5 +1,6 @@ #include <Geom_Curve.hxx> #include <gp_Pnt.hxx>+#include <gp_Vec.hxx> #include "hs_Geom_Curve.h"  void hs_delete_Handle_Geom_Curve(Handle(Geom_Curve) * handle){@@ -10,3 +11,6 @@     return new gp_Pnt((*curve)->Value(u)); } +gp_Vec * hs_Geom_Curve_dn(Handle (Geom_Curve) * curve, double u, int n){+    return new gp_Vec((*curve)->DN(u, n));+}
opencascade-hs.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           opencascade-hs-version:        0.1.0.0+version:        0.1.1.0 synopsis:       Thin Wrapper for the OpenCASCADE CAD Kernel description:    Please see the README on GitHub at <https://github.com/joe-warren/opencascade-hs#readme> category:       Graphics,FFI@@ -52,8 +52,10 @@       OpenCascade.BRepMesh.IncrementalMesh       OpenCascade.BRepMesh.Internal.Destructors       OpenCascade.BRepMesh.Types+      OpenCascade.BRepOffset.Mode       OpenCascade.BRepOffsetAPI       OpenCascade.BRepOffsetAPI.Internal.Destructors+      OpenCascade.BRepOffsetAPI.MakeOffsetShape       OpenCascade.BRepOffsetAPI.MakePipe       OpenCascade.BRepOffsetAPI.Types       OpenCascade.BRepPrimAPI@@ -80,6 +82,7 @@       OpenCascade.Geom.Curve       OpenCascade.Geom.Internal.Destructors       OpenCascade.Geom.Types+      OpenCascade.GeomAbs.JoinType       OpenCascade.GP       OpenCascade.GP.Ax1       OpenCascade.GP.Ax2@@ -166,6 +169,7 @@       cpp/hs_BRepBuilderAPI_Transform.cpp       cpp/hs_BRepFilletAPI_MakeFillet.cpp       cpp/hs_BRepMesh_IncrementalMesh.cpp+      cpp/hs_BRepOffsetAPI_MakeOffsetShape.cpp       cpp/hs_BRepOffsetAPI_MakePipe.cpp       cpp/hs_BRepPrimAPI_MakeBox.cpp       cpp/hs_BRepPrimAPI_MakeCylinder.cpp
+ src/OpenCascade/BRepOffset/Mode.hs view
@@ -0,0 +1,5 @@+module OpenCascade.BRepOffset.Mode+(Mode (..)+) where++data Mode = Skin | Pipe | RectoVerso deriving (Enum, Show)
src/OpenCascade/BRepOffsetAPI/Internal/Destructors.hs view
@@ -6,5 +6,6 @@ import Foreign.Ptr  foreign import capi unsafe "hs_BRepOffsetAPI_MakePipe.h hs_delete_BRepOffsetAPI_MakePipe" deleteMakePipe :: Ptr MakePipe -> IO ()+foreign import capi unsafe "hs_BRepOffsetAPI_MakeOffsetShape.h hs_delete_BRepOffsetAPI_MakeOffsetShape" deleteMakeOffsetShape :: Ptr MakeOffsetShape -> IO ()  
+ src/OpenCascade/BRepOffsetAPI/MakeOffsetShape.hs view
@@ -0,0 +1,37 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.BRepOffsetAPI.MakeOffsetShape +( MakeOffsetShape +, new+, performBySimple+, performByJoin+) where++import OpenCascade.BRepOffsetAPI.Types (MakeOffsetShape)+import Data.Acquire+import OpenCascade.BRepOffsetAPI.Internal.Destructors (deleteMakeOffsetShape)+import Foreign (Ptr)+import qualified OpenCascade.TopoDS as TopoDS+import Foreign.C+import Data.Coerce (coerce)+import qualified OpenCascade.BRepOffset.Mode as BRepOffset.Mode+import qualified OpenCascade.GeomAbs.JoinType as GeomAbs.JoinType+import OpenCascade.Internal.Bool (boolToCBool)++foreign import capi unsafe "hs_BRepOffsetAPI_MakeOffsetShape.h hs_new_BRepOffsetAPI_MakeOffsetShape" rawNew :: IO (Ptr MakeOffsetShape)++new :: Acquire (Ptr MakeOffsetShape)+new = mkAcquire rawNew deleteMakeOffsetShape++foreign import capi unsafe "hs_BRepOffsetAPI_MakeOffsetShape.h hs_BRepOffsetAPI_MakeOffsetShape_performBySimple" rawPerformBySimple :: Ptr MakeOffsetShape -> Ptr TopoDS.Shape -> CDouble -> IO ()+ +performBySimple :: Ptr MakeOffsetShape -> Ptr TopoDS.Shape -> Double -> IO ()+performBySimple = coerce rawPerformBySimple+++foreign import capi unsafe "hs_BRepOffsetAPI_MakeOffsetShape.h hs_BRepOffsetAPI_MakeOffsetShape_performByJoin" rawPerformByJoin :: Ptr MakeOffsetShape -> Ptr TopoDS.Shape -> CDouble -> CDouble -> CInt -> CBool -> CBool -> CInt -> CBool -> IO ()++-- |  builder, shape, value, tol, mode intersection, selfInter, join, removeIntEdges+performByJoin :: Ptr MakeOffsetShape -> Ptr TopoDS.Shape -> Double -> Double -> BRepOffset.Mode.Mode -> Bool -> Bool -> GeomAbs.JoinType.JoinType -> Bool -> IO ()+performByJoin builder shape value tol mode intersection selfInter join removeIntEdges =+    rawPerformByJoin builder shape (coerce value) (coerce tol) (fromIntegral $ fromEnum mode) (boolToCBool intersection) (boolToCBool selfInter) (fromIntegral . fromEnum $ join) (boolToCBool removeIntEdges)+
src/OpenCascade/BRepOffsetAPI/Types.hs view
@@ -2,11 +2,14 @@ {-# LANGUAGE EmptyDataDecls #-} module OpenCascade.BRepOffsetAPI.Types ( MakePipe+, MakeOffsetShape ) where  import qualified OpenCascade.Inheritance as Inheritance import OpenCascade.BRepBuilderAPI.MakeShape (MakeShape)  data MakePipe+data MakeOffsetShape  instance Inheritance.SubTypeOf MakeShape MakePipe+instance Inheritance.SubTypeOf MakeShape MakeOffsetShape
src/OpenCascade/Geom/Curve.hs view
@@ -1,16 +1,22 @@ {-# LANGUAGE CApiFFI #-} module OpenCascade.Geom.Curve  ( value+, dn ) where import Foreign.Ptr import Foreign.C import Data.Coerce import Data.Acquire import OpenCascade.Geom.Types (Curve)-import OpenCascade.GP (Pnt)-import OpenCascade.GP.Internal.Destructors (deletePnt)+import OpenCascade.GP (Pnt, Vec)+import OpenCascade.GP.Internal.Destructors (deletePnt, deleteVec) import OpenCascade.Handle (Handle) foreign import capi unsafe "hs_Geom_Curve.h hs_Geom_Curve_value" rawValue :: Ptr (Handle Curve) -> CDouble -> IO(Ptr Pnt)  value :: Ptr (Handle Curve) -> Double -> Acquire (Ptr Pnt) value curve u = mkAcquire (rawValue curve (coerce u)) deletePnt++foreign import capi unsafe "hs_Geom_Curve.h hs_Geom_Curve_dn" rawDN :: Ptr (Handle Curve) -> CDouble -> CInt -> IO (Ptr Vec)++dn :: Ptr (Handle Curve) -> Double -> Int -> Acquire (Ptr Vec)+dn curve u n = mkAcquire (rawDN curve (coerce u) (fromIntegral n)) deleteVec
+ src/OpenCascade/GeomAbs/JoinType.hs view
@@ -0,0 +1,6 @@+module OpenCascade.GeomAbs.JoinType+( JoinType (..)+) where++-- This needs to stay up to date with GeomAbs_JoinType.hxx+data JoinType = Arc | Tangent | Intersection deriving (Enum, Show)