packages feed

opencascade-hs 0.5.0.1 → 0.5.1.0

raw patch · 13 files changed

+218/−2 lines, 13 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ OpenCascade.BOPAlgo.BOP: addTool :: Ptr BOP -> Ptr Shape -> IO ()
+ OpenCascade.BOPAlgo.BOP: data BOP
+ OpenCascade.BOPAlgo.BOP: new :: Acquire (Ptr BOP)
+ OpenCascade.BOPAlgo.BOP: setOperation :: Ptr BOP -> Operation -> IO ()
+ OpenCascade.BOPAlgo.Builder: addArgument :: Ptr Builder -> Ptr Shape -> IO ()
+ OpenCascade.BOPAlgo.Builder: data Builder
+ OpenCascade.BOPAlgo.Builder: new :: Acquire (Ptr Builder)
+ OpenCascade.BOPAlgo.Builder: perform :: Ptr Builder -> IO ()
+ OpenCascade.BOPAlgo.Builder: setRunParallel :: Ptr Builder -> Bool -> IO ()
+ OpenCascade.BOPAlgo.Builder: shape :: Ptr Builder -> Acquire (Ptr Shape)
+ OpenCascade.BOPAlgo.Internal.Destructors: deleteBOP :: Ptr BOP -> IO ()
+ OpenCascade.BOPAlgo.Internal.Destructors: deleteBuilder :: Ptr Builder -> IO ()
+ OpenCascade.BOPAlgo.Operation: Common :: Operation
+ OpenCascade.BOPAlgo.Operation: Cut :: Operation
+ OpenCascade.BOPAlgo.Operation: Cut21 :: Operation
+ OpenCascade.BOPAlgo.Operation: Fuse :: Operation
+ OpenCascade.BOPAlgo.Operation: Section :: Operation
+ OpenCascade.BOPAlgo.Operation: Unknown :: Operation
+ OpenCascade.BOPAlgo.Operation: data Operation
+ OpenCascade.BOPAlgo.Operation: instance GHC.Classes.Eq OpenCascade.BOPAlgo.Operation.Operation
+ OpenCascade.BOPAlgo.Operation: instance GHC.Enum.Enum OpenCascade.BOPAlgo.Operation.Operation
+ OpenCascade.BOPAlgo.Operation: instance GHC.Show.Show OpenCascade.BOPAlgo.Operation.Operation
+ OpenCascade.BOPAlgo.Types: data BOP
+ OpenCascade.BOPAlgo.Types: data Builder
+ OpenCascade.BOPAlgo.Types: instance OpenCascade.Inheritance.SubTypeOf OpenCascade.BOPAlgo.Types.Builder OpenCascade.BOPAlgo.Types.BOP

Files

CHANGELOG.md view
@@ -8,10 +8,20 @@  ## Unreleased +## 0.5.1.0++### Added++- Add `OpenCascade.BOPAlgo.Builder`+- Add `OpenCascade.BOPAlgo.BOP`+- Add `OpenCascade.BOPAlgo.Operation`+ ## 0.5.0.1  ## 0.5.0.0 +### Added+ - Add `OpenCascade.BRepFilletAPI.MakeFillet` methods `reset`, `nbFaultyContours`, `faultyContour`, `nbEdges`, `edge` and `remove` - Add `OpenCascade.BRepBuilderAPI.MakeShape` method `build` - Add `OpenCascade.BRepOffsetAPI.MakePipe` constructor `fromWireShapeTrihedronModeAndForceC1`@@ -33,6 +43,8 @@ - Add `OpenCascade.Geom.Curve` methods `firstParameter` and `lastParameter`  ## 0.4.0.0++### Added  - Add `OpenCascade.BRepBuilderAPI.MakeVertex` - Add `OpenCascade.BRepBuilderAPI.MakeWire.vertex`
+ cpp/hs_BOPAlgo_BOP.cpp view
@@ -0,0 +1,19 @@+#include <BOPAlgo_BOP.hxx>+#include "hs_BOPAlgo_BOP.h"+++BOPAlgo_BOP * hs_new_BOPAlgo_BOP(){+    return new BOPAlgo_BOP();+}++void hs_delete_BOPAlgo_BOP(BOPAlgo_BOP * bop){+    delete bop;+}++void hs_BOPAlgo_BOP_AddTool(BOPAlgo_BOP *bop, TopoDS_Shape * tool){+    bop->AddTool(*tool);+}++void hs_BOPAlgo_BOP_SetOperation(BOPAlgo_BOP *bop, BOPAlgo_Operation operation){+    bop->SetOperation(operation);+}
+ cpp/hs_BOPAlgo_BOP.h view
@@ -0,0 +1,22 @@+#ifndef HS_BOPALGO_BOP_H+#define HS_BOPALGO_BOP_H++#include "hs_types.h"++#ifdef __cplusplus+extern "C" {+#endif++BOPAlgo_BOP * hs_new_BOPAlgo_BOP();++void hs_delete_BOPAlgo_BOP(BOPAlgo_BOP * bop);++void hs_BOPAlgo_BOP_AddTool(BOPAlgo_BOP *bop, TopoDS_Shape * tool);++void hs_BOPAlgo_BOP_SetOperation(BOPAlgo_BOP *bop, BOPAlgo_Operation operation);++#ifdef __cplusplus+}+#endif++#endif // HS_BOPALGO_BOP_H
+ cpp/hs_BOPAlgo_Builder.cpp view
@@ -0,0 +1,27 @@+#include <BOPAlgo_Builder.hxx>+#include "hs_BOPAlgo_Builder.h"++BOPAlgo_Builder * hs_new_BOPAlgo_Builder(){+    return new BOPAlgo_Builder();+}++void hs_delete_BOPAlgo_Builder(BOPAlgo_Builder * builder){+    delete builder;+}++void hs_BOPAlgo_Builder_AddArgument(BOPAlgo_Builder * builder, TopoDS_Shape * shape){+    builder->AddArgument(*shape);+}++TopoDS_Shape * hs_BOPAlgo_Builder_Shape(BOPAlgo_Builder * builder){+    return new TopoDS_Shape(builder->Shape());+}++void hs_BOPAlgo_Builder_SetRunParallel(BOPAlgo_Builder * builder, bool runParallel){+    builder->SetRunParallel(runParallel);+}++void hs_BOPAlgo_Builder_Perform(BOPAlgo_Builder * builder){+    builder->Perform();+}+
+ cpp/hs_BOPAlgo_Builder.h view
@@ -0,0 +1,26 @@+#ifndef HS_BOPALGO_BUILDER_H+#define HS_BOPALGO_BUILDER_H++#include "hs_types.h"++#ifdef __cplusplus+extern "C" {+#endif++BOPAlgo_Builder * hs_new_BOPAlgo_Builder();++void hs_delete_BOPAlgo_Builder(BOPAlgo_Builder * builder);++void hs_BOPAlgo_Builder_AddArgument(BOPAlgo_Builder * builder, TopoDS_Shape * shape);++TopoDS_Shape * hs_BOPAlgo_Builder_Shape(BOPAlgo_Builder * builder);++void hs_BOPAlgo_Builder_SetRunParallel(BOPAlgo_Builder * builder, bool runParallel);++void hs_BOPAlgo_Builder_Perform(BOPAlgo_Builder * builder);++#ifdef __cplusplus+}+#endif++#endif // HS_BOPALGO_BUILDER_H
cpp/hs_BRepAlgoAPI_Fuse.h view
@@ -1,4 +1,3 @@- #ifndef HS_BREPALGOAPI_FUSE_H #define HS_BREPALGOAPI_FUSE_H 
cpp/hs_types.h view
@@ -100,6 +100,9 @@ typedef void HLRBRep_Algo; typedef void HLRBRep_HLRToShape; typedef int HLRBRep_TypeOfResultingEdge;+typedef void BOPAlgo_Builder;+typedef void BOPAlgo_BOP;+typedef int BOPAlgo_Operation;  #define Handle(X) void #define ARRAY_1(X) void
opencascade-hs.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           opencascade-hs-version:        0.5.0.1+version:        0.5.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@@ -23,6 +23,8 @@     CHANGELOG.md     cpp/hs_Bnd_Box.h     cpp/hs_Bnd_OBB.h+    cpp/hs_BOPAlgo_BOP.h+    cpp/hs_BOPAlgo_Builder.h     cpp/hs_BRep_Tool.h     cpp/hs_BRepAdaptor_Curve.h     cpp/hs_BRepAlgoAPI_Common.h@@ -131,6 +133,11 @@       OpenCascade.Bnd.Internal.Destructors       OpenCascade.Bnd.OBB       OpenCascade.Bnd.Types+      OpenCascade.BOPAlgo.BOP+      OpenCascade.BOPAlgo.Builder+      OpenCascade.BOPAlgo.Internal.Destructors+      OpenCascade.BOPAlgo.Operation+      OpenCascade.BOPAlgo.Types       OpenCascade.BRep.Tool       OpenCascade.BRepAdaptor       OpenCascade.BRepAdaptor.Curve@@ -342,6 +349,8 @@   cxx-sources:       cpp/hs_Bnd_Box.cpp       cpp/hs_Bnd_OBB.cpp+      cpp/hs_BOPAlgo_BOP.cpp+      cpp/hs_BOPAlgo_Builder.cpp       cpp/hs_BRep_Tool.cpp       cpp/hs_BRepAdaptor_Curve.cpp       cpp/hs_BRepAlgoAPI_Common.cpp
+ src/OpenCascade/BOPAlgo/BOP.hs view
@@ -0,0 +1,29 @@+{-# LANGUAGE CApiFFI #-} +module OpenCascade.BOPAlgo.BOP +( BOP+, new+, addTool+, setOperation+) where++import OpenCascade.BOPAlgo.Types+import OpenCascade.BOPAlgo.Internal.Destructors (deleteBOP)+import OpenCascade.BOPAlgo.Operation (Operation)+import qualified OpenCascade.TopoDS.Types as TopoDS++import Foreign.Ptr (Ptr)+import Data.Acquire (Acquire, mkAcquire)+import Foreign.C (CInt (..))+++foreign import capi unsafe "hs_BOPAlgo_BOP.h hs_new_BOPAlgo_BOP" rawNew :: IO (Ptr BOP)++new :: Acquire (Ptr BOP)+new = mkAcquire rawNew deleteBOP++foreign import capi unsafe "hs_BOPAlgo_BOP.h hs_BOPAlgo_BOP_AddTool" addTool :: Ptr BOP -> Ptr TopoDS.Shape -> IO ()++foreign import capi unsafe "hs_BOPAlgo_BOP.h hs_BOPAlgo_BOP_SetOperation" rawSetOperation :: Ptr BOP -> CInt -> IO ()++setOperation :: Ptr BOP -> Operation -> IO ()+setOperation bop op = rawSetOperation bop (fromIntegral . fromEnum $ op)
+ src/OpenCascade/BOPAlgo/Builder.hs view
@@ -0,0 +1,39 @@+{-# LANGUAGE CApiFFI #-} +module OpenCascade.BOPAlgo.Builder+( Builder+, new+, addArgument+, setRunParallel+, shape+, perform+) where++import OpenCascade.BOPAlgo.Types+import OpenCascade.BOPAlgo.Internal.Destructors (deleteBuilder)+import qualified OpenCascade.TopoDS.Types as TopoDS+import OpenCascade.TopoDS.Internal.Destructors (deleteShape)+import Foreign.Ptr (Ptr)+import Foreign.C (CBool (..))+import Data.Acquire (Acquire, mkAcquire)+import OpenCascade.Internal.Bool (boolToCBool)++foreign import capi unsafe "hs_BOPAlgo_Builder.h hs_new_BOPAlgo_Builder" rawNew :: IO (Ptr Builder)++new :: Acquire (Ptr Builder)+new = mkAcquire rawNew deleteBuilder++foreign import capi unsafe "hs_BOPAlgo_Builder.h hs_BOPAlgo_Builder_AddArgument" addArgument :: Ptr Builder -> Ptr TopoDS.Shape -> IO ()++foreign import capi unsafe "hs_BOPAlgo_Builder.h hs_BOPAlgo_Builder_SetRunParallel" rawSetRunParallel :: Ptr Builder -> CBool -> IO ()++setRunParallel :: Ptr Builder -> Bool -> IO ()+setRunParallel builder = rawSetRunParallel builder . boolToCBool++foreign import capi unsafe "hs_BOPAlgo_Builder.h hs_BOPAlgo_Builder_Shape" rawShape :: Ptr Builder -> IO (Ptr TopoDS.Shape)++shape :: Ptr Builder -> Acquire (Ptr TopoDS.Shape)+shape builder = mkAcquire (rawShape builder) deleteShape  +++foreign import capi unsafe "hs_BOPAlgo_Builder.h hs_BOPAlgo_Builder_Perform" perform :: Ptr Builder -> IO ()+
+ src/OpenCascade/BOPAlgo/Internal/Destructors.hs view
@@ -0,0 +1,11 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.BOPAlgo.Internal.Destructors +( deleteBuilder+, deleteBOP+) where++import OpenCascade.BOPAlgo.Types+import Foreign.Ptr++foreign import capi unsafe "hs_BOPAlgo_Builder.h hs_delete_BOPAlgo_Builder" deleteBuilder :: Ptr Builder -> IO ()+foreign import capi unsafe "hs_BOPAlgo_BOP.h hs_delete_BOPAlgo_BOP" deleteBOP :: Ptr BOP -> IO ()
+ src/OpenCascade/BOPAlgo/Operation.hs view
@@ -0,0 +1,7 @@+module OpenCascade.BOPAlgo.Operation+( Operation (..)+) where++-- this should match the enumeration in BOPAlgo_Operation+data Operation = Common | Fuse | Cut | Cut21 | Section | Unknown+    deriving (Show, Eq, Enum)
+ src/OpenCascade/BOPAlgo/Types.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE EmptyDataDecls #-}+module OpenCascade.BOPAlgo.Types+( Builder+, BOP+) where++import qualified OpenCascade.Inheritance as Inheritance++data Builder+data BOP++instance Inheritance.SubTypeOf Builder BOP