opencascade-hs 0.5.1.1 → 0.6.0.0
raw patch · 8 files changed
+129/−2 lines, 8 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ OpenCascade.BRepFilletAPI.Internal.Destructors: deleteMakeChamfer :: Ptr MakeChamfer -> IO ()
+ OpenCascade.BRepFilletAPI.MakeChamfer: addEdge :: Ptr MakeChamfer -> Ptr Edge -> IO ()
+ OpenCascade.BRepFilletAPI.MakeChamfer: addEdgeWithDistance :: Ptr MakeChamfer -> Double -> Ptr Edge -> IO ()
+ OpenCascade.BRepFilletAPI.MakeChamfer: data MakeChamfer
+ OpenCascade.BRepFilletAPI.MakeChamfer: edge :: Ptr MakeChamfer -> Int -> Int -> Acquire (Ptr Edge)
+ OpenCascade.BRepFilletAPI.MakeChamfer: fromShape :: Ptr Shape -> Acquire (Ptr MakeChamfer)
+ OpenCascade.BRepFilletAPI.MakeChamfer: nbEdges :: Ptr MakeChamfer -> Int -> IO Int
+ OpenCascade.BRepFilletAPI.MakeChamfer: remove :: Ptr MakeChamfer -> Ptr Edge -> IO ()
+ OpenCascade.BRepFilletAPI.MakeChamfer: reset :: Ptr MakeChamfer -> IO ()
+ OpenCascade.BRepFilletAPI.Types: data MakeChamfer
+ OpenCascade.BRepFilletAPI.Types: instance OpenCascade.Inheritance.SubTypeOf OpenCascade.BRepBuilderAPI.Types.MakeShape OpenCascade.BRepFilletAPI.Types.MakeChamfer
Files
- CHANGELOG.md +4/−0
- cpp/hs_BRepFilletAPI_MakeChamfer.cpp +35/−0
- cpp/hs_BRepFilletAPI_MakeChamfer.h +30/−0
- cpp/hs_types.h +1/−0
- opencascade-hs.cabal +4/−1
- src/OpenCascade/BRepFilletAPI/Internal/Destructors.hs +3/−0
- src/OpenCascade/BRepFilletAPI/MakeChamfer.hs +48/−0
- src/OpenCascade/BRepFilletAPI/Types.hs +4/−1
CHANGELOG.md view
@@ -8,6 +8,10 @@ ## Unreleased +## 0.6.0.0++- Add `OpenCascade.BRepFiletAPI_MakeChamfer`+ ## 0.5.1.1 ## 0.5.1.0
+ cpp/hs_BRepFilletAPI_MakeChamfer.cpp view
@@ -0,0 +1,35 @@+#include <BRepFilletAPI_MakeChamfer.hxx>+#include <TopoDS_Shape.hxx>+#include "hs_BRepFilletAPI_MakeChamfer.h"++BRepFilletAPI_MakeChamfer * hs_new_BRepFilletAPI_MakeChamfer_fromShape(TopoDS_Shape * shape) {+ return new BRepFilletAPI_MakeChamfer(*shape);+}++void hs_delete_BRepFilletAPI_MakeChamfer(BRepFilletAPI_MakeChamfer * builder) {+ delete builder;+}++void hs_BRepFilletAPI_MakeChamfer_addEdge(BRepFilletAPI_MakeChamfer * builder, TopoDS_Edge *edge ){+ builder->Add(*edge);+}++void hs_BRepFilletAPI_MakeChamfer_addEdgeWithDistance(BRepFilletAPI_MakeChamfer * builder, double d, TopoDS_Edge *edge ){+ builder->Add(d, *edge);+}++void hs_BRepFilletAPI_MakeChamfer_reset(BRepFilletAPI_MakeChamfer * builder){+ builder->Reset();+}++int hs_BRepFilletAPI_MakeChamfer_nbEdges(BRepFilletAPI_MakeChamfer * builder, int contourIndex){+ return builder->NbEdges(contourIndex);+}++TopoDS_Edge * hs_BRepFilletAPI_MakeChamfer_edge(BRepFilletAPI_MakeChamfer * builder, int contourIndex, int edgeIndex){+ return new TopoDS_Edge(builder->Edge(contourIndex, edgeIndex));+}++void hs_BRepFilletAPI_MakeChamfer_remove(BRepFilletAPI_MakeChamfer * builder, TopoDS_Edge * edge){+ builder->Remove(*edge);+}
+ cpp/hs_BRepFilletAPI_MakeChamfer.h view
@@ -0,0 +1,30 @@+#ifndef HS_BREPFILLETAPI_MAKECHAMFER_H+#define HS_BREPFILLETAPI_MAKECHAMFER_H++#include "hs_types.h"++#ifdef __cplusplus+extern "C" {+#endif++BRepFilletAPI_MakeChamfer * hs_new_BRepFilletAPI_MakeChamfer_fromShape(TopoDS_Shape * shape) ;++void hs_delete_BRepFilletAPI_MakeChamfer(BRepFilletAPI_MakeChamfer * builder) ;++void hs_BRepFilletAPI_MakeChamfer_addEdge(BRepFilletAPI_MakeChamfer * builder, TopoDS_Edge *edge );++void hs_BRepFilletAPI_MakeChamfer_addEdgeWithDistance(BRepFilletAPI_MakeChamfer * builder, double d, TopoDS_Edge *edge );++void hs_BRepFilletAPI_MakeChamfer_reset(BRepFilletAPI_MakeChamfer * builder);++int hs_BRepFilletAPI_MakeChamfer_nbEdges(BRepFilletAPI_MakeChamfer * builder, int contourIndex);++TopoDS_Edge * hs_BRepFilletAPI_MakeChamfer_edge(BRepFilletAPI_MakeChamfer * builder, int contourIndex, int edgeIndex);++void hs_BRepFilletAPI_MakeChamfer_remove(BRepFilletAPI_MakeChamfer * builder, TopoDS_Edge * edge);++#ifdef __cplusplus+}+#endif++#endif // HS_BREPFILLETAPI_MAKECHAMFER_H
cpp/hs_types.h view
@@ -41,6 +41,7 @@ typedef int BRepBuilderAPI_WireError; typedef int BRepBuilderAPI_FaceError; typedef void BRepFilletAPI_MakeFillet;+typedef void BRepFilletAPI_MakeChamfer; typedef void BRepPrimAPI_MakeBox; typedef void TopExp_Explorer; typedef void BRepPrimAPI_MakeCylinder;
opencascade-hs.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: opencascade-hs-version: 0.5.1.1+version: 0.6.0.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@@ -42,6 +42,7 @@ cpp/hs_BRepBuilderAPI_MakeWire.h cpp/hs_BRepBuilderAPI_Sewing.h cpp/hs_BRepBuilderAPI_Transform.h+ cpp/hs_BRepFilletAPI_MakeChamfer.h cpp/hs_BRepFilletAPI_MakeFillet.h cpp/hs_BRepGProp.h cpp/hs_BRepLib.h@@ -165,6 +166,7 @@ OpenCascade.BRepBuilderAPI.WireError OpenCascade.BRepFilletAPI OpenCascade.BRepFilletAPI.Internal.Destructors+ OpenCascade.BRepFilletAPI.MakeChamfer OpenCascade.BRepFilletAPI.MakeFillet OpenCascade.BRepFilletAPI.Types OpenCascade.BRepGProp@@ -368,6 +370,7 @@ cpp/hs_BRepBuilderAPI_MakeWire.cpp cpp/hs_BRepBuilderAPI_Sewing.cpp cpp/hs_BRepBuilderAPI_Transform.cpp+ cpp/hs_BRepFilletAPI_MakeChamfer.cpp cpp/hs_BRepFilletAPI_MakeFillet.cpp cpp/hs_BRepGProp.cpp cpp/hs_BRepLib.cpp
src/OpenCascade/BRepFilletAPI/Internal/Destructors.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE CApiFFI #-} module OpenCascade.BRepFilletAPI.Internal.Destructors ( deleteMakeFillet+, deleteMakeChamfer ) where import OpenCascade.BRepFilletAPI.Types@@ -8,5 +9,7 @@ import Foreign.Ptr foreign import capi unsafe "hs_BRepFilletAPI_MakeFillet.h hs_delete_BRepFilletAPI_MakeFillet" deleteMakeFillet :: Ptr MakeFillet -> IO ()++foreign import capi unsafe "hs_BRepFilletAPI_MakeChamfer.h hs_delete_BRepFilletAPI_MakeChamfer" deleteMakeChamfer :: Ptr MakeChamfer -> IO ()
+ src/OpenCascade/BRepFilletAPI/MakeChamfer.hs view
@@ -0,0 +1,48 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.BRepFilletAPI.MakeChamfer +( MakeChamfer+, fromShape+, addEdge+, addEdgeWithDistance+, reset+, nbEdges+, edge+, remove+) where++import OpenCascade.BRepFilletAPI.Types (MakeChamfer)+import OpenCascade.BRepFilletAPI.Internal.Destructors (deleteMakeChamfer)+import qualified OpenCascade.TopoDS as TopoDS+import OpenCascade.TopoDS.Internal.Destructors (deleteShape)+import OpenCascade.Inheritance (upcast)+import Foreign.Ptr+import Foreign.C+import Data.Acquire+import Data.Coerce (coerce)+++foreign import capi unsafe "hs_BRepFilletAPI_MakeChamfer.h hs_new_BRepFilletAPI_MakeChamfer_fromShape" rawFromShape :: Ptr TopoDS.Shape -> IO (Ptr MakeChamfer)++fromShape :: Ptr TopoDS.Shape -> Acquire (Ptr MakeChamfer)+fromShape shape = mkAcquire (rawFromShape shape) deleteMakeChamfer++foreign import capi unsafe "hs_BRepFilletAPI_MakeChamfer.h hs_BRepFilletAPI_MakeChamfer_addEdge" addEdge :: Ptr MakeChamfer -> Ptr TopoDS.Edge -> IO ()++foreign import capi unsafe "hs_BRepFilletAPI_MakeChamfer.h hs_BRepFilletAPI_MakeChamfer_addEdgeWithDistance" rawAddEdgeWithDistance :: Ptr MakeChamfer -> CDouble -> Ptr TopoDS.Edge -> IO ()++addEdgeWithDistance :: Ptr MakeChamfer -> Double -> Ptr TopoDS.Edge -> IO ()+addEdgeWithDistance = coerce rawAddEdgeWithDistance++foreign import capi unsafe "hs_BRepFilletAPI_MakeChamfer.h hs_BRepFilletAPI_MakeChamfer_reset" reset :: Ptr MakeChamfer -> IO ()++foreign import capi unsafe "hs_BRepFilletAPI_MakeChamfer.h hs_BRepFilletAPI_MakeChamfer_nbEdges" rawNbEdges :: Ptr MakeChamfer -> CInt -> IO CInt++nbEdges :: Ptr MakeChamfer -> Int -> IO Int+nbEdges builder index = fromIntegral <$> rawNbEdges builder (fromIntegral index)++foreign import capi unsafe "hs_BRepFilletAPI_MakeChamfer.h hs_BRepFilletAPI_MakeChamfer_edge" rawEdge :: Ptr MakeChamfer -> CInt -> CInt -> IO (Ptr TopoDS.Edge)++edge :: Ptr MakeChamfer -> Int -> Int -> Acquire (Ptr TopoDS.Edge)+edge builder contourIndex edgeIndex = mkAcquire (rawEdge builder (fromIntegral contourIndex) (fromIntegral edgeIndex)) (deleteShape . upcast)++foreign import capi unsafe "hs_BRepFilletAPI_MakeChamfer.h hs_BRepFilletAPI_MakeChamfer_remove" remove :: Ptr MakeChamfer -> Ptr TopoDS.Edge -> IO ()
src/OpenCascade/BRepFilletAPI/Types.hs view
@@ -1,12 +1,15 @@ {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE EmptyDataDecls #-} module OpenCascade.BRepFilletAPI.Types-( MakeFillet +( MakeFillet+, MakeChamfer ) where import qualified OpenCascade.Inheritance as Inheritance import OpenCascade.BRepBuilderAPI.MakeShape (MakeShape) data MakeFillet+data MakeChamfer instance Inheritance.SubTypeOf MakeShape MakeFillet+instance Inheritance.SubTypeOf MakeShape MakeChamfer