packages feed

opencascade-hs 0.2.0.0 → 0.2.1.0

raw patch · 35 files changed

+455/−1 lines, 35 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ OpenCascade.Message.Internal.Destructors: deleteProgressRange :: Ptr ProgressRange -> IO ()
+ OpenCascade.Message.ProgressRange: data ProgressRange
+ OpenCascade.Message.ProgressRange: new :: Acquire (Ptr ProgressRange)
+ OpenCascade.Message.Types: data ProgressRange
+ OpenCascade.RWGltf.CafWriter: data CafWriter
+ OpenCascade.RWGltf.CafWriter: new :: String -> Bool -> Acquire (Ptr CafWriter)
+ OpenCascade.RWGltf.CafWriter: perform :: Ptr CafWriter -> Ptr (Handle Document) -> Ptr IndexedDataMapOfStringString -> Ptr ProgressRange -> IO ()
+ OpenCascade.RWGltf.Internal.Destructors: deleteCafWriter :: Ptr CafWriter -> IO ()
+ OpenCascade.RWGltf.Types: data CafWriter
+ OpenCascade.TColStd.IndexedDataMapOfStringString: data IndexedDataMapOfStringString
+ OpenCascade.TColStd.IndexedDataMapOfStringString: new :: Acquire (Ptr IndexedDataMapOfStringString)
+ OpenCascade.TColStd.Internal.Destructors: deleteIndexedDataMapOfStringString :: Ptr IndexedDataMapOfStringString -> IO ()
+ OpenCascade.TColStd.Types: data IndexedDataMapOfStringString
+ OpenCascade.TDF.Internal.Destructors: deleteLabel :: Ptr Label -> IO ()
+ OpenCascade.TDF.Types: data Label
+ OpenCascade.TDocStd.Document: data Document
+ OpenCascade.TDocStd.Document: fromStorageFormat :: String -> Acquire (Ptr (Handle Document))
+ OpenCascade.TDocStd.Document: main :: Ptr (Handle Document) -> Acquire (Ptr Label)
+ OpenCascade.TDocStd.Internal.Destructors: deleteDocumentHandle :: Ptr (Handle Document) -> IO ()
+ OpenCascade.TDocStd.Types: data Document
+ OpenCascade.XCAFDoc.DocumentTool: shapeTool :: Ptr Label -> Acquire (Ptr (Handle ShapeTool))
+ OpenCascade.XCAFDoc.Internal.Destructors: deleteShapeToolHandle :: Ptr (Handle ShapeTool) -> IO ()
+ OpenCascade.XCAFDoc.ShapeTool: addShape :: Ptr (Handle ShapeTool) -> Ptr Shape -> Bool -> Bool -> Acquire (Ptr Label)
+ OpenCascade.XCAFDoc.ShapeTool: data ShapeTool
+ OpenCascade.XCAFDoc.Types: data ShapeTool

Files

CHANGELOG.md view
@@ -8,6 +8,18 @@  ## Unreleased +## 0.2.1.0++### Added++- Added OpenCascade.Message.ProgressRange+- Added OpenCascade.RWGltf.CafWriter+- Added OpenCascade.RWGltf.Types+- Added OpenCascade.TColStd.IndexedDataMapOfStringString+- Added OpenCascade.TDocStd.Document+- Added OpenCascade.XCAFDoc.DocumentTool+- Added OpenCascade.XCAFDoc.ShapeTool+ ## 0.2.0.0  ### Added
+ cpp/hs_Message_ProgressRange.cpp view
@@ -0,0 +1,10 @@+#include <Message_ProgressRange.hxx>+#include "hs_Message_ProgressRange.h"++Message_ProgressRange * hs_new_Message_ProgressRange(){+    return new Message_ProgressRange();+}++void hs_delete_Message_ProgressRange(Message_ProgressRange * theRange){+    delete theRange;+}
+ cpp/hs_Message_ProgressRange.h view
@@ -0,0 +1,18 @@+#ifndef HS_MESSAGE_PROGRESSRANGE_H+#define HS_MESSAGE_PROGRESSRANGE_H++#include "hs_types.h"++#ifdef __cplusplus+extern "C" {+#endif++Message_ProgressRange * hs_new_Message_ProgressRange();++void hs_delete_Message_ProgressRange(Message_ProgressRange * theRange);++#ifdef __cplusplus+}+#endif++#endif // HS_MESSAGE_PROGRESSRANGE_H
+ cpp/hs_RWGltf_CafWriter.cpp view
@@ -0,0 +1,14 @@+#include <RWGltf_CafWriter.hxx>+#include "hs_RWGltf_CafWriter.h"++RWGltf_CafWriter * hs_new_RWGltf_CafWriter(char * theFile, bool isBinary){+    return new RWGltf_CafWriter(theFile, isBinary);+}++void hs_delete_RWGltf_CafWriter(RWGltf_CafWriter * theWriter){+    delete theWriter;   +}++void hs_RWGltf_CafWriter_Perform(RWGltf_CafWriter * theWriter, Handle(TDocStd_Document) * theDocument, TColStd_IndexedDataMapOfStringString * theFileInfo, Message_ProgressRange * theProgress){+    theWriter->Perform(*theDocument, *theFileInfo, *theProgress);+}
+ cpp/hs_RWGltf_CafWriter.h view
@@ -0,0 +1,20 @@+#ifndef HS_RWGLTF_CAFWRITER_H+#define HS_RWGLTF_CAFWRITER_H++#include "hs_types.h"++#ifdef __cplusplus+extern "C" {+#endif++RWGltf_CafWriter * hs_new_RWGltf_CafWriter(char * theFile, bool isBinary);++void hs_delete_RWGltf_CafWriter(RWGltf_CafWriter * theWriter);++void hs_RWGltf_CafWriter_Perform(RWGltf_CafWriter * theWriter, Handle(TDocStd_Document) * theDocument, TColStd_IndexedDataMapOfStringString * theFileInfo, Message_ProgressRange * theProgress);++#ifdef __cplusplus+}+#endif++#endif // HS_RWGLTF_CAFWRITER_H
+ cpp/hs_TColStd_IndexedDataMapOfStringString.cpp view
@@ -0,0 +1,10 @@+#include <TColStd_IndexedDataMapOfStringString.hxx>+#include "hs_TColStd_IndexedDataMapOfStringString.h"++TColStd_IndexedDataMapOfStringString * hs_new_TColStd_IndexedDataMapOfStringString(){+    return new TColStd_IndexedDataMapOfStringString();+}++void hs_delete_TColStd_IndexedDataMapOfStringString(TColStd_IndexedDataMapOfStringString * theMap){+    delete theMap;+}
+ cpp/hs_TColStd_IndexedDataMapOfStringString.h view
@@ -0,0 +1,18 @@+#ifndef HS_TCOLSTD_INDEXEDDATAMAPOFSTRINGSTRING_H+#define HS_TCOLSTD_INDEXEDDATAMAPOFSTRINGSTRING_H++#include "hs_types.h"++#ifdef __cplusplus+extern "C" {+#endif++TColStd_IndexedDataMapOfStringString * hs_new_TColStd_IndexedDataMapOfStringString();++void hs_delete_TColStd_IndexedDataMapOfStringString(TColStd_IndexedDataMapOfStringString * theMap);++#ifdef __cplusplus+}+#endif++#endif // HS_TCOLSTD_INDEXEDDATAMAPOFSTRINGSTRING_H
+ cpp/hs_TDF_Label.cpp view
@@ -0,0 +1,6 @@+#include <TDF_Label.hxx>+#include "hs_TDF_Label.h"++void hs_delete_TDF_Label(TDF_Label * theLabel){+    delete theLabel;+}
+ cpp/hs_TDF_Label.h view
@@ -0,0 +1,16 @@+#ifndef HS_TDF_LABEL_H+#define HS_TDF_LABEL_H++#include "hs_types.h"++#ifdef __cplusplus+extern "C" {+#endif++void hs_delete_TDF_Label(TDF_Label * theLabel);++#ifdef __cplusplus+}+#endif++#endif // HS_TDF_LABEL_H
+ cpp/hs_TDocStd_Document.cpp view
@@ -0,0 +1,15 @@+#include <TDocStd_Document.hxx>+#include <XCAFDoc_ShapeTool.hxx>+#include "hs_TDocStd_Document.h"++Handle(TDocStd_Document) * hs_new_TDocStd_Document(char * storageFormat){+    return new opencascade::handle<TDocStd_Document>(new TDocStd_Document(storageFormat));+}++void hs_delete_TDocStd_Document(Handle(TDocStd_Document) * theDocument){+    delete theDocument;+}++TDF_Label * hs_TDocStd_Document_main(Handle(TDocStd_Document) *theDocument){+    return new TDF_Label(theDocument->get()->Main());+}
+ cpp/hs_TDocStd_Document.h view
@@ -0,0 +1,20 @@+#ifndef HS_TDOCSTD_DOCUMENT_H+#define HS_TDOCSTD_DOCUMENT_H++#include "hs_types.h"++#ifdef __cplusplus+extern "C" {+#endif++Handle(TDocStd_Document) * hs_new_TDocStd_Document(char * storageFormat);++void hs_delete_TDocStd_Document(Handle(TDocStd_Document) * theDocument);++TDF_Label * hs_TDocStd_Document_main(Handle(TDocStd_Document) *theDocument);++#ifdef __cplusplus+}+#endif++#endif // HS_TDOCSTD_DOCUMENT_H
+ cpp/hs_XCAFDoc_DocumentTool.cpp view
@@ -0,0 +1,6 @@+#include <XCAFDoc_DocumentTool.hxx>+#include "hs_XCAFDoc_DocumentTool.h"++Handle (XCAFDoc_ShapeTool) * hs_XCAFDoc_DocumentTool_shapeTool(TDF_Label * label){+    return new opencascade::handle<XCAFDoc_ShapeTool>(XCAFDoc_DocumentTool::ShapeTool(*label));+}
+ cpp/hs_XCAFDoc_DocumentTool.h view
@@ -0,0 +1,16 @@+#ifndef HS_XCAFDOC_DOCUMENTTOOL_H+#define HS_XCAFDOC_DOCUMENTTOOL_H++#include "hs_types.h"++#ifdef __cplusplus+extern "C" {+#endif++Handle (XCAFDoc_ShapeTool) * hs_XCAFDoc_DocumentTool_shapeTool(TDF_Label * label);++#ifdef __cplusplus+}+#endif++#endif // HS_XCAFDOC_DOCUMENTTOOL_H
+ cpp/hs_XCAFDoc_ShapeTool.cpp view
@@ -0,0 +1,10 @@+#include <XCAFDoc_ShapeTool.hxx>+#include "hs_XCAFDoc_ShapeTool.h"++void hs_delete_XCAFDoc_ShapeTool(Handle(XCAFDoc_ShapeTool) * shapeTool){+    delete shapeTool;+}++TDF_Label * hs_XCAFDoc_ShapeTool_addShape(Handle(XCAFDoc_ShapeTool) *shapeTool, TopoDS_Shape *theShape, bool makeAssembly, bool makePrepare){+    return new TDF_Label(shapeTool->get()->AddShape(*theShape, makeAssembly, makePrepare));+}
+ cpp/hs_XCAFDoc_ShapeTool.h view
@@ -0,0 +1,18 @@+#ifndef HS_XCAFDOC_SHAPETOOL_H+#define HS_XCAFDOC_SHAPETOOL_H++#include "hs_types.h"++#ifdef __cplusplus+extern "C" {+#endif++void hs_delete_XCAFDoc_ShapeTool(Handle(XCAFDoc_ShapeTool) * shapeTool);++TDF_Label * hs_XCAFDoc_ShapeTool_addShape(Handle(XCAFDoc_ShapeTool) *shapeTool, TopoDS_Shape *theShape, bool makeAssembly, bool makePrepare);++#ifdef __cplusplus+}+#endif++#endif // HS_XCAFDOC_SHAPETOOL_H
cpp/hs_types.h view
@@ -66,6 +66,12 @@ typedef void GProp_GProps; typedef void Bnd_Box; typedef void Bnd_OBB;+typedef void Message_ProgressRange;+typedef void RWGltf_CafWriter;+typedef void TColStd_IndexedDataMapOfStringString;+typedef void TDF_Label;+typedef void TDocStd_Document;+typedef void XCAFDoc_ShapeTool; #define Handle(X) void #define ARRAY_1(X) void #else // __cplusplus
opencascade-hs.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           opencascade-hs-version:        0.2.0.0+version:        0.2.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@@ -70,9 +70,14 @@     cpp/hs_gp_Vec2d.h     cpp/hs_gp_XYZ.h     cpp/hs_GProp_GProps.h+    cpp/hs_Message_ProgressRange.h     cpp/hs_NCollection_Array1.h+    cpp/hs_RWGltf_CafWriter.h     cpp/hs_STEPControl_Writer.h     cpp/hs_StlAPI_Writer.h+    cpp/hs_TColStd_IndexedDataMapOfStringString.h+    cpp/hs_TDF_Label.h+    cpp/hs_TDocStd_Document.h     cpp/hs_TopExp_Explorer.h     cpp/hs_TopLoc_Location.h     cpp/hs_TopoDS_Compound.h@@ -85,6 +90,8 @@     cpp/hs_TopoDS_Vertex.h     cpp/hs_TopoDS_Wire.h     cpp/hs_types.h+    cpp/hs_XCAFDoc_DocumentTool.h+    cpp/hs_XCAFDoc_ShapeTool.h  source-repository head   type: git@@ -180,10 +187,16 @@       OpenCascade.IFSelect.ReturnStatus       OpenCascade.Inheritance       OpenCascade.Internal.Bool+      OpenCascade.Message.Internal.Destructors+      OpenCascade.Message.ProgressRange+      OpenCascade.Message.Types       OpenCascade.NCollection       OpenCascade.NCollection.Array1       OpenCascade.NCollection.Internal.Destructors       OpenCascade.NCollection.Types+      OpenCascade.RWGltf.CafWriter+      OpenCascade.RWGltf.Internal.Destructors+      OpenCascade.RWGltf.Types       OpenCascade.STEPControl       OpenCascade.STEPControl.Internal.Destructors       OpenCascade.STEPControl.StepModelType@@ -193,6 +206,14 @@       OpenCascade.StlAPI.Internal.Destructors       OpenCascade.StlAPI.Types       OpenCascade.StlAPI.Writer+      OpenCascade.TColStd.IndexedDataMapOfStringString+      OpenCascade.TColStd.Internal.Destructors+      OpenCascade.TColStd.Types+      OpenCascade.TDF.Internal.Destructors+      OpenCascade.TDF.Types+      OpenCascade.TDocStd.Document+      OpenCascade.TDocStd.Internal.Destructors+      OpenCascade.TDocStd.Types       OpenCascade.TopAbs       OpenCascade.TopAbs.Orientation       OpenCascade.TopAbs.ShapeEnum@@ -218,6 +239,10 @@       OpenCascade.TopoDS.Wire       OpenCascade.TopTools       OpenCascade.TopTools.Types+      OpenCascade.XCAFDoc.DocumentTool+      OpenCascade.XCAFDoc.Internal.Destructors+      OpenCascade.XCAFDoc.ShapeTool+      OpenCascade.XCAFDoc.Types   other-modules:       Paths_opencascade_hs   autogen-modules:@@ -279,9 +304,14 @@       cpp/hs_gp_Vec2d.cpp       cpp/hs_gp_XYZ.cpp       cpp/hs_GProp_GProps.cpp+      cpp/hs_Message_ProgressRange.cpp       cpp/hs_NCollection_Array1.cpp+      cpp/hs_RWGltf_CafWriter.cpp       cpp/hs_STEPControl_Writer.cpp       cpp/hs_StlAPI_Writer.cpp+      cpp/hs_TColStd_IndexedDataMapOfStringString.cpp+      cpp/hs_TDF_Label.cpp+      cpp/hs_TDocStd_Document.cpp       cpp/hs_TopExp_Explorer.cpp       cpp/hs_TopLoc_Location.cpp       cpp/hs_TopoDS_Compound.cpp@@ -293,6 +323,8 @@       cpp/hs_TopoDS_Solid.cpp       cpp/hs_TopoDS_Vertex.cpp       cpp/hs_TopoDS_Wire.cpp+      cpp/hs_XCAFDoc_DocumentTool.cpp+      cpp/hs_XCAFDoc_ShapeTool.cpp   extra-libraries:       stdc++       TKGeomBase@@ -312,6 +344,9 @@       TKSTEP       TKV3d       TKMesh+      TKRWMesh+      TKLCAF+      TKXCAF       TKService   build-depends:       base >=4.7 && <5
+ src/OpenCascade/Message/Internal/Destructors.hs view
@@ -0,0 +1,9 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.Message.Internal.Destructors+( deleteProgressRange+) where++import OpenCascade.Message.Types+import Foreign.Ptr ++foreign import capi unsafe "hs_Message_ProgressRange.h hs_delete_Message_ProgressRange" deleteProgressRange :: Ptr ProgressRange -> IO ()
+ src/OpenCascade/Message/ProgressRange.hs view
@@ -0,0 +1,15 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.Message.ProgressRange+( ProgressRange+, new+) where++import OpenCascade.Message.Types (ProgressRange)+import OpenCascade.Message.Internal.Destructors (deleteProgressRange)+import Foreign.Ptr (Ptr)+import Data.Acquire (Acquire, mkAcquire)++foreign import capi unsafe "hs_Message_ProgressRange.h hs_new_Message_ProgressRange" rawNew :: IO (Ptr ProgressRange)++new :: Acquire (Ptr ProgressRange)+new = mkAcquire rawNew deleteProgressRange
+ src/OpenCascade/Message/Types.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE EmptyDataDecls #-}+module OpenCascade.Message.Types+( ProgressRange+) where++data ProgressRange
+ src/OpenCascade/RWGltf/CafWriter.hs view
@@ -0,0 +1,25 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.RWGltf.CafWriter+( CafWriter+, new+, perform+) where++import OpenCascade.RWGltf.Types (CafWriter)+import OpenCascade.RWGltf.Internal.Destructors (deleteCafWriter)+import Foreign.Ptr (Ptr)+import Foreign.C.String (CString, withCString)+import Foreign.C (CBool (..))+import Data.Acquire (Acquire, mkAcquire)+import OpenCascade.Internal.Bool (boolToCBool)+import OpenCascade.Handle (Handle)+import qualified OpenCascade.TDocStd.Types as TDocStd+import qualified OpenCascade.TColStd.Types as TColStd+import qualified OpenCascade.Message.Types as Message++foreign import capi unsafe "hs_RWGltf_CafWriter.h hs_new_RWGltf_CafWriter" rawNew :: CString -> CBool -> IO (Ptr CafWriter)++new :: String -> Bool -> Acquire (Ptr CafWriter)+new filepath binary = mkAcquire (withCString filepath $ \str -> rawNew str (boolToCBool binary)) deleteCafWriter++foreign import capi unsafe "hs_RWGltf_CafWriter.h hs_RWGltf_CafWriter_Perform" perform :: Ptr CafWriter -> Ptr (Handle TDocStd.Document) -> Ptr (TColStd.IndexedDataMapOfStringString) -> Ptr (Message.ProgressRange) -> IO ()
+ src/OpenCascade/RWGltf/Internal/Destructors.hs view
@@ -0,0 +1,9 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.RWGltf.Internal.Destructors+( deleteCafWriter+) where++import OpenCascade.RWGltf.Types+import Foreign.Ptr ++foreign import capi unsafe "hs_RWGltf_CafWriter.h hs_delete_RWGltf_CafWriter" deleteCafWriter :: Ptr CafWriter -> IO ()
+ src/OpenCascade/RWGltf/Types.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE EmptyDataDecls #-}+module OpenCascade.RWGltf.Types+( CafWriter+) where++data CafWriter
+ src/OpenCascade/TColStd/IndexedDataMapOfStringString.hs view
@@ -0,0 +1,15 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.TColStd.IndexedDataMapOfStringString+( IndexedDataMapOfStringString+, new+) where++import OpenCascade.TColStd.Types (IndexedDataMapOfStringString)+import OpenCascade.TColStd.Internal.Destructors (deleteIndexedDataMapOfStringString)+import Foreign.Ptr (Ptr)+import Data.Acquire (Acquire, mkAcquire)++foreign import capi unsafe "hs_TColStd_IndexedDataMapOfStringString.h hs_new_TColStd_IndexedDataMapOfStringString" rawNew :: IO (Ptr IndexedDataMapOfStringString)++new :: Acquire (Ptr IndexedDataMapOfStringString)+new = mkAcquire rawNew deleteIndexedDataMapOfStringString
+ src/OpenCascade/TColStd/Internal/Destructors.hs view
@@ -0,0 +1,9 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.TColStd.Internal.Destructors+( deleteIndexedDataMapOfStringString+) where++import OpenCascade.TColStd.Types+import Foreign.Ptr ++foreign import capi unsafe "hs_TColStd_IndexedDataMapOfStringString.h hs_delete_TColStd_IndexedDataMapOfStringString" deleteIndexedDataMapOfStringString :: Ptr (IndexedDataMapOfStringString) -> IO ()
+ src/OpenCascade/TColStd/Types.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE EmptyDataDecls #-}+module OpenCascade.TColStd.Types+( IndexedDataMapOfStringString+) where++data IndexedDataMapOfStringString
+ src/OpenCascade/TDF/Internal/Destructors.hs view
@@ -0,0 +1,9 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.TDF.Internal.Destructors +( deleteLabel+) where+import OpenCascade.TDF.Types +import Foreign.Ptr (Ptr)+++foreign import capi unsafe "hs_TDF_Label.h hs_delete_TDF_Label" deleteLabel :: Ptr Label -> IO ()
+ src/OpenCascade/TDF/Types.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE EmptyDataDecls #-}+module OpenCascade.TDF.Types +( Label+) where++data Label
+ src/OpenCascade/TDocStd/Document.hs view
@@ -0,0 +1,25 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.TDocStd.Document +( Document+, fromStorageFormat+, main +) where++import OpenCascade.TDocStd.Types (Document)+import OpenCascade.TDocStd.Internal.Destructors (deleteDocumentHandle)+import OpenCascade.TDF.Types (Label)+import OpenCascade.TDF.Internal.Destructors (deleteLabel)+import OpenCascade.Handle (Handle)+import Data.Acquire (Acquire, mkAcquire)+import Foreign.Ptr (Ptr)+import Foreign.C.String (CString, withCString)++foreign import capi unsafe "hs_TDocStd_Document.h hs_new_TDocStd_Document" rawNew :: CString -> IO (Ptr (Handle Document))++fromStorageFormat :: String -> Acquire (Ptr (Handle Document))+fromStorageFormat fmt = mkAcquire (withCString fmt rawNew) deleteDocumentHandle++foreign import capi unsafe "hs_TDocStd_Document.h hs_TDocStd_Document_main" rawMain :: Ptr (Handle Document) -> IO (Ptr Label)++main :: Ptr (Handle Document) -> Acquire (Ptr Label)+main doc = mkAcquire (rawMain doc) deleteLabel  
+ src/OpenCascade/TDocStd/Internal/Destructors.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.TDocStd.Internal.Destructors (deleteDocumentHandle) where++import OpenCascade.Handle (Handle)+import OpenCascade.TDocStd.Types (Document)+import Foreign.Ptr (Ptr)++foreign import capi unsafe "hs_TDocStd_Document.h hs_delete_TDocStd_Document" deleteDocumentHandle :: Ptr (Handle Document) -> IO ()
+ src/OpenCascade/TDocStd/Types.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE EmptyDataDecls #-}+module OpenCascade.TDocStd.Types (Document) where++data Document
+ src/OpenCascade/XCAFDoc/DocumentTool.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.XCAFDoc.DocumentTool+( shapeTool+) where++import OpenCascade.XCAFDoc.Types (ShapeTool)+import OpenCascade.XCAFDoc.Internal.Destructors (deleteShapeToolHandle)+import OpenCascade.TDF.Types (Label)+import OpenCascade.Handle (Handle)+import Foreign.Ptr (Ptr)+import Data.Acquire (Acquire, mkAcquire)++foreign import capi unsafe "hs_XCAFDoc_DocumentTool.h hs_XCAFDoc_DocumentTool_shapeTool" rawShapeTool :: Ptr Label -> IO (Ptr (Handle ShapeTool))++shapeTool :: Ptr Label -> Acquire (Ptr (Handle ShapeTool))+shapeTool label = mkAcquire  (rawShapeTool label) deleteShapeToolHandle
+ src/OpenCascade/XCAFDoc/Internal/Destructors.hs view
@@ -0,0 +1,10 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.XCAFDoc.Internal.Destructors +( deleteShapeToolHandle +) where++import OpenCascade.XCAFDoc.Types+import OpenCascade.Handle+import Foreign.Ptr ++foreign import capi unsafe "hs_XCAFDoc_ShapeTool.h hs_delete_XCAFDoc_ShapeTool" deleteShapeToolHandle :: Ptr (Handle ShapeTool) -> IO ()
+ src/OpenCascade/XCAFDoc/ShapeTool.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.XCAFDoc.ShapeTool+( ShapeTool+, addShape+) where++import OpenCascade.XCAFDoc.Types (ShapeTool)+import qualified OpenCascade.TopoDS.Types as TopoDS+import OpenCascade.Handle (Handle)+import OpenCascade.TDF.Types (Label)+import OpenCascade.TDF.Internal.Destructors (deleteLabel)+import OpenCascade.Internal.Bool (boolToCBool)+import Data.Acquire (Acquire, mkAcquire)+import Foreign.C (CBool (..))+import Foreign.Ptr (Ptr)++foreign import capi unsafe "hs_XCAFDoc_ShapeTool.h hs_XCAFDoc_ShapeTool_addShape" rawAddShape :: Ptr (Handle ShapeTool) -> Ptr TopoDS.Shape -> CBool -> CBool -> IO (Ptr Label)++addShape :: Ptr (Handle ShapeTool) -> Ptr TopoDS.Shape -> Bool -> Bool -> Acquire (Ptr Label)+addShape tool shape makeAssembly makePrepare = mkAcquire (rawAddShape tool shape (boolToCBool makeAssembly) (boolToCBool makePrepare)) deleteLabel
+ src/OpenCascade/XCAFDoc/Types.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE EmptyDataDecls #-}+module OpenCascade.XCAFDoc.Types +( ShapeTool+) where++data ShapeTool