opencascade-hs 0.6.3.2 → 0.7.0.0
raw patch · 133 files changed
+2540/−179 lines, 133 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- OpenCascade.BRepAlgoAPI.Common: common :: Ptr Shape -> Ptr Shape -> Acquire (Ptr Shape)
- OpenCascade.BRepAlgoAPI.Cut: cut :: Ptr Shape -> Ptr Shape -> Acquire (Ptr Shape)
- OpenCascade.BRepAlgoAPI.Fuse: fuse :: Ptr Shape -> Ptr Shape -> Acquire (Ptr Shape)
- OpenCascade.BRepBuilderAPI.GTransform: gtransform :: Ptr Shape -> Ptr GTrsf -> Bool -> Acquire (Ptr Shape)
- OpenCascade.BRepBuilderAPI.Transform: transform :: Ptr Shape -> Ptr Trsf -> Bool -> Acquire (Ptr Shape)
- 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.TopTools.Types: data ListOfShape
+ OpenCascade.BOPAlgo.Builder: generated :: Ptr Builder -> Ptr Shape -> Acquire (Ptr (List Shape))
+ OpenCascade.BOPAlgo.Builder: isDeleted :: Ptr Builder -> Ptr Shape -> IO Bool
+ OpenCascade.BOPAlgo.Builder: modified :: Ptr Builder -> Ptr Shape -> Acquire (Ptr (List Shape))
+ OpenCascade.BOPAlgo.Builder: setFuzzyValue :: Ptr Builder -> Double -> IO ()
+ OpenCascade.BOPAlgo.Tools: edgesToWires :: Ptr Shape -> Ptr Shape -> Bool -> Double -> IO Int
+ OpenCascade.BOPAlgo.Tools: wiresToFaces :: Ptr Shape -> Ptr Shape -> Double -> IO Bool
+ OpenCascade.BRepAlgoAPI.Common: data Common
+ OpenCascade.BRepAlgoAPI.Common: fromShapes :: Ptr Shape -> Ptr Shape -> Acquire (Ptr Common)
+ OpenCascade.BRepAlgoAPI.Cut: data Cut
+ OpenCascade.BRepAlgoAPI.Cut: fromShapes :: Ptr Shape -> Ptr Shape -> Acquire (Ptr Cut)
+ OpenCascade.BRepAlgoAPI.Fuse: data Fuse
+ OpenCascade.BRepAlgoAPI.Fuse: fromShapes :: Ptr Shape -> Ptr Shape -> Acquire (Ptr Fuse)
+ OpenCascade.BRepAlgoAPI.Internal.Destructors: deleteCommon :: Ptr Common -> IO ()
+ OpenCascade.BRepAlgoAPI.Internal.Destructors: deleteCut :: Ptr Cut -> IO ()
+ OpenCascade.BRepAlgoAPI.Internal.Destructors: deleteFuse :: Ptr Fuse -> IO ()
+ OpenCascade.BRepAlgoAPI.Types: data Common
+ OpenCascade.BRepAlgoAPI.Types: data Cut
+ OpenCascade.BRepAlgoAPI.Types: data Fuse
+ OpenCascade.BRepAlgoAPI.Types: instance OpenCascade.Inheritance.SubTypeOf OpenCascade.BRepBuilderAPI.Types.MakeShape OpenCascade.BRepAlgoAPI.Types.Common
+ OpenCascade.BRepAlgoAPI.Types: instance OpenCascade.Inheritance.SubTypeOf OpenCascade.BRepBuilderAPI.Types.MakeShape OpenCascade.BRepAlgoAPI.Types.Cut
+ OpenCascade.BRepAlgoAPI.Types: instance OpenCascade.Inheritance.SubTypeOf OpenCascade.BRepBuilderAPI.Types.MakeShape OpenCascade.BRepAlgoAPI.Types.Fuse
+ OpenCascade.BRepBuilderAPI.GTransform: data GTransform
+ OpenCascade.BRepBuilderAPI.GTransform: fromShapeGTrsfAndCopy :: Ptr Shape -> Ptr GTrsf -> Bool -> Acquire (Ptr GTransform)
+ OpenCascade.BRepBuilderAPI.Internal.Destructors: deleteGTransform :: Ptr GTransform -> IO ()
+ OpenCascade.BRepBuilderAPI.Internal.Destructors: deleteTransform :: Ptr Transform -> IO ()
+ OpenCascade.BRepBuilderAPI.MakeShape: generated :: Ptr MakeShape -> Ptr Shape -> Acquire (Ptr (List Shape))
+ OpenCascade.BRepBuilderAPI.MakeShape: isDeleted :: Ptr MakeShape -> Ptr Shape -> IO Bool
+ OpenCascade.BRepBuilderAPI.MakeShape: modified :: Ptr MakeShape -> Ptr Shape -> Acquire (Ptr (List Shape))
+ OpenCascade.BRepBuilderAPI.Transform: data Transform
+ OpenCascade.BRepBuilderAPI.Transform: fromShapeTrsfAndCopy :: Ptr Shape -> Ptr Trsf -> Bool -> Acquire (Ptr Transform)
+ OpenCascade.BRepBuilderAPI.Types: data GTransform
+ OpenCascade.BRepBuilderAPI.Types: data Transform
+ OpenCascade.BRepBuilderAPI.Types: instance OpenCascade.Inheritance.SubTypeOf OpenCascade.BRepBuilderAPI.Types.MakeShape OpenCascade.BRepBuilderAPI.Types.GTransform
+ OpenCascade.BRepBuilderAPI.Types: instance OpenCascade.Inheritance.SubTypeOf OpenCascade.BRepBuilderAPI.Types.MakeShape OpenCascade.BRepBuilderAPI.Types.Transform
+ OpenCascade.GP.Internal.Destructors: deleteLin :: Ptr Lin -> IO ()
+ OpenCascade.GP.Lin: data Lin
+ OpenCascade.GP.Lin: direction :: Ptr Lin -> Acquire (Ptr Dir)
+ OpenCascade.GP.Lin: location :: Ptr Lin -> Acquire (Ptr Pnt)
+ OpenCascade.GP.Lin: new :: Ptr Pnt -> Ptr Dir -> Acquire (Ptr Lin)
+ OpenCascade.GP.Types: data Lin
+ OpenCascade.Graphic3D.AlphaMode: Blend :: AlphaMode
+ OpenCascade.Graphic3D.AlphaMode: BlendAuto :: AlphaMode
+ OpenCascade.Graphic3D.AlphaMode: Mask :: AlphaMode
+ OpenCascade.Graphic3D.AlphaMode: MaskBlend :: AlphaMode
+ OpenCascade.Graphic3D.AlphaMode: Opaque :: AlphaMode
+ OpenCascade.Graphic3D.AlphaMode: data AlphaMode
+ OpenCascade.Graphic3D.AlphaMode: instance GHC.Classes.Eq OpenCascade.Graphic3D.AlphaMode.AlphaMode
+ OpenCascade.Graphic3D.AlphaMode: instance GHC.Enum.Enum OpenCascade.Graphic3D.AlphaMode.AlphaMode
+ OpenCascade.Graphic3D.AlphaMode: instance GHC.Show.Show OpenCascade.Graphic3D.AlphaMode.AlphaMode
+ OpenCascade.Graphic3D.TypeOfBackfacingModel: Auto :: TypeOfBackfacingModel
+ OpenCascade.Graphic3D.TypeOfBackfacingModel: BackCulled :: TypeOfBackfacingModel
+ OpenCascade.Graphic3D.TypeOfBackfacingModel: DoubleSided :: TypeOfBackfacingModel
+ OpenCascade.Graphic3D.TypeOfBackfacingModel: FrontCulled :: TypeOfBackfacingModel
+ OpenCascade.Graphic3D.TypeOfBackfacingModel: data TypeOfBackfacingModel
+ OpenCascade.Graphic3D.TypeOfBackfacingModel: instance GHC.Classes.Eq OpenCascade.Graphic3D.TypeOfBackfacingModel.TypeOfBackfacingModel
+ OpenCascade.Graphic3D.TypeOfBackfacingModel: instance GHC.Enum.Enum OpenCascade.Graphic3D.TypeOfBackfacingModel.TypeOfBackfacingModel
+ OpenCascade.Graphic3D.TypeOfBackfacingModel: instance GHC.Show.Show OpenCascade.Graphic3D.TypeOfBackfacingModel.TypeOfBackfacingModel
+ OpenCascade.HLRAlgo.Projector: invertedTransformation :: Ptr Projector -> Acquire (Ptr Trsf)
+ OpenCascade.HLRAlgo.Projector: transformation :: Ptr Projector -> Acquire (Ptr Trsf)
+ OpenCascade.IntCurvesFace.Internal.Destructors: deleteShapeIntersector :: Ptr ShapeIntersector -> IO ()
+ OpenCascade.IntCurvesFace.ShapeIntersector: data ShapeIntersector
+ OpenCascade.IntCurvesFace.ShapeIntersector: face :: Ptr ShapeIntersector -> Int -> Acquire (Ptr Face)
+ OpenCascade.IntCurvesFace.ShapeIntersector: isDone :: Ptr ShapeIntersector -> IO Bool
+ OpenCascade.IntCurvesFace.ShapeIntersector: load :: Ptr ShapeIntersector -> Ptr Shape -> Double -> IO ()
+ OpenCascade.IntCurvesFace.ShapeIntersector: nbPnt :: Ptr ShapeIntersector -> IO Int
+ OpenCascade.IntCurvesFace.ShapeIntersector: new :: Acquire (Ptr ShapeIntersector)
+ OpenCascade.IntCurvesFace.ShapeIntersector: perform :: Ptr ShapeIntersector -> Ptr Lin -> Double -> Double -> IO ()
+ OpenCascade.IntCurvesFace.ShapeIntersector: performNearest :: Ptr ShapeIntersector -> Ptr Lin -> Double -> Double -> IO ()
+ OpenCascade.IntCurvesFace.ShapeIntersector: pnt :: Ptr ShapeIntersector -> Int -> Acquire (Ptr Pnt)
+ OpenCascade.IntCurvesFace.ShapeIntersector: uParameter :: Ptr ShapeIntersector -> Int -> IO Double
+ OpenCascade.IntCurvesFace.ShapeIntersector: vParameter :: Ptr ShapeIntersector -> Int -> IO Double
+ OpenCascade.IntCurvesFace.ShapeIntersector: wParameter :: Ptr ShapeIntersector -> Int -> IO Double
+ OpenCascade.IntCurvesFace.Types: data ShapeIntersector
+ OpenCascade.NCollection.IndexedDataMap: containsShapeListOfShapeMap :: Ptr (IndexedDataMap Shape (List Shape)) -> Ptr Shape -> IO Bool
+ OpenCascade.NCollection.IndexedDataMap: data IndexedDataMap k v
+ OpenCascade.NCollection.IndexedDataMap: extentShapeListOfShapeMap :: Ptr (IndexedDataMap Shape (List Shape)) -> IO Int
+ OpenCascade.NCollection.IndexedDataMap: findFromIndexShapeListOfShapeMap :: Ptr (IndexedDataMap Shape (List Shape)) -> Int -> Acquire (Ptr (List Shape))
+ OpenCascade.NCollection.IndexedDataMap: findFromKeyShapeListOfShapeMap :: Ptr (IndexedDataMap Shape (List Shape)) -> Ptr Shape -> Acquire (Ptr (List Shape))
+ OpenCascade.NCollection.IndexedDataMap: findKeyShapeListOfShapeMap :: Ptr (IndexedDataMap Shape (List Shape)) -> Int -> Acquire (Ptr Shape)
+ OpenCascade.NCollection.IndexedDataMap: newAsciiStringMap :: Acquire (Ptr (IndexedDataMap AsciiString AsciiString))
+ OpenCascade.NCollection.IndexedDataMap: newShapeListOfShapeMap :: Acquire (Ptr (IndexedDataMap Shape (List Shape)))
+ OpenCascade.NCollection.Internal.Destructors: deleteAsciiStringMap :: Ptr (IndexedDataMap AsciiString AsciiString) -> IO ()
+ OpenCascade.NCollection.Internal.Destructors: deleteIndexedDataMapOfShapeListOfShape :: Ptr (IndexedDataMap Shape (List Shape)) -> IO ()
+ OpenCascade.NCollection.Internal.Destructors: deleteListOfShape :: Ptr (List Shape) -> IO ()
+ OpenCascade.NCollection.Internal.Destructors: deleteListOfShapeIterator :: Ptr (ListIterator Shape) -> IO ()
+ OpenCascade.NCollection.Internal.Destructors: deleteVec3Float :: Ptr (Vec3 Float) -> IO ()
+ OpenCascade.NCollection.List: appendListOfShape :: Ptr (List Shape) -> Ptr Shape -> IO ()
+ OpenCascade.NCollection.List: data List a
+ OpenCascade.NCollection.List: extentListOfShape :: Ptr (List Shape) -> IO Int
+ OpenCascade.NCollection.List: newListOfShape :: Acquire (Ptr (List Shape))
+ OpenCascade.NCollection.List.Iterator: data ListIterator a
+ OpenCascade.NCollection.List.Iterator: moreListOfShapeIterator :: Ptr (ListIterator Shape) -> IO Bool
+ OpenCascade.NCollection.List.Iterator: newListOfShapeIterator :: Ptr (List Shape) -> Acquire (Ptr (ListIterator Shape))
+ OpenCascade.NCollection.List.Iterator: nextListOfShapeIterator :: Ptr (ListIterator Shape) -> IO ()
+ OpenCascade.NCollection.List.Iterator: valueListOfShapeIterator :: Ptr (ListIterator Shape) -> Acquire (Ptr Shape)
+ OpenCascade.NCollection.Types: data IndexedDataMap k v
+ OpenCascade.NCollection.Types: data List a
+ OpenCascade.NCollection.Types: data ListIterator a
+ OpenCascade.NCollection.Types: data Vec3 a
+ OpenCascade.NCollection.Vec3: data Vec3 a
+ OpenCascade.NCollection.Vec3: newVec3Float :: Float -> Float -> Float -> Acquire (Ptr (Vec3 Float))
+ OpenCascade.Poly.Triangulation: isNull :: Ptr (Handle Triangulation) -> IO Bool
+ OpenCascade.Quantity.Color: data Color
+ OpenCascade.Quantity.Color: new :: Double -> Double -> Double -> TypeOfColor -> Acquire (Ptr Color)
+ OpenCascade.Quantity.ColorRGBA: data ColorRGBA
+ OpenCascade.Quantity.ColorRGBA: new :: Ptr Color -> Double -> Acquire (Ptr ColorRGBA)
+ OpenCascade.Quantity.Internal.Destructors: deleteColor :: Ptr Color -> IO ()
+ OpenCascade.Quantity.Internal.Destructors: deleteColorRGBA :: Ptr ColorRGBA -> IO ()
+ OpenCascade.Quantity.TypeOfColor: CIELab :: TypeOfColor
+ OpenCascade.Quantity.TypeOfColor: CIELch :: TypeOfColor
+ OpenCascade.Quantity.TypeOfColor: HLS :: TypeOfColor
+ OpenCascade.Quantity.TypeOfColor: RGB :: TypeOfColor
+ OpenCascade.Quantity.TypeOfColor: SRGB :: TypeOfColor
+ OpenCascade.Quantity.TypeOfColor: data TypeOfColor
+ OpenCascade.Quantity.TypeOfColor: instance GHC.Classes.Eq OpenCascade.Quantity.TypeOfColor.TypeOfColor
+ OpenCascade.Quantity.TypeOfColor: instance GHC.Enum.Enum OpenCascade.Quantity.TypeOfColor.TypeOfColor
+ OpenCascade.Quantity.TypeOfColor: instance GHC.Show.Show OpenCascade.Quantity.TypeOfColor.TypeOfColor
+ OpenCascade.Quantity.Types: data Color
+ OpenCascade.Quantity.Types: data ColorRGBA
+ OpenCascade.STEPCAFControl.Internal.Destructors: deleteWriter :: Ptr Writer -> IO ()
+ OpenCascade.STEPCAFControl.Types: data Writer
+ OpenCascade.STEPCAFControl.Writer: data Writer
+ OpenCascade.STEPCAFControl.Writer: new :: Acquire (Ptr Writer)
+ OpenCascade.STEPCAFControl.Writer: setColorMode :: Ptr Writer -> Bool -> IO ()
+ OpenCascade.STEPCAFControl.Writer: setNameMode :: Ptr Writer -> Bool -> IO ()
+ OpenCascade.STEPCAFControl.Writer: transfer :: Ptr Writer -> Ptr (Handle Document) -> StepModelType -> IO Bool
+ OpenCascade.STEPCAFControl.Writer: write :: Ptr Writer -> String -> IO ReturnStatus
+ OpenCascade.ShapeUpgrade.Internal.Destructors: deleteUnifySameDomain :: Ptr UnifySameDomain -> IO ()
+ OpenCascade.ShapeUpgrade.Types: data UnifySameDomain
+ OpenCascade.ShapeUpgrade.UnifySameDomain: allowInternalEdges :: Ptr UnifySameDomain -> Bool -> IO ()
+ OpenCascade.ShapeUpgrade.UnifySameDomain: build :: Ptr UnifySameDomain -> IO ()
+ OpenCascade.ShapeUpgrade.UnifySameDomain: data UnifySameDomain
+ OpenCascade.ShapeUpgrade.UnifySameDomain: fromShape :: Ptr Shape -> Bool -> Bool -> Bool -> Acquire (Ptr UnifySameDomain)
+ OpenCascade.ShapeUpgrade.UnifySameDomain: setSafeInputMode :: Ptr UnifySameDomain -> Bool -> IO ()
+ OpenCascade.ShapeUpgrade.UnifySameDomain: shape :: Ptr UnifySameDomain -> Acquire (Ptr Shape)
+ OpenCascade.Standard.Failure: getTypeName :: Ptr Failure -> IO CString
+ OpenCascade.TCollection.Types: data AsciiString
+ OpenCascade.TDF.Label: data Label
+ OpenCascade.TDF.Label: isNull :: Ptr Label -> IO Bool
+ OpenCascade.TopExp: mapShapesAndAncestors :: Ptr Shape -> ShapeEnum -> ShapeEnum -> Ptr (IndexedDataMap Shape (List Shape)) -> IO ()
+ OpenCascade.XCAFDoc.ColorTool: data ColorTool
+ OpenCascade.XCAFDoc.ColorTool: setColor :: Ptr (Handle ColorTool) -> Ptr Label -> Ptr Color -> ColorType -> IO ()
+ OpenCascade.XCAFDoc.ColorTool: setShapeColor :: Ptr (Handle ColorTool) -> Ptr Shape -> Ptr Color -> ColorType -> IO Bool
+ OpenCascade.XCAFDoc.ColorType: ColorCurv :: ColorType
+ OpenCascade.XCAFDoc.ColorType: ColorGen :: ColorType
+ OpenCascade.XCAFDoc.ColorType: ColorSurf :: ColorType
+ OpenCascade.XCAFDoc.ColorType: data ColorType
+ OpenCascade.XCAFDoc.ColorType: instance GHC.Classes.Eq OpenCascade.XCAFDoc.ColorType.ColorType
+ OpenCascade.XCAFDoc.ColorType: instance GHC.Enum.Enum OpenCascade.XCAFDoc.ColorType.ColorType
+ OpenCascade.XCAFDoc.ColorType: instance GHC.Show.Show OpenCascade.XCAFDoc.ColorType.ColorType
+ OpenCascade.XCAFDoc.DocumentTool: colorTool :: Ptr Label -> Acquire (Ptr (Handle ColorTool))
+ OpenCascade.XCAFDoc.DocumentTool: visMaterialTool :: Ptr Label -> Acquire (Ptr (Handle VisMaterialTool))
+ OpenCascade.XCAFDoc.Internal.Destructors: deleteColorToolHandle :: Ptr (Handle ColorTool) -> IO ()
+ OpenCascade.XCAFDoc.Internal.Destructors: deleteVisMaterialHandle :: Ptr (Handle VisMaterial) -> IO ()
+ OpenCascade.XCAFDoc.Internal.Destructors: deleteVisMaterialPBR :: Ptr VisMaterialPBR -> IO ()
+ OpenCascade.XCAFDoc.Internal.Destructors: deleteVisMaterialToolHandle :: Ptr (Handle VisMaterialTool) -> IO ()
+ OpenCascade.XCAFDoc.ShapeTool: addSubShape :: Ptr (Handle ShapeTool) -> Ptr Label -> Ptr Shape -> Acquire (Ptr Label)
+ OpenCascade.XCAFDoc.ShapeTool: findShape :: Ptr (Handle ShapeTool) -> Ptr Shape -> Bool -> Acquire (Ptr Label)
+ OpenCascade.XCAFDoc.Types: data ColorTool
+ OpenCascade.XCAFDoc.Types: data VisMaterial
+ OpenCascade.XCAFDoc.Types: data VisMaterialPBR
+ OpenCascade.XCAFDoc.Types: data VisMaterialTool
+ OpenCascade.XCAFDoc.VisMaterial: data VisMaterial
+ OpenCascade.XCAFDoc.VisMaterial: new :: Acquire (Ptr (Handle VisMaterial))
+ OpenCascade.XCAFDoc.VisMaterial: setAlphaMode :: Ptr (Handle VisMaterial) -> AlphaMode -> Double -> IO ()
+ OpenCascade.XCAFDoc.VisMaterial: setFaceCulling :: Ptr (Handle VisMaterial) -> TypeOfBackfacingModel -> IO ()
+ OpenCascade.XCAFDoc.VisMaterial: setPbrMaterial :: Ptr (Handle VisMaterial) -> Ptr VisMaterialPBR -> IO ()
+ OpenCascade.XCAFDoc.VisMaterial: setRawName :: Ptr (Handle VisMaterial) -> String -> IO ()
+ OpenCascade.XCAFDoc.VisMaterialPBR: data VisMaterialPBR
+ OpenCascade.XCAFDoc.VisMaterialPBR: new :: Acquire (Ptr VisMaterialPBR)
+ OpenCascade.XCAFDoc.VisMaterialPBR: setBaseColor :: Ptr VisMaterialPBR -> Ptr ColorRGBA -> IO ()
+ OpenCascade.XCAFDoc.VisMaterialPBR: setEmissiveFactor :: Ptr VisMaterialPBR -> Ptr (Vec3 Float) -> IO ()
+ OpenCascade.XCAFDoc.VisMaterialPBR: setMetallic :: Ptr VisMaterialPBR -> Double -> IO ()
+ OpenCascade.XCAFDoc.VisMaterialPBR: setRefractionIndex :: Ptr VisMaterialPBR -> Double -> IO ()
+ OpenCascade.XCAFDoc.VisMaterialPBR: setRoughness :: Ptr VisMaterialPBR -> Double -> IO ()
+ OpenCascade.XCAFDoc.VisMaterialTool: addMaterial :: Ptr (Handle VisMaterialTool) -> Ptr (Handle VisMaterial) -> String -> Acquire (Ptr Label)
+ OpenCascade.XCAFDoc.VisMaterialTool: data VisMaterialTool
+ OpenCascade.XCAFDoc.VisMaterialTool: setShapeMaterial :: Ptr (Handle VisMaterialTool) -> Ptr Label -> Ptr Label -> IO ()
+ OpenCascade.XCAFDoc.VisMaterialTool: setShapeMaterialFromShape :: Ptr (Handle VisMaterialTool) -> Ptr Shape -> Ptr Label -> IO Bool
- OpenCascade.BRepBuilderAPI.MakeWire: addListOfShape :: Ptr MakeWire -> Ptr ListOfShape -> IO ()
+ OpenCascade.BRepBuilderAPI.MakeWire: addListOfShape :: Ptr MakeWire -> Ptr (List Shape) -> IO ()
- OpenCascade.Internal.Exception: OpenCascadeStandardFailure :: String -> String -> OpenCascadeException
+ OpenCascade.Internal.Exception: OpenCascadeStandardFailure :: String -> String -> String -> OpenCascadeException
- OpenCascade.RWGltf.CafWriter: perform :: Ptr CafWriter -> Ptr (Handle Document) -> Ptr IndexedDataMapOfStringString -> Ptr ProgressRange -> IO ()
+ OpenCascade.RWGltf.CafWriter: perform :: Ptr CafWriter -> Ptr (Handle Document) -> Ptr (IndexedDataMap AsciiString AsciiString) -> Ptr ProgressRange -> IO ()
- OpenCascade.RWObj.CafWriter: perform :: Ptr CafWriter -> Ptr (Handle Document) -> Ptr IndexedDataMapOfStringString -> Ptr ProgressRange -> IO ()
+ OpenCascade.RWObj.CafWriter: perform :: Ptr CafWriter -> Ptr (Handle Document) -> Ptr (IndexedDataMap AsciiString AsciiString) -> Ptr ProgressRange -> IO ()
Files
- CHANGELOG.md +54/−0
- cpp/hs_BOPAlgo_Builder.cpp +46/−0
- cpp/hs_BOPAlgo_Builder.h +20/−0
- cpp/hs_BOPAlgo_Tools.cpp +20/−0
- cpp/hs_BOPAlgo_Tools.h +18/−0
- cpp/hs_BRepAlgoAPI_Common.cpp +6/−3
- cpp/hs_BRepAlgoAPI_Common.h +3/−1
- cpp/hs_BRepAlgoAPI_Cut.cpp +6/−3
- cpp/hs_BRepAlgoAPI_Cut.h +3/−1
- cpp/hs_BRepAlgoAPI_Fuse.cpp +6/−3
- cpp/hs_BRepAlgoAPI_Fuse.h +3/−1
- cpp/hs_BRepBuilderAPI_GTransform.cpp +5/−4
- cpp/hs_BRepBuilderAPI_GTransform.h +3/−1
- cpp/hs_BRepBuilderAPI_MakeShape.cpp +46/−0
- cpp/hs_BRepBuilderAPI_MakeShape.h +22/−1
- cpp/hs_BRepBuilderAPI_MakeWire.cpp +3/−2
- cpp/hs_BRepBuilderAPI_MakeWire.h +1/−1
- cpp/hs_BRepBuilderAPI_Transform.cpp +5/−4
- cpp/hs_BRepBuilderAPI_Transform.h +3/−1
- cpp/hs_Exception.h +18/−2
- cpp/hs_HLRAlgo_Projector.cpp +9/−0
- cpp/hs_HLRAlgo_Projector.h +5/−1
- cpp/hs_IntCurvesFace_ShapeIntersector.cpp +71/−0
- cpp/hs_IntCurvesFace_ShapeIntersector.h +38/−0
- cpp/hs_NCollection_IndexedDataMap.cpp +74/−0
- cpp/hs_NCollection_IndexedDataMap.h +55/−0
- cpp/hs_NCollection_List.cpp +39/−0
- cpp/hs_NCollection_List.h +32/−0
- cpp/hs_NCollection_Vec3.cpp +10/−0
- cpp/hs_NCollection_Vec3.h +18/−0
- cpp/hs_Poly_Triangulation.cpp +3/−0
- cpp/hs_Poly_Triangulation.h +2/−0
- cpp/hs_Quantity_Color.cpp +16/−0
- cpp/hs_Quantity_Color.h +21/−0
- cpp/hs_Quantity_ColorRGBA.cpp +10/−0
- cpp/hs_Quantity_ColorRGBA.h +18/−0
- cpp/hs_RWGltf_CafWriter.cpp +6/−2
- cpp/hs_RWGltf_CafWriter.h +4/−1
- cpp/hs_RWObj_CafWriter.cpp +6/−2
- cpp/hs_RWObj_CafWriter.h +1/−1
- cpp/hs_STEPCAFControl_Writer.cpp +48/−0
- cpp/hs_STEPCAFControl_Writer.h +32/−0
- cpp/hs_ShapeUpgrade_UnifySameDomain.cpp +38/−0
- cpp/hs_ShapeUpgrade_UnifySameDomain.h +32/−0
- cpp/hs_Standard_Failure.cpp +15/−5
- cpp/hs_Standard_Failure.h +5/−3
- cpp/hs_TColStd_IndexedDataMapOfStringString.cpp +0/−10
- cpp/hs_TColStd_IndexedDataMapOfStringString.h +0/−18
- cpp/hs_TDF_Label.cpp +3/−0
- cpp/hs_TDF_Label.h +2/−0
- cpp/hs_TopExp.cpp +14/−0
- cpp/hs_TopExp.h +20/−0
- cpp/hs_XCAFDoc_ColorTool.cpp +28/−0
- cpp/hs_XCAFDoc_ColorTool.h +26/−0
- cpp/hs_XCAFDoc_DocumentTool.cpp +19/−0
- cpp/hs_XCAFDoc_DocumentTool.h +10/−0
- cpp/hs_XCAFDoc_ShapeTool.cpp +19/−0
- cpp/hs_XCAFDoc_ShapeTool.h +10/−0
- cpp/hs_XCAFDoc_VisMaterial.cpp +49/−0
- cpp/hs_XCAFDoc_VisMaterial.h +38/−0
- cpp/hs_XCAFDoc_VisMaterialPBR.cpp +32/−0
- cpp/hs_XCAFDoc_VisMaterialPBR.h +28/−0
- cpp/hs_XCAFDoc_VisMaterialTool.cpp +38/−0
- cpp/hs_XCAFDoc_VisMaterialTool.h +31/−0
- cpp/hs_gp_Lin.cpp +18/−0
- cpp/hs_gp_Lin.h +22/−0
- cpp/hs_types.h +30/−2
- opencascade-hs.cabal +66/−8
- src/OpenCascade/BOPAlgo/Builder.hs +44/−2
- src/OpenCascade/BOPAlgo/Tools.hs +37/−0
- src/OpenCascade/BRepAlgoAPI.hs +5/−0
- src/OpenCascade/BRepAlgoAPI/Common.hs +8/−7
- src/OpenCascade/BRepAlgoAPI/Cut.hs +8/−7
- src/OpenCascade/BRepAlgoAPI/Fuse.hs +8/−7
- src/OpenCascade/BRepAlgoAPI/Internal/Destructors.hs +13/−0
- src/OpenCascade/BRepAlgoAPI/Types.hs +18/−0
- src/OpenCascade/BRepBuilderAPI/GTransform.hs +8/−6
- src/OpenCascade/BRepBuilderAPI/Internal/Destructors.hs +4/−2
- src/OpenCascade/BRepBuilderAPI/MakeShape.hs +38/−2
- src/OpenCascade/BRepBuilderAPI/MakeWire.hs +3/−3
- src/OpenCascade/BRepBuilderAPI/Transform.hs +8/−6
- src/OpenCascade/BRepBuilderAPI/Types.hs +7/−1
- src/OpenCascade/GP/Internal/Destructors.hs +2/−0
- src/OpenCascade/GP/Lin.hs +27/−0
- src/OpenCascade/GP/Types.hs +2/−0
- src/OpenCascade/Graphic3D/AlphaMode.hs +20/−0
- src/OpenCascade/Graphic3D/TypeOfBackfacingModel.hs +6/−0
- src/OpenCascade/HLRAlgo.hs +5/−0
- src/OpenCascade/HLRAlgo/Projector.hs +12/−0
- src/OpenCascade/IntCurvesFace/Internal/Destructors.hs +9/−0
- src/OpenCascade/IntCurvesFace/ShapeIntersector.hs +84/−0
- src/OpenCascade/IntCurvesFace/Types.hs +6/−0
- src/OpenCascade/Internal/Exception.hs +3/−2
- src/OpenCascade/NCollection/IndexedDataMap.hs +78/−0
- src/OpenCascade/NCollection/Internal/Destructors.hs +16/−0
- src/OpenCascade/NCollection/List.hs +29/−0
- src/OpenCascade/NCollection/List/Iterator.hs +34/−0
- src/OpenCascade/NCollection/Types.hs +8/−0
- src/OpenCascade/NCollection/Vec3.hs +16/−0
- src/OpenCascade/Poly/Triangulation.hs +7/−1
- src/OpenCascade/Quantity.hs +5/−0
- src/OpenCascade/Quantity/Color.hs +28/−0
- src/OpenCascade/Quantity/ColorRGBA.hs +16/−0
- src/OpenCascade/Quantity/Internal/Destructors.hs +12/−0
- src/OpenCascade/Quantity/TypeOfColor.hs +6/−0
- src/OpenCascade/Quantity/Types.hs +8/−0
- src/OpenCascade/RWGltf/CafWriter.hs +4/−3
- src/OpenCascade/RWObj/CafWriter.hs +4/−3
- src/OpenCascade/STEPCAFControl/Internal/Destructors.hs +10/−0
- src/OpenCascade/STEPCAFControl/Types.hs +6/−0
- src/OpenCascade/STEPCAFControl/Writer.hs +57/−0
- src/OpenCascade/ShapeUpgrade/Internal/Destructors.hs +9/−0
- src/OpenCascade/ShapeUpgrade/Types.hs +6/−0
- src/OpenCascade/ShapeUpgrade/UnifySameDomain.hs +54/−0
- src/OpenCascade/Standard/Failure.hs +3/−0
- src/OpenCascade/TColStd/IndexedDataMapOfStringString.hs +0/−15
- src/OpenCascade/TColStd/Internal/Destructors.hs +0/−9
- src/OpenCascade/TColStd/Types.hs +0/−6
- src/OpenCascade/TCollection.hs +4/−0
- src/OpenCascade/TCollection/Types.hs +6/−0
- src/OpenCascade/TDF/Label.hs +15/−0
- src/OpenCascade/TopExp.hs +30/−0
- src/OpenCascade/TopTools.hs +0/−4
- src/OpenCascade/TopTools/Types.hs +0/−6
- src/OpenCascade/XCAFDoc/ColorTool.hs +41/−0
- src/OpenCascade/XCAFDoc/ColorType.hs +6/−0
- src/OpenCascade/XCAFDoc/DocumentTool.hs +22/−2
- src/OpenCascade/XCAFDoc/Internal/Destructors.hs +15/−3
- src/OpenCascade/XCAFDoc/ShapeTool.hs +28/−0
- src/OpenCascade/XCAFDoc/Types.hs +9/−1
- src/OpenCascade/XCAFDoc/VisMaterial.hs +66/−0
- src/OpenCascade/XCAFDoc/VisMaterialPBR.hs +43/−0
- src/OpenCascade/XCAFDoc/VisMaterialTool.hs +52/−0
CHANGELOG.md view
@@ -8,6 +8,60 @@ ## Unreleased +## 0.7.0.0++### Added++- Support for OpenCASCADE 8.x+- Added `OpenCascade.TCollection.AsciiString`+- Added `OpenCascade.NCollection.IndexedDataMap`+- Added `OpenCascade.NCollection.List`+- Added `OpenCascade.TopExp.mapShapesAndAncestors`+- Added `modified`, `generated` and `isDeleted` to `OpenCascade.BRepBuilderAPI.MakeShape` and `OpenCascade.BOPAlgo.Builder`+- Added builder versions of some functions that used to be one-shot:+ - `OpenCascade.BRepAlgoAPI.Fuse` + - `OpenCascade.BRepAlgoAPI.Cut`+ - `OpenCascade.BRepAlgoAPI.Common`+ - `OpenCascade.BRepBuilderAPI.Transform` + - `OpenCascade.BRepBuilderAPI.GTransform`+- Added `OpenCascade.BRepBuilderAPI.Types.Transform`+- Added `OpenCascade.BRepBuilderAPI.Types.GTransform`+- Added `OpenCascade.TDF.Label.isNull`+- Added `addSubShape` and `findShape` to `OpenCascade.XCAFDoc.ShapeTool`+- Added `OpenCascade.BRepAlgoAPI`+- Added `OpenCascade.Quantity`+- Added `OpenCascade.HLRAlgo`+- Added `OpenCascade.Quantity.Color`, `OpenCascade.Quantity.TypeOfColor`, `OpenCascade.XCAFDoc.ColorTool`,+ `OpenCascade.XCAFDoc.ColorType`, `OpenCascade.XCAFDoc.VisMaterial`, `OpenCascade.XCAFDoc.VisMaterialPBR`,+ `OpenCascade.XCAFDoc.VisMaterialTool`, `OpenCascade.Graphic3D.AlphaMode`, `OpenCascade.Quantity.ColorRGBA` +- Added `colorTool` and `visMaterialTool` to `OpenCascade.XCAFDoc.DocumentTool`+- Added `OpenCascade.STEPCAFControl.Writer`+- Added `OpenCascade.BOPAlgo.Tools` +- Added `OpenCascade.BOPAlgo.Builder.setFuzzyValue`+- Added `OpenCascade.GP.Lin`+- Added `OpenCascade.HLRAlgo.Projector.transformation` and `OpenCascade.HLRAlgo.Projector.invertedTransformation`+- Added `OpenCascade.IntCurvesFace.ShapeIntersector`+- Added `OpenCascade.IntCurvesFace.Types`+- Added `OpenCascade.Poly.Triangulation.isNull`+- Added `OpenCascade.NCollection.Vec3`+- Added `OpenCascade.ShapeUpgrade.UnifySameDomain`+- Added `OpenCascade.ShapeUpgrade.Types`+- Added `OpenCascade.XCAFDoc.VisMaterial.setFaceCulling` and `OpenCascade.XCAFDoc.VisMaterial.setRawName`+- Added `OpenCascade.Graphic3D.TypeOfBackfacingModel`+- Added `OpenCascade.Standard.Failure.getTypeName`+- Added `OpenCascade.BRepAlgoAPI.Types`+- Added `OpenCascade.NCollection.List`++### Changed++- `OpenCascadeStandardFailure` now has an extra field, for a total of three fields: "type name", "message", "stack trace". "type name" is new.++### Removed++- In order to support building against OpenCASCADE 8.x:+ - Removed `OpenCascade.TColStd.IndexedDataMapOfStringString` ( replaced by `OpenCascade.NCollection.IndexedDataMap TCollection.AsciiString TCollection.AsciiString` + `OpenCascade.NCollection.IndexedDataMap.newAsciiStringMap`)+- Removed `fuse`, `cut`, `common`, `transform` and `gtransform`, in favour of `fromShapes` in `OpenCascade.BRepAlgoAPI.Fuse`, `OpenCascade.BRepAlgoAPI.Cut` and `OpenCascade.BRepAlgoAPI.Common`, `fromShapeTrsfAndCopy` in `OpenCascade.BRepBuilderAPI.Transform` and `fromShapeGTrsfAndCopy` in `OpenCascade.BRepBuilderAPI.GTransform`+ ## 0.6.3.2 ## 0.6.3.1
cpp/hs_BOPAlgo_Builder.cpp view
@@ -1,4 +1,6 @@ #include <BOPAlgo_Builder.hxx>+#include <NCollection_List.hxx>+#include <TopoDS_Shape.hxx> #include "hs_Exception.h" #include "hs_BOPAlgo_Builder.h" @@ -53,3 +55,47 @@ }); } ++LIST(TopoDS_Shape) * hs_BOPAlgo_Builder_Modified(+ BOPAlgo_Builder * builder, TopoDS_Shape * shape,+ HSExceptionType* exType,+ void** exPtr+){+ return hs_handleEx(+ exType,+ exPtr,+ [builder, shape]{+ return new NCollection_List<TopoDS_Shape>(builder->Modified(*shape));+ });+}++LIST(TopoDS_Shape) * hs_BOPAlgo_Builder_Generated(+ BOPAlgo_Builder * builder, TopoDS_Shape * shape,+ HSExceptionType* exType,+ void** exPtr+){+ return hs_handleEx(+ exType,+ exPtr,+ [builder, shape]{+ return new NCollection_List<TopoDS_Shape>(builder->Generated(*shape));+ });+}++bool hs_BOPAlgo_Builder_IsDeleted(+ BOPAlgo_Builder * builder, TopoDS_Shape * shape,+ HSExceptionType* exType,+ void** exPtr+){+ return hs_handleExWithDefault(+ exType,+ exPtr,+ [builder, shape]{+ return builder->IsDeleted(*shape);+ },+ false);+}++void hs_BOPAlgo_Builder_SetFuzzyValue(BOPAlgo_Builder * builder, double fuzz){+ builder->SetFuzzyValue(fuzz);+}
cpp/hs_BOPAlgo_Builder.h view
@@ -25,8 +25,28 @@ void hs_BOPAlgo_Builder_SetRunParallel(BOPAlgo_Builder * builder, bool runParallel); +void hs_BOPAlgo_Builder_SetFuzzyValue(BOPAlgo_Builder * builder, double fuzz);+ void hs_BOPAlgo_Builder_Perform( BOPAlgo_Builder * builder,+ HSExceptionType* exType,+ void** exPtr+);++LIST(TopoDS_Shape) * hs_BOPAlgo_Builder_Modified(+ BOPAlgo_Builder * builder, TopoDS_Shape * shape,+ HSExceptionType* exType,+ void** exPtr+);++LIST(TopoDS_Shape) * hs_BOPAlgo_Builder_Generated(+ BOPAlgo_Builder * builder, TopoDS_Shape * shape,+ HSExceptionType* exType,+ void** exPtr+);++bool hs_BOPAlgo_Builder_IsDeleted(+ BOPAlgo_Builder * builder, TopoDS_Shape * shape, HSExceptionType* exType, void** exPtr );
+ cpp/hs_BOPAlgo_Tools.cpp view
@@ -0,0 +1,20 @@+#include <BOPAlgo_Tools.hxx>+#include <TopoDS_Shape.hxx>+#include "hs_Exception.h"+#include "hs_BOPAlgo_Tools.h"++int hs_BOPAlgo_Tools_EdgesToWires(TopoDS_Shape * edges, TopoDS_Shape * wires, bool shared, double angTol, HSExceptionType* exType, void ** exPtr){+ return hs_handleExWithDefault(exType, exPtr, [edges, wires, shared, angTol]{+ return BOPAlgo_Tools::EdgesToWires(*edges, *wires, shared, angTol);+ }+ , 0+ );+}++bool hs_BOPAlgo_Tools_WiresToFaces(TopoDS_Shape * wires, TopoDS_Shape * faces, double angTol, HSExceptionType* exType, void ** exPtr){+ return hs_handleExWithDefault(exType, exPtr, [wires, faces, angTol]{+ return BOPAlgo_Tools::WiresToFaces(*wires, *faces, angTol);+ } + , false+ );+}
+ cpp/hs_BOPAlgo_Tools.h view
@@ -0,0 +1,18 @@+#ifndef HS_BOPALGO_TOOLS_H+#define HS_BOPALGO_TOOLS_H++#include "hs_types.h"++#ifdef __cplusplus+extern "C" {+#endif++int hs_BOPAlgo_Tools_EdgesToWires(TopoDS_Shape * edges, TopoDS_Shape * wires, bool shared, double angTol, HSExceptionType* exType, void ** exPtr);++bool hs_BOPAlgo_Tools_WiresToFaces(TopoDS_Shape * wires, TopoDS_Shape * faces, double angTol, HSExceptionType* exType, void ** exPtr);++#ifdef __cplusplus+}+#endif++#endif // HS_BOPALGO_TOOLS_H
cpp/hs_BRepAlgoAPI_Common.cpp view
@@ -4,7 +4,7 @@ #include <TopoDS_Shape.hxx> -TopoDS_Shape * hs_BRepAlgoAPI_Common(+BRepAlgoAPI_Common * hs_new_BRepAlgoAPI_Common_fromShapes( TopoDS_Shape * a, TopoDS_Shape * b, HSExceptionType* exType, void** exPtr@@ -13,7 +13,10 @@ exType, exPtr, [a, b]{- auto builder = BRepAlgoAPI_Common(*a, *b);- return new TopoDS_Shape(builder.Shape());+ return new BRepAlgoAPI_Common(*a, *b); });+}++void hs_delete_BRepAlgoAPI_Common(BRepAlgoAPI_Common * builder){+ delete builder; }
cpp/hs_BRepAlgoAPI_Common.h view
@@ -8,11 +8,13 @@ extern "C" { #endif -TopoDS_Shape * hs_BRepAlgoAPI_Common(+BRepAlgoAPI_Common * hs_new_BRepAlgoAPI_Common_fromShapes( TopoDS_Shape * a, TopoDS_Shape * b, HSExceptionType* exType, void** exPtr );++void hs_delete_BRepAlgoAPI_Common(BRepAlgoAPI_Common * builder); #ifdef __cplusplus }
cpp/hs_BRepAlgoAPI_Cut.cpp view
@@ -4,7 +4,7 @@ #include <TopoDS_Shape.hxx> -TopoDS_Shape * hs_BRepAlgoAPI_Cut(+BRepAlgoAPI_Cut * hs_new_BRepAlgoAPI_Cut_fromShapes( TopoDS_Shape * a, TopoDS_Shape * b, HSExceptionType* exType, void** exPtr@@ -13,7 +13,10 @@ exType, exPtr, [a, b]{- auto builder = BRepAlgoAPI_Cut(*a, *b);- return new TopoDS_Shape(builder.Shape());+ return new BRepAlgoAPI_Cut(*a, *b); });+}++void hs_delete_BRepAlgoAPI_Cut(BRepAlgoAPI_Cut * builder){+ delete builder; }
cpp/hs_BRepAlgoAPI_Cut.h view
@@ -8,11 +8,13 @@ extern "C" { #endif -TopoDS_Shape * hs_BRepAlgoAPI_Cut(+BRepAlgoAPI_Cut * hs_new_BRepAlgoAPI_Cut_fromShapes( TopoDS_Shape * a, TopoDS_Shape * b, HSExceptionType* exType, void** exPtr );++void hs_delete_BRepAlgoAPI_Cut(BRepAlgoAPI_Cut * builder); #ifdef __cplusplus }
cpp/hs_BRepAlgoAPI_Fuse.cpp view
@@ -4,7 +4,7 @@ #include <TopoDS_Shape.hxx> -TopoDS_Shape * hs_BRepAlgoAPI_Fuse(+BRepAlgoAPI_Fuse * hs_new_BRepAlgoAPI_Fuse_fromShapes( TopoDS_Shape * a, TopoDS_Shape * b, HSExceptionType* exType, void** exPtr@@ -13,7 +13,10 @@ exType, exPtr, [a, b]{- auto builder = BRepAlgoAPI_Fuse(*a, *b);- return new TopoDS_Shape(builder.Shape());+ return new BRepAlgoAPI_Fuse(*a, *b); });+}++void hs_delete_BRepAlgoAPI_Fuse(BRepAlgoAPI_Fuse * builder){+ delete builder; }
cpp/hs_BRepAlgoAPI_Fuse.h view
@@ -7,11 +7,13 @@ extern "C" { #endif -TopoDS_Shape * hs_BRepAlgoAPI_Fuse(+BRepAlgoAPI_Fuse * hs_new_BRepAlgoAPI_Fuse_fromShapes( TopoDS_Shape * a, TopoDS_Shape * b, HSExceptionType* exType, void** exPtr );++void hs_delete_BRepAlgoAPI_Fuse(BRepAlgoAPI_Fuse * builder); #ifdef __cplusplus }
cpp/hs_BRepBuilderAPI_GTransform.cpp view
@@ -3,7 +3,7 @@ #include "hs_Exception.h" #include "hs_BRepBuilderAPI_GTransform.h" -TopoDS_Shape * hs_BRepBuilderAPI_GTransform_gtransform(+BRepBuilderAPI_GTransform * hs_new_BRepBuilderAPI_GTransform_fromShapeGTrsfAndCopy( TopoDS_Shape * shape, gp_GTrsf * trsf, bool copy, HSExceptionType* exType, void** exPtr@@ -12,9 +12,10 @@ exType, exPtr, [shape, trsf, copy]{- auto builder = BRepBuilderAPI_GTransform(*shape, *trsf, copy);- return new TopoDS_Shape(builder.Shape());+ return new BRepBuilderAPI_GTransform(*shape, *trsf, copy); }); } -+void hs_delete_BRepBuilderAPI_GTransform(BRepBuilderAPI_GTransform * builder){+ delete builder;+}
cpp/hs_BRepBuilderAPI_GTransform.h view
@@ -7,11 +7,13 @@ extern "C" { #endif -TopoDS_Shape * hs_BRepBuilderAPI_GTransform_gtransform(+BRepBuilderAPI_GTransform * hs_new_BRepBuilderAPI_GTransform_fromShapeGTrsfAndCopy( TopoDS_Shape * shape, gp_GTrsf * trsf, bool copy, HSExceptionType* exType, void** exPtr );++void hs_delete_BRepBuilderAPI_GTransform(BRepBuilderAPI_GTransform * builder); #ifdef __cplusplus }
cpp/hs_BRepBuilderAPI_MakeShape.cpp view
@@ -1,5 +1,6 @@ #include <BRepBuilderAPI_MakeShape.hxx> #include <TopoDS_Shape.hxx>+#include <NCollection_List.hxx> #include "hs_Exception.h" #include "hs_BRepBuilderAPI_MakeShape.h" @@ -32,5 +33,50 @@ [builder]{ builder->Build(); }+ );+}+LIST(TopoDS_Shape) * hs_BRepBuilderAPI_MakeShape_modified(+ BRepBuilderAPI_MakeShape * builder,+ TopoDS_Shape * shape,+ HSExceptionType* exType,+ void** exPtr+ ){+ return hs_handleEx(+ exType,+ exPtr,+ [builder, shape]{+ return new NCollection_List<TopoDS_Shape>(builder->Modified(*shape));+ }+ );+}++LIST(TopoDS_Shape) * hs_BRepBuilderAPI_MakeShape_generated(+ BRepBuilderAPI_MakeShape * builder,+ TopoDS_Shape * shape,+ HSExceptionType* exType,+ void** exPtr+ ){+ return hs_handleEx(+ exType,+ exPtr,+ [builder, shape]{+ return new NCollection_List<TopoDS_Shape>(builder->Generated(*shape));+ }+ );+}++bool hs_BRepBuilderAPI_MakeShape_isDeleted(+ BRepBuilderAPI_MakeShape * builder,+ TopoDS_Shape * shape,+ HSExceptionType* exType,+ void** exPtr+ ){+ return hs_handleExWithDefault(+ exType,+ exPtr,+ [builder, shape]{+ return builder->IsDeleted(*shape);+ },+ false ); }
cpp/hs_BRepBuilderAPI_MakeShape.h view
@@ -14,9 +14,30 @@ ); void hs_BRepBuilderAPI_MakeShape_build(- BRepBuilderAPI_MakeShape* builder, + BRepBuilderAPI_MakeShape* builder, HSExceptionType* exType, void** exPtr+);++LIST(TopoDS_Shape) * hs_BRepBuilderAPI_MakeShape_modified(+ BRepBuilderAPI_MakeShape * builder,+ TopoDS_Shape * shape,+ HSExceptionType* exType,+ void** exPtr+);++LIST(TopoDS_Shape) * hs_BRepBuilderAPI_MakeShape_generated(+ BRepBuilderAPI_MakeShape * builder,+ TopoDS_Shape * shape,+ HSExceptionType* exType,+ void** exPtr+);++bool hs_BRepBuilderAPI_MakeShape_isDeleted(+ BRepBuilderAPI_MakeShape * builder,+ TopoDS_Shape * shape,+ HSExceptionType* exType,+ void** exPtr ); #ifdef __cplusplus
cpp/hs_BRepBuilderAPI_MakeWire.cpp view
@@ -1,5 +1,6 @@ #include <BRepBuilderAPI_MakeWire.hxx>-#include <TopTools_ListOfShape.hxx>+#include <NCollection_List.hxx>+#include <TopoDS_Shape.hxx> #include <TopoDS_Wire.hxx> #include "hs_Exception.h" #include "hs_BRepBuilderAPI_MakeWire.h"@@ -39,7 +40,7 @@ } void hs_BRepBuilderAPI_MakeWire_AddListOfShape(- BRepBuilderAPI_MakeWire* builder, TopTools_ListOfShape *list,+ BRepBuilderAPI_MakeWire* builder, LIST(TopoDS_Shape) *list, HSExceptionType* exType, void** exPtr ){
cpp/hs_BRepBuilderAPI_MakeWire.h view
@@ -24,7 +24,7 @@ ); void hs_BRepBuilderAPI_MakeWire_AddListOfShape(- BRepBuilderAPI_MakeWire* builder, TopTools_ListOfShape *list,+ BRepBuilderAPI_MakeWire* builder, LIST(TopoDS_Shape) *list, HSExceptionType* exType, void** exPtr );
cpp/hs_BRepBuilderAPI_Transform.cpp view
@@ -3,7 +3,7 @@ #include "hs_Exception.h" #include "hs_BRepBuilderAPI_Transform.h" -TopoDS_Shape * hs_BRepBuilderAPI_Transform_transform(+BRepBuilderAPI_Transform * hs_new_BRepBuilderAPI_Transform_fromShapeTrsfAndCopy( TopoDS_Shape * shape, gp_Trsf * trsf, bool copy, HSExceptionType* exType, void** exPtr@@ -12,9 +12,10 @@ exType, exPtr, [shape, trsf, copy]{- auto builder = BRepBuilderAPI_Transform(*shape, *trsf, copy);- return new TopoDS_Shape(builder.Shape());+ return new BRepBuilderAPI_Transform(*shape, *trsf, copy); }); } -+void hs_delete_BRepBuilderAPI_Transform(BRepBuilderAPI_Transform * builder){+ delete builder;+}
cpp/hs_BRepBuilderAPI_Transform.h view
@@ -7,11 +7,13 @@ extern "C" { #endif -TopoDS_Shape * hs_BRepBuilderAPI_Transform_transform(+BRepBuilderAPI_Transform * hs_new_BRepBuilderAPI_Transform_fromShapeTrsfAndCopy( TopoDS_Shape * shape, gp_Trsf * trsf, bool copy, HSExceptionType* exType, void** exPtr );++void hs_delete_BRepBuilderAPI_Transform(BRepBuilderAPI_Transform * builder); #ifdef __cplusplus }
cpp/hs_Exception.h view
@@ -7,7 +7,23 @@ #include <stdexcept> #include <Standard_Failure.hxx>+#include <Standard_Version.hxx>+#include <string> +struct HSStandardFailure {+ std::string typeName;+ Standard_Failure failure;+};++inline HSStandardFailure* hs_copyStandardFailure(const Standard_Failure& e) {+#if OCC_VERSION_HEX >= 0x080000+ const char* typeName = e.ExceptionType();+#else+ const char* typeName = e.DynamicType()->Name();+#endif+ return new HSStandardFailure{ typeName ? typeName : "", Standard_Failure(e) };+}+ enum HSExceptionType { NoException = 0, StandardFailureEx = 1,@@ -23,7 +39,7 @@ } catch (Standard_Failure &e) { *theType = StandardFailureEx;- *exPtr = new Standard_Failure(e);+ *exPtr = hs_copyStandardFailure(e); } catch (std::exception &e) { *theType = StdExceptionEx;@@ -48,7 +64,7 @@ } catch (Standard_Failure &e) { *theType = StandardFailureEx;- *exPtr = new Standard_Failure(e);+ *exPtr = hs_copyStandardFailure(e); } catch (std::exception &e) { *theType = StdExceptionEx;
cpp/hs_HLRAlgo_Projector.cpp view
@@ -1,4 +1,5 @@ #include <HLRAlgo_Projector.hxx>+#include <gp_Trsf.hxx> #include "hs_HLRAlgo_Projector.h" HLRAlgo_Projector * hs_new_HLRAlgo_Projector_fromAx2(gp_Ax2* axis){@@ -7,4 +8,12 @@ void hs_delete_HLRAlgo_Projector(HLRAlgo_Projector* projector){ delete projector;+}++gp_Trsf * hs_HLRAlgo_Projector_Transformation(HLRAlgo_Projector* projector){+ return new gp_Trsf(projector->Transformation());+}++gp_Trsf * hs_HLRAlgo_Projector_InvertedTransformation(HLRAlgo_Projector* projector){+ return new gp_Trsf(projector->InvertedTransformation()); }
cpp/hs_HLRAlgo_Projector.h view
@@ -10,9 +10,13 @@ HLRAlgo_Projector * hs_new_HLRAlgo_Projector_fromAx2(gp_Ax2* axis); void hs_delete_HLRAlgo_Projector(HLRAlgo_Projector* projector);++gp_Trsf * hs_HLRAlgo_Projector_Transformation(HLRAlgo_Projector* projector);++gp_Trsf * hs_HLRAlgo_Projector_InvertedTransformation(HLRAlgo_Projector* projector);+ #ifdef __cplusplus } #endif #endif // HS_HLR_ALGO_PROJECTOR_H-
+ cpp/hs_IntCurvesFace_ShapeIntersector.cpp view
@@ -0,0 +1,71 @@+#include <IntCurvesFace_ShapeIntersector.hxx>+#include <TopoDS_Shape.hxx>+#include <TopoDS_Face.hxx>+#include <gp_Lin.hxx>+#include <gp_Pnt.hxx>+#include "hs_Exception.h"+#include "hs_IntCurvesFace_ShapeIntersector.h"++IntCurvesFace_ShapeIntersector * hs_new_IntCurvesFace_ShapeIntersector(){+ return new IntCurvesFace_ShapeIntersector();+}++void hs_delete_IntCurvesFace_ShapeIntersector(IntCurvesFace_ShapeIntersector * intersector){+ delete intersector;+}++void hs_IntCurvesFace_ShapeIntersector_Load(IntCurvesFace_ShapeIntersector * intersector, TopoDS_Shape * shape, double tol, HSExceptionType* exType, void ** exPtr){+ hs_handleExVoid(exType, exPtr, [intersector, shape, tol]{+ intersector->Load(*shape, tol);+ });+}++void hs_IntCurvesFace_ShapeIntersector_Perform(IntCurvesFace_ShapeIntersector * intersector, gp_Lin * line, double pInf, double pSup, HSExceptionType* exType, void ** exPtr){+ hs_handleExVoid(exType, exPtr, [intersector, line, pInf, pSup]{+ intersector->Perform(*line, pInf, pSup);+ });+}++void hs_IntCurvesFace_ShapeIntersector_PerformNearest(IntCurvesFace_ShapeIntersector * intersector, gp_Lin * line, double pInf, double pSup, HSExceptionType* exType, void ** exPtr){+ hs_handleExVoid(exType, exPtr, [intersector, line, pInf, pSup]{+ intersector->PerformNearest(*line, pInf, pSup);+ });+}++bool hs_IntCurvesFace_ShapeIntersector_IsDone(IntCurvesFace_ShapeIntersector * intersector){+ return intersector->IsDone();+}++int hs_IntCurvesFace_ShapeIntersector_NbPnt(IntCurvesFace_ShapeIntersector * intersector){+ return intersector->NbPnt();+}++double hs_IntCurvesFace_ShapeIntersector_UParameter(IntCurvesFace_ShapeIntersector * intersector, int index, HSExceptionType* exType, void ** exPtr){+ return hs_handleExWithDefault(exType, exPtr, [intersector, index]{+ return intersector->UParameter(index);+ }, 0.0);+}++double hs_IntCurvesFace_ShapeIntersector_VParameter(IntCurvesFace_ShapeIntersector * intersector, int index, HSExceptionType* exType, void ** exPtr){+ return hs_handleExWithDefault(exType, exPtr, [intersector, index]{+ return intersector->VParameter(index);+ }, 0.0);+}++double hs_IntCurvesFace_ShapeIntersector_WParameter(IntCurvesFace_ShapeIntersector * intersector, int index, HSExceptionType* exType, void ** exPtr){+ return hs_handleExWithDefault(exType, exPtr, [intersector, index]{+ return intersector->WParameter(index);+ }, 0.0);+}++gp_Pnt * hs_IntCurvesFace_ShapeIntersector_Pnt(IntCurvesFace_ShapeIntersector * intersector, int index, HSExceptionType* exType, void ** exPtr){+ return hs_handleEx(exType, exPtr, [intersector, index]{+ return new gp_Pnt(intersector->Pnt(index));+ });+}++TopoDS_Face * hs_IntCurvesFace_ShapeIntersector_Face(IntCurvesFace_ShapeIntersector * intersector, int index, HSExceptionType* exType, void ** exPtr){+ return hs_handleEx(exType, exPtr, [intersector, index]{+ return new TopoDS_Face(intersector->Face(index));+ });+}
+ cpp/hs_IntCurvesFace_ShapeIntersector.h view
@@ -0,0 +1,38 @@+#ifndef HS_INTCURVESFACE_SHAPEINTERSECTOR_H+#define HS_INTCURVESFACE_SHAPEINTERSECTOR_H++#include "hs_types.h"++#ifdef __cplusplus+extern "C" {+#endif++IntCurvesFace_ShapeIntersector * hs_new_IntCurvesFace_ShapeIntersector();++void hs_delete_IntCurvesFace_ShapeIntersector(IntCurvesFace_ShapeIntersector * intersector);++void hs_IntCurvesFace_ShapeIntersector_Load(IntCurvesFace_ShapeIntersector * intersector, TopoDS_Shape * shape, double tol, HSExceptionType* exType, void ** exPtr);++void hs_IntCurvesFace_ShapeIntersector_Perform(IntCurvesFace_ShapeIntersector * intersector, gp_Lin * line, double pInf, double pSup, HSExceptionType* exType, void ** exPtr);++void hs_IntCurvesFace_ShapeIntersector_PerformNearest(IntCurvesFace_ShapeIntersector * intersector, gp_Lin * line, double pInf, double pSup, HSExceptionType* exType, void ** exPtr);++bool hs_IntCurvesFace_ShapeIntersector_IsDone(IntCurvesFace_ShapeIntersector * intersector);++int hs_IntCurvesFace_ShapeIntersector_NbPnt(IntCurvesFace_ShapeIntersector * intersector);++double hs_IntCurvesFace_ShapeIntersector_UParameter(IntCurvesFace_ShapeIntersector * intersector, int index, HSExceptionType* exType, void ** exPtr);++double hs_IntCurvesFace_ShapeIntersector_VParameter(IntCurvesFace_ShapeIntersector * intersector, int index, HSExceptionType* exType, void ** exPtr);++double hs_IntCurvesFace_ShapeIntersector_WParameter(IntCurvesFace_ShapeIntersector * intersector, int index, HSExceptionType* exType, void ** exPtr);++gp_Pnt * hs_IntCurvesFace_ShapeIntersector_Pnt(IntCurvesFace_ShapeIntersector * intersector, int index, HSExceptionType* exType, void ** exPtr);++TopoDS_Face * hs_IntCurvesFace_ShapeIntersector_Face(IntCurvesFace_ShapeIntersector * intersector, int index, HSExceptionType* exType, void ** exPtr);++#ifdef __cplusplus+}+#endif++#endif // HS_INTCURVESFACE_SHAPEINTERSECTOR_H
+ cpp/hs_NCollection_IndexedDataMap.cpp view
@@ -0,0 +1,74 @@+#include <NCollection_IndexedDataMap.hxx>+#include <NCollection_List.hxx>+#include <TCollection_AsciiString.hxx>+#include <TopoDS_Shape.hxx>+#include <TopTools_ShapeMapHasher.hxx>+#include "hs_Exception.h"+#include "hs_NCollection_IndexedDataMap.h"++INDEXED_DATA_MAP(TCollection_AsciiString, TCollection_AsciiString, DEFAULT_HASHER(TCollection_AsciiString)) * + hs_new_NCollection_IndexedDataMap_TCollection_AsciiString_TCollection_AsciiString(){+ return new NCollection_IndexedDataMap<TCollection_AsciiString, TCollection_AsciiString>();+}++void hs_delete_NCollection_IndexedDataMap_TCollection_AsciiString_TCollection_AsciiString(+ INDEXED_DATA_MAP(TCollection_AsciiString, TCollection_AsciiString, DEFAULT_HASHER(TCollection_AsciiString)) * theMap+ ){+ delete theMap;+}++INDEXED_DATA_MAP(TopoDS_Shape, LIST(TopoDS_Shape), TopTools_ShapeMapHasher) *+ hs_new_NCollection_IndexedDataMap_TopoDS_Shape_NCollection_List_TopoDS_Shape(){+ return new NCollection_IndexedDataMap<TopoDS_Shape, NCollection_List<TopoDS_Shape>, TopTools_ShapeMapHasher>();+}++void hs_delete_NCollection_IndexedDataMap_TopoDS_Shape_NCollection_List_TopoDS_Shape(+ INDEXED_DATA_MAP(TopoDS_Shape, LIST(TopoDS_Shape), TopTools_ShapeMapHasher) * theMap+) {+ delete theMap;+}++int hs_NCollection_IndexedDataMap_TopoDS_Shape_NCollection_List_TopoDS_Shape_extent(+ INDEXED_DATA_MAP(TopoDS_Shape, LIST(TopoDS_Shape), TopTools_ShapeMapHasher) * theMap+){+ return theMap->Extent();+}++bool hs_NCollection_IndexedDataMap_TopoDS_Shape_NCollection_List_TopoDS_Shape_contains(+ INDEXED_DATA_MAP(TopoDS_Shape, LIST(TopoDS_Shape), TopTools_ShapeMapHasher) * theMap,+ TopoDS_Shape * shape+){+ return theMap->Contains(*shape);+}++LIST(TopoDS_Shape) * hs_NCollection_IndexedDataMap_TopoDS_Shape_NCollection_List_TopoDS_Shape_findFromKey(+ INDEXED_DATA_MAP(TopoDS_Shape, LIST(TopoDS_Shape), TopTools_ShapeMapHasher) * theMap,+ TopoDS_Shape * shape,+ HSExceptionType* exType, void ** exPtr+){+ return hs_handleEx(exType, exPtr, [theMap, shape]{+ return new NCollection_List<TopoDS_Shape>(theMap->FindFromKey(*shape));+ });+}++// index is 1 based+TopoDS_Shape * hs_NCollection_IndexedDataMap_TopoDS_Shape_NCollection_List_TopoDS_Shape_findKey(+ INDEXED_DATA_MAP(TopoDS_Shape, LIST(TopoDS_Shape), TopTools_ShapeMapHasher) * theMap,+ int index,+ HSExceptionType* exType, void ** exPtr+){+ return hs_handleEx(exType, exPtr, [theMap, index]{+ return new TopoDS_Shape(theMap->FindKey(index));+ });+}++// index is 1 based+LIST(TopoDS_Shape) * hs_NCollection_IndexedDataMap_TopoDS_Shape_NCollection_List_TopoDS_Shape_findFromIndex(+ INDEXED_DATA_MAP(TopoDS_Shape, LIST(TopoDS_Shape), TopTools_ShapeMapHasher) * theMap,+ int index,+ HSExceptionType* exType, void ** exPtr+){+ return hs_handleEx(exType, exPtr, [theMap, index]{+ return new NCollection_List<TopoDS_Shape>(theMap->FindFromIndex(index));+ });+}
+ cpp/hs_NCollection_IndexedDataMap.h view
@@ -0,0 +1,55 @@+#ifndef HS_NCOLLECTION_INDEXEDDATAMAP_H+#define HS_NCOLLECTION_INDEXEDDATAMAP_H++#include "hs_types.h"++#ifdef __cplusplus+extern "C" {+#endif++INDEXED_DATA_MAP(TCollection_AsciiString, TCollection_AsciiString, DEFAULT_HASHER(TCollection_AsciiString)) *+ hs_new_NCollection_IndexedDataMap_TCollection_AsciiString_TCollection_AsciiString();++void hs_delete_NCollection_IndexedDataMap_TCollection_AsciiString_TCollection_AsciiString(+ INDEXED_DATA_MAP(TCollection_AsciiString, TCollection_AsciiString, DEFAULT_HASHER(TCollection_AsciiString)) *theMap+);++INDEXED_DATA_MAP(TopoDS_Shape, LIST(TopoDS_Shape), TopTools_ShapeMapHasher) *+ hs_new_NCollection_IndexedDataMap_TopoDS_Shape_NCollection_List_TopoDS_Shape();++void hs_delete_NCollection_IndexedDataMap_TopoDS_Shape_NCollection_List_TopoDS_Shape(+ INDEXED_DATA_MAP(TopoDS_Shape, LIST(TopoDS_Shape), TopTools_ShapeMapHasher) * theMap+);++int hs_NCollection_IndexedDataMap_TopoDS_Shape_NCollection_List_TopoDS_Shape_extent(+ INDEXED_DATA_MAP(TopoDS_Shape, LIST(TopoDS_Shape), TopTools_ShapeMapHasher) * theMap+);++bool hs_NCollection_IndexedDataMap_TopoDS_Shape_NCollection_List_TopoDS_Shape_contains(+ INDEXED_DATA_MAP(TopoDS_Shape, LIST(TopoDS_Shape), TopTools_ShapeMapHasher) * theMap,+ TopoDS_Shape * shape+);++LIST(TopoDS_Shape) * hs_NCollection_IndexedDataMap_TopoDS_Shape_NCollection_List_TopoDS_Shape_findFromKey(+ INDEXED_DATA_MAP(TopoDS_Shape, LIST(TopoDS_Shape), TopTools_ShapeMapHasher) * theMap,+ TopoDS_Shape * shape,+ HSExceptionType* exType, void ** exPtr+);++TopoDS_Shape * hs_NCollection_IndexedDataMap_TopoDS_Shape_NCollection_List_TopoDS_Shape_findKey(+ INDEXED_DATA_MAP(TopoDS_Shape, LIST(TopoDS_Shape), TopTools_ShapeMapHasher) * theMap,+ int index,+ HSExceptionType* exType, void ** exPtr+);++LIST(TopoDS_Shape) * hs_NCollection_IndexedDataMap_TopoDS_Shape_NCollection_List_TopoDS_Shape_findFromIndex(+ INDEXED_DATA_MAP(TopoDS_Shape, LIST(TopoDS_Shape), TopTools_ShapeMapHasher) * theMap,+ int index,+ HSExceptionType* exType, void ** exPtr+);++#ifdef __cplusplus+}+#endif++#endif // HS_NCOLLECTION_INDEXEDDATAMAP_H
+ cpp/hs_NCollection_List.cpp view
@@ -0,0 +1,39 @@+#include <NCollection_List.hxx>+#include <TopoDS_Shape.hxx>+#include "hs_NCollection_List.h"++LIST(TopoDS_Shape) * hs_new_NCollection_List_TopoDS_Shape(){+ return new NCollection_List<TopoDS_Shape>();+}++void hs_delete_NCollection_List_TopoDS_Shape(LIST(TopoDS_Shape) * list){+ delete list;+}++int hs_NCollection_List_TopoDS_Shape_extent(LIST(TopoDS_Shape) * list){+ return list->Extent();+}++void hs_NCollection_List_TopoDS_Shape_append(LIST(TopoDS_Shape) * list, TopoDS_Shape * shape){+ list->Append(*shape);+}++LIST_ITERATOR(TopoDS_Shape) * hs_new_NCollection_List_TopoDS_Shape_Iterator(LIST(TopoDS_Shape) * list){+ return new NCollection_List<TopoDS_Shape>::Iterator(*list);+}++void hs_delete_NCollection_List_TopoDS_Shape_Iterator(LIST_ITERATOR(TopoDS_Shape) * iterator){+ delete iterator;+}++bool hs_NCollection_List_TopoDS_Shape_Iterator_more(LIST_ITERATOR(TopoDS_Shape) * iterator){+ return iterator->More();+}++void hs_NCollection_List_TopoDS_Shape_Iterator_next(LIST_ITERATOR(TopoDS_Shape) * iterator){+ iterator->Next();+}++TopoDS_Shape * hs_NCollection_List_TopoDS_Shape_Iterator_value(LIST_ITERATOR(TopoDS_Shape) * iterator){+ return new TopoDS_Shape(iterator->Value());+}
+ cpp/hs_NCollection_List.h view
@@ -0,0 +1,32 @@+#ifndef HS_NCOLLECTION_LIST_H+#define HS_NCOLLECTION_LIST_H++#include "hs_types.h"++#ifdef __cplusplus+extern "C" {+#endif++LIST(TopoDS_Shape) * hs_new_NCollection_List_TopoDS_Shape();++void hs_delete_NCollection_List_TopoDS_Shape(LIST(TopoDS_Shape) * list);++int hs_NCollection_List_TopoDS_Shape_extent(LIST(TopoDS_Shape) * list);++void hs_NCollection_List_TopoDS_Shape_append(LIST(TopoDS_Shape) * list, TopoDS_Shape * shape);++LIST_ITERATOR(TopoDS_Shape) * hs_new_NCollection_List_TopoDS_Shape_Iterator(LIST(TopoDS_Shape) * list);++void hs_delete_NCollection_List_TopoDS_Shape_Iterator(LIST_ITERATOR(TopoDS_Shape) * iterator);++bool hs_NCollection_List_TopoDS_Shape_Iterator_more(LIST_ITERATOR(TopoDS_Shape) * iterator);++void hs_NCollection_List_TopoDS_Shape_Iterator_next(LIST_ITERATOR(TopoDS_Shape) * iterator);++TopoDS_Shape * hs_NCollection_List_TopoDS_Shape_Iterator_value(LIST_ITERATOR(TopoDS_Shape) * iterator);++#ifdef __cplusplus+}+#endif++#endif // HS_NCOLLECTION_LIST_H
+ cpp/hs_NCollection_Vec3.cpp view
@@ -0,0 +1,10 @@+#include <NCollection_Vec3.hxx>+#include "hs_NCollection_Vec3.h"++VEC3(float) * hs_new_NCollection_Vec3_float(float x, float y, float z){+ return new NCollection_Vec3<float>(x, y, z);+}++void hs_delete_NCollection_Vec3_float(VEC3(float) * vec){+ delete vec;+}
+ cpp/hs_NCollection_Vec3.h view
@@ -0,0 +1,18 @@+#ifndef HS_NCOLLECTION_VEC3_H+#define HS_NCOLLECTION_VEC3_H++#include "hs_types.h"++#ifdef __cplusplus+extern "C" {+#endif++VEC3(float) * hs_new_NCollection_Vec3_float(float x, float y, float z);++void hs_delete_NCollection_Vec3_float(VEC3(float) * vec);++#ifdef __cplusplus+}+#endif++#endif // HS_NCOLLECTION_VEC3_H
cpp/hs_Poly_Triangulation.cpp view
@@ -79,3 +79,6 @@ } ); }+bool hs_Poly_Triangulation_isNull(Handle(Poly_Triangulation) * triangulation){+ return triangulation->IsNull();+}
cpp/hs_Poly_Triangulation.h view
@@ -18,6 +18,8 @@ int hs_Poly_Triangulation_nbTriangles(Handle(Poly_Triangulation) * triangulation); +bool hs_Poly_Triangulation_isNull(Handle(Poly_Triangulation) * triangulation);+ gp_Pnt * hs_Poly_Triangulation_node( Handle(Poly_Triangulation) * triangulation, int index, HSExceptionType* exType, void ** exPtr
+ cpp/hs_Quantity_Color.cpp view
@@ -0,0 +1,16 @@+#include <Quantity_Color.hxx>+#include "hs_Exception.h"+#include "hs_Quantity_Color.h"++Quantity_Color * hs_new_Quantity_Color(+ double c1, double c2, double c3, Quantity_TypeOfColor theType,+ HSExceptionType* exType, void ** exPtr+ ){+ return hs_handleEx(exType, exPtr, [c1, c2, c3, theType]{+ return new Quantity_Color(c1, c2, c3, theType);+ });+}++void hs_delete_Quantity_Color(Quantity_Color * color){+ delete color;+}
+ cpp/hs_Quantity_Color.h view
@@ -0,0 +1,21 @@+#ifndef HS_QUANTITY_COLOR_H+#define HS_QUANTITY_COLOR_H++#include "hs_types.h"++#ifdef __cplusplus+extern "C" {+#endif++Quantity_Color * hs_new_Quantity_Color(+ double c1, double c2, double c3, Quantity_TypeOfColor theType,+ HSExceptionType* exType, void ** exPtr+);++void hs_delete_Quantity_Color(Quantity_Color * color);++#ifdef __cplusplus+}+#endif++#endif // HS_QUANTITY_COLOR_H
+ cpp/hs_Quantity_ColorRGBA.cpp view
@@ -0,0 +1,10 @@+#include <Quantity_ColorRGBA.hxx>+#include "hs_Quantity_ColorRGBA.h"++Quantity_ColorRGBA * hs_new_Quantity_ColorRGBA(Quantity_Color * color, double alpha){+ return new Quantity_ColorRGBA(*color, (float) alpha);+}++void hs_delete_Quantity_ColorRGBA(Quantity_ColorRGBA * color){+ delete color;+}
+ cpp/hs_Quantity_ColorRGBA.h view
@@ -0,0 +1,18 @@+#ifndef HS_QUANTITY_COLORRGBA_H+#define HS_QUANTITY_COLORRGBA_H++#include "hs_types.h"++#ifdef __cplusplus+extern "C" {+#endif++Quantity_ColorRGBA * hs_new_Quantity_ColorRGBA(Quantity_Color * color, double alpha);++void hs_delete_Quantity_ColorRGBA(Quantity_ColorRGBA * color);++#ifdef __cplusplus+}+#endif++#endif // HS_QUANTITY_COLORRGBA_H
cpp/hs_RWGltf_CafWriter.cpp view
@@ -1,5 +1,6 @@ #include <RWGltf_CafWriter.hxx>-#include <TColStd_IndexedDataMapOfStringString.hxx>+#include <NCollection_IndexedDataMap.hxx>+#include <TCollection_AsciiString.hxx> #include "hs_Exception.h" #include "hs_RWGltf_CafWriter.h" @@ -12,7 +13,10 @@ } void hs_RWGltf_CafWriter_Perform(- RWGltf_CafWriter * theWriter, Handle(TDocStd_Document) * theDocument, TColStd_IndexedDataMapOfStringString * theFileInfo, Message_ProgressRange * theProgress,+ RWGltf_CafWriter * theWriter,+ Handle(TDocStd_Document) * theDocument,+ INDEXED_DATA_MAP(TCollection_AsciiString, TCollection_AsciiString, DEFAULT_HASHER(TCollection_AsciiString)) * theFileInfo,+ Message_ProgressRange * theProgress, HSExceptionType* exType, void ** exPtr ){ hs_handleExVoid(
cpp/hs_RWGltf_CafWriter.h view
@@ -12,7 +12,10 @@ 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,+ RWGltf_CafWriter * theWriter, + Handle(TDocStd_Document) * theDocument,+ INDEXED_DATA_MAP(TCollection_AsciiString, TCollection_AsciiString, DEFAULT_HASHER(TCollection_AsciiString)) * theFileInfo,+ Message_ProgressRange * theProgress, HSExceptionType* exType, void ** exPtr );
cpp/hs_RWObj_CafWriter.cpp view
@@ -1,5 +1,6 @@ #include <RWObj_CafWriter.hxx>-#include <TColStd_IndexedDataMapOfStringString.hxx>+#include <NCollection_IndexedDataMap.hxx>+#include <TCollection_AsciiString.hxx> #include "hs_Exception.h" #include "hs_RWObj_CafWriter.h" @@ -12,7 +13,10 @@ } void hs_RWObj_CafWriter_Perform(- RWObj_CafWriter * theWriter, Handle(TDocStd_Document) * theDocument, TColStd_IndexedDataMapOfStringString * theFileInfo, Message_ProgressRange * theProgress,+ RWObj_CafWriter * theWriter,+ Handle(TDocStd_Document) * theDocument,+ INDEXED_DATA_MAP(TCollection_AsciiString, TCollection_AsciiString, DEFAULT_HASHER(TCollection_AsciiString)) * theFileInfo,+ Message_ProgressRange * theProgress, HSExceptionType* exType, void ** exPtr ){ hs_handleExVoid(
cpp/hs_RWObj_CafWriter.h view
@@ -12,7 +12,7 @@ void hs_delete_RWObj_CafWriter(RWObj_CafWriter * theWriter); void hs_RWObj_CafWriter_Perform(- RWObj_CafWriter * theWriter, Handle(TDocStd_Document) * theDocument, TColStd_IndexedDataMapOfStringString * theFileInfo, Message_ProgressRange * theProgress,+ RWObj_CafWriter * theWriter, Handle(TDocStd_Document) * theDocument, INDEXED_DATA_MAP(TCollection_AsciiString, TCollection_AsciiString, DEFAULT_HASHER(TCollection_AsciiString)) * theFileInfo, Message_ProgressRange * theProgress, HSExceptionType* exType, void ** exPtr );
+ cpp/hs_STEPCAFControl_Writer.cpp view
@@ -0,0 +1,48 @@+#include <STEPCAFControl_Writer.hxx>+#include <TDocStd_Document.hxx>+#include "hs_Exception.h"+#include "hs_STEPCAFControl_Writer.h"++STEPCAFControl_Writer * hs_new_STEPCAFControl_Writer(){+ return new STEPCAFControl_Writer();+}++void hs_delete_STEPCAFControl_Writer(STEPCAFControl_Writer * writer){+ delete writer;+}++void hs_STEPCAFControl_Writer_setColorMode(STEPCAFControl_Writer * writer, bool colorMode){+ writer->SetColorMode(colorMode);+}++void hs_STEPCAFControl_Writer_setNameMode(STEPCAFControl_Writer * writer, bool nameMode){+ writer->SetNameMode(nameMode);+}++bool hs_STEPCAFControl_Writer_transfer(+ STEPCAFControl_Writer * writer, Handle(TDocStd_Document) * document, STEPControl_StepModelType mode,+ HSExceptionType* exType, void ** exPtr+ ){+ return hs_handleExWithDefault(+ exType,+ exPtr,+ [writer, document, mode]{+ return writer->Transfer(*document, mode);+ },+ false+ );+}++IFSelect_ReturnStatus hs_STEPCAFControl_Writer_write(+ STEPCAFControl_Writer * writer, char * filename,+ HSExceptionType* exType, void ** exPtr+ ){+ return hs_handleExWithDefault(+ exType,+ exPtr,+ [writer, filename]{+ return writer->Write(filename);+ },+ IFSelect_RetError+ );+}
+ cpp/hs_STEPCAFControl_Writer.h view
@@ -0,0 +1,32 @@+#ifndef HS_STEPCAFCONTROL_WRITER_H+#define HS_STEPCAFCONTROL_WRITER_H++#include "hs_types.h"++#ifdef __cplusplus+extern "C" {+#endif++STEPCAFControl_Writer * hs_new_STEPCAFControl_Writer();++void hs_delete_STEPCAFControl_Writer(STEPCAFControl_Writer * writer);++void hs_STEPCAFControl_Writer_setColorMode(STEPCAFControl_Writer * writer, bool colorMode);++void hs_STEPCAFControl_Writer_setNameMode(STEPCAFControl_Writer * writer, bool nameMode);++bool hs_STEPCAFControl_Writer_transfer(+ STEPCAFControl_Writer * writer, Handle(TDocStd_Document) * document, STEPControl_StepModelType mode,+ HSExceptionType* exType, void ** exPtr+);++IFSelect_ReturnStatus hs_STEPCAFControl_Writer_write(+ STEPCAFControl_Writer * writer, char * filename,+ HSExceptionType* exType, void ** exPtr+);++#ifdef __cplusplus+}+#endif++#endif // HS_STEPCAFCONTROL_WRITER_H
+ cpp/hs_ShapeUpgrade_UnifySameDomain.cpp view
@@ -0,0 +1,38 @@+#include <ShapeUpgrade_UnifySameDomain.hxx>+#include <TopoDS_Shape.hxx>+#include "hs_Exception.h"+#include "hs_ShapeUpgrade_UnifySameDomain.h"++ShapeUpgrade_UnifySameDomain * hs_new_ShapeUpgrade_UnifySameDomain_fromShape(+ TopoDS_Shape * shape, bool unifyEdges, bool unifyFaces, bool concatBSplines,+ HSExceptionType* exType, void ** exPtr+){+ return hs_handleEx(exType, exPtr, [shape, unifyEdges, unifyFaces, concatBSplines]{+ return new ShapeUpgrade_UnifySameDomain(*shape, unifyEdges, unifyFaces, concatBSplines);+ });+}++void hs_delete_ShapeUpgrade_UnifySameDomain(ShapeUpgrade_UnifySameDomain * unify){+ delete unify;+}++void hs_ShapeUpgrade_UnifySameDomain_setSafeInputMode(ShapeUpgrade_UnifySameDomain * unify, bool value){+ unify->SetSafeInputMode(value);+}++void hs_ShapeUpgrade_UnifySameDomain_allowInternalEdges(ShapeUpgrade_UnifySameDomain * unify, bool value){+ unify->AllowInternalEdges(value);+}++void hs_ShapeUpgrade_UnifySameDomain_build(+ ShapeUpgrade_UnifySameDomain * unify,+ HSExceptionType* exType, void ** exPtr+){+ hs_handleExVoid(exType, exPtr, [unify]{+ unify->Build();+ });+}++TopoDS_Shape * hs_ShapeUpgrade_UnifySameDomain_shape(ShapeUpgrade_UnifySameDomain * unify){+ return new TopoDS_Shape(unify->Shape());+}
+ cpp/hs_ShapeUpgrade_UnifySameDomain.h view
@@ -0,0 +1,32 @@+#ifndef HS_SHAPEUPGRADE_UNIFYSAMEDOMAIN_H+#define HS_SHAPEUPGRADE_UNIFYSAMEDOMAIN_H++#include "hs_types.h"++#ifdef __cplusplus+extern "C" {+#endif++ShapeUpgrade_UnifySameDomain * hs_new_ShapeUpgrade_UnifySameDomain_fromShape(+ TopoDS_Shape * shape, bool unifyEdges, bool unifyFaces, bool concatBSplines,+ HSExceptionType* exType, void ** exPtr+);++void hs_delete_ShapeUpgrade_UnifySameDomain(ShapeUpgrade_UnifySameDomain * unify);++void hs_ShapeUpgrade_UnifySameDomain_setSafeInputMode(ShapeUpgrade_UnifySameDomain * unify, bool value);++void hs_ShapeUpgrade_UnifySameDomain_allowInternalEdges(ShapeUpgrade_UnifySameDomain * unify, bool value);++void hs_ShapeUpgrade_UnifySameDomain_build(+ ShapeUpgrade_UnifySameDomain * unify,+ HSExceptionType* exType, void ** exPtr+);++TopoDS_Shape * hs_ShapeUpgrade_UnifySameDomain_shape(ShapeUpgrade_UnifySameDomain * unify);++#ifdef __cplusplus+}+#endif++#endif // HS_SHAPEUPGRADE_UNIFYSAMEDOMAIN_H
cpp/hs_Standard_Failure.cpp view
@@ -1,14 +1,24 @@ #include <Standard_Failure.hxx>+#include <Standard_Version.hxx>+#include "hs_Exception.h" #include "hs_Standard_Failure.h" -void hs_delete_Standard_Failure(Standard_Failure *ex) {+void hs_delete_Standard_Failure(HS_STANDARD_FAILURE *ex) { delete ex; } -char * hs_Standard_Failure_GetMessageString(Standard_Failure *ex) {- return const_cast<char *>(ex->GetMessageString());+char * hs_Standard_Failure_GetTypeName(HS_STANDARD_FAILURE *ex) {+ return const_cast<char *>(ex->typeName.c_str()); } -char * hs_Standard_Failure_GetStackString(Standard_Failure *ex) {- return const_cast<char *>(ex->GetStackString());+char * hs_Standard_Failure_GetMessageString(HS_STANDARD_FAILURE *ex) {+#if OCC_VERSION_HEX >= 0x080000+ return const_cast<char *>(ex->failure.what());+#else+ return const_cast<char *>(ex->failure.GetMessageString());+#endif+}++char * hs_Standard_Failure_GetStackString(HS_STANDARD_FAILURE *ex) {+ return const_cast<char *>(ex->failure.GetStackString()); }
cpp/hs_Standard_Failure.h view
@@ -7,11 +7,13 @@ extern "C" { #endif -void hs_delete_Standard_Failure(Standard_Failure * ex);+void hs_delete_Standard_Failure(HS_STANDARD_FAILURE * ex); -char * hs_Standard_Failure_GetMessageString(Standard_Failure * ex);+char * hs_Standard_Failure_GetTypeName(HS_STANDARD_FAILURE * ex); -char * hs_Standard_Failure_GetStackString(Standard_Failure * ex);+char * hs_Standard_Failure_GetMessageString(HS_STANDARD_FAILURE * ex);++char * hs_Standard_Failure_GetStackString(HS_STANDARD_FAILURE * ex); #ifdef __cplusplus }
− cpp/hs_TColStd_IndexedDataMapOfStringString.cpp
@@ -1,10 +0,0 @@-#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
@@ -1,18 +0,0 @@-#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
@@ -4,3 +4,6 @@ void hs_delete_TDF_Label(TDF_Label * theLabel){ delete theLabel; }+bool hs_TDF_Label_isNull(TDF_Label * theLabel){+ return theLabel->IsNull();+}
cpp/hs_TDF_Label.h view
@@ -9,6 +9,8 @@ void hs_delete_TDF_Label(TDF_Label * theLabel); +bool hs_TDF_Label_isNull(TDF_Label * theLabel);+ #ifdef __cplusplus } #endif
+ cpp/hs_TopExp.cpp view
@@ -0,0 +1,14 @@+#include <TopExp.hxx>+#include <TopoDS_Shape.hxx>+#include "hs_Exception.h"+#include "hs_TopExp.h"++void hs_TopExp_mapShapesAndAncestors(+ TopoDS_Shape * shape, TopAbs_ShapeEnum subshapeType, TopAbs_ShapeEnum ancestorType,+ INDEXED_DATA_MAP(TopoDS_Shape, LIST(TopoDS_Shape), TopTools_ShapeMapHasher) * theMap,+ HSExceptionType* exType, void ** exPtr+ ){+ hs_handleExVoid(exType, exPtr, [shape, subshapeType, ancestorType, theMap]{+ TopExp::MapShapesAndAncestors(*shape, subshapeType, ancestorType, *theMap);+ });+}
+ cpp/hs_TopExp.h view
@@ -0,0 +1,20 @@+#ifndef HS_TOPEXP_H+#define HS_TOPEXP_H++#include "hs_types.h"++#ifdef __cplusplus+extern "C" {+#endif++void hs_TopExp_mapShapesAndAncestors(+ TopoDS_Shape * shape, TopAbs_ShapeEnum subshapeType, TopAbs_ShapeEnum ancestorType,+ INDEXED_DATA_MAP(TopoDS_Shape, LIST(TopoDS_Shape), TopTools_ShapeMapHasher) * theMap,+ HSExceptionType* exType, void ** exPtr+ );++#ifdef __cplusplus+}+#endif++#endif // HS_TOPEXP_H
+ cpp/hs_XCAFDoc_ColorTool.cpp view
@@ -0,0 +1,28 @@+#include <XCAFDoc_ColorTool.hxx>+#include <TDF_Label.hxx>+#include <Quantity_Color.hxx>+#include <TopoDS_Shape.hxx>+#include "hs_Exception.h"+#include "hs_XCAFDoc_ColorTool.h"++void hs_delete_XCAFDoc_ColorTool(Handle(XCAFDoc_ColorTool) * colorTool){+ delete colorTool;+}++void hs_XCAFDoc_ColorTool_setColor(+ Handle(XCAFDoc_ColorTool) * colorTool, TDF_Label * label, Quantity_Color * color, XCAFDoc_ColorType colorType,+ HSExceptionType* exType, void ** exPtr+ ){+ hs_handleExVoid(exType, exPtr, [colorTool, label, color, colorType]{+ (*colorTool)->SetColor(*label, *color, colorType);+ });+}++bool hs_XCAFDoc_ColorTool_setShapeColor(+ Handle(XCAFDoc_ColorTool) * colorTool, TopoDS_Shape * shape, Quantity_Color * color, XCAFDoc_ColorType colorType,+ HSExceptionType* exType, void ** exPtr+ ){+ return hs_handleExWithDefault(exType, exPtr, [colorTool, shape, color, colorType]{+ return (*colorTool)->SetColor(*shape, *color, colorType);+ }, false);+}
+ cpp/hs_XCAFDoc_ColorTool.h view
@@ -0,0 +1,26 @@+#ifndef HS_XCAFDOC_COLORTOOL_H+#define HS_XCAFDOC_COLORTOOL_H++#include "hs_types.h"++#ifdef __cplusplus+extern "C" {+#endif++void hs_delete_XCAFDoc_ColorTool(Handle(XCAFDoc_ColorTool) * colorTool);++void hs_XCAFDoc_ColorTool_setColor(+ Handle(XCAFDoc_ColorTool) * colorTool, TDF_Label * label, Quantity_Color * color, XCAFDoc_ColorType colorType,+ HSExceptionType* exType, void ** exPtr+);++bool hs_XCAFDoc_ColorTool_setShapeColor(+ Handle(XCAFDoc_ColorTool) * colorTool, TopoDS_Shape * shape, Quantity_Color * color, XCAFDoc_ColorType colorType,+ HSExceptionType* exType, void ** exPtr+);++#ifdef __cplusplus+}+#endif++#endif // HS_XCAFDOC_COLORTOOL_H
cpp/hs_XCAFDoc_DocumentTool.cpp view
@@ -1,4 +1,6 @@ #include <XCAFDoc_DocumentTool.hxx>+#include <XCAFDoc_ColorTool.hxx>+#include <XCAFDoc_VisMaterialTool.hxx> #include "hs_Exception.h" #include "hs_XCAFDoc_DocumentTool.h" @@ -8,5 +10,22 @@ ){ return hs_handleEx(exType, exPtr, [label]{ return new opencascade::handle<XCAFDoc_ShapeTool>(XCAFDoc_DocumentTool::ShapeTool(*label));+ });+}+Handle (XCAFDoc_ColorTool) * hs_XCAFDoc_DocumentTool_colorTool(+ TDF_Label * label,+ HSExceptionType* exType, void ** exPtr+){+ return hs_handleEx(exType, exPtr, [label]{+ return new opencascade::handle<XCAFDoc_ColorTool>(XCAFDoc_DocumentTool::ColorTool(*label));+ });+}++Handle (XCAFDoc_VisMaterialTool) * hs_XCAFDoc_DocumentTool_visMaterialTool(+ TDF_Label * label,+ HSExceptionType* exType, void ** exPtr+){+ return hs_handleEx(exType, exPtr, [label]{+ return new opencascade::handle<XCAFDoc_VisMaterialTool>(XCAFDoc_DocumentTool::VisMaterialTool(*label)); }); }
cpp/hs_XCAFDoc_DocumentTool.h view
@@ -12,6 +12,16 @@ HSExceptionType* exType, void ** exPtr ); +Handle (XCAFDoc_ColorTool) * hs_XCAFDoc_DocumentTool_colorTool(+ TDF_Label * label,+ HSExceptionType* exType, void ** exPtr+);++Handle (XCAFDoc_VisMaterialTool) * hs_XCAFDoc_DocumentTool_visMaterialTool(+ TDF_Label * label,+ HSExceptionType* exType, void ** exPtr+);+ #ifdef __cplusplus } #endif
cpp/hs_XCAFDoc_ShapeTool.cpp view
@@ -1,4 +1,6 @@ #include <XCAFDoc_ShapeTool.hxx>+#include <TDF_Label.hxx>+#include <TopoDS_Shape.hxx> #include "hs_Exception.h" #include "hs_XCAFDoc_ShapeTool.h" @@ -12,5 +14,22 @@ ){ return hs_handleEx(exType, exPtr, [shapeTool, theShape, makeAssembly, makePrepare]{ return new TDF_Label(shapeTool->get()->AddShape(*theShape, makeAssembly, makePrepare));+ });+}+TDF_Label * hs_XCAFDoc_ShapeTool_addSubShape(+ Handle(XCAFDoc_ShapeTool) *shapeTool, TDF_Label *shapeLabel, TopoDS_Shape *subShape,+ HSExceptionType* exType, void ** exPtr+){+ return hs_handleEx(exType, exPtr, [shapeTool, shapeLabel, subShape]{+ return new TDF_Label(shapeTool->get()->AddSubShape(*shapeLabel, *subShape));+ });+}++TDF_Label * hs_XCAFDoc_ShapeTool_findShape(+ Handle(XCAFDoc_ShapeTool) *shapeTool, TopoDS_Shape *theShape, bool findInstance,+ HSExceptionType* exType, void ** exPtr+){+ return hs_handleEx(exType, exPtr, [shapeTool, theShape, findInstance]{+ return new TDF_Label(shapeTool->get()->FindShape(*theShape, findInstance)); }); }
cpp/hs_XCAFDoc_ShapeTool.h view
@@ -14,6 +14,16 @@ HSExceptionType* exType, void ** exPtr ); +TDF_Label * hs_XCAFDoc_ShapeTool_addSubShape(+ Handle(XCAFDoc_ShapeTool) *shapeTool, TDF_Label *shapeLabel, TopoDS_Shape *subShape,+ HSExceptionType* exType, void ** exPtr+);++TDF_Label * hs_XCAFDoc_ShapeTool_findShape(+ Handle(XCAFDoc_ShapeTool) *shapeTool, TopoDS_Shape *theShape, bool findInstance,+ HSExceptionType* exType, void ** exPtr+);+ #ifdef __cplusplus } #endif
+ cpp/hs_XCAFDoc_VisMaterial.cpp view
@@ -0,0 +1,49 @@+#include <XCAFDoc_VisMaterial.hxx>+#include <XCAFDoc_VisMaterialPBR.hxx>+#include <TCollection_HAsciiString.hxx>+#include "hs_Exception.h"+#include "hs_XCAFDoc_VisMaterial.h"++Handle(XCAFDoc_VisMaterial) * hs_new_XCAFDoc_VisMaterial(){+ return new opencascade::handle<XCAFDoc_VisMaterial>(new XCAFDoc_VisMaterial());+}++void hs_delete_XCAFDoc_VisMaterial(Handle(XCAFDoc_VisMaterial) * material){+ delete material;+}++void hs_XCAFDoc_VisMaterial_setPbrMaterial(+ Handle(XCAFDoc_VisMaterial) * material, XCAFDoc_VisMaterialPBR * pbr,+ HSExceptionType* exType, void ** exPtr+){+ hs_handleExVoid(exType, exPtr, [material, pbr]{+ (*material)->SetPbrMaterial(*pbr);+ });+}++void hs_XCAFDoc_VisMaterial_setAlphaMode(+ Handle(XCAFDoc_VisMaterial) * material, Graphic3d_AlphaMode mode, double cutOff,+ HSExceptionType* exType, void ** exPtr+){+ hs_handleExVoid(exType, exPtr, [material, mode, cutOff]{+ (*material)->SetAlphaMode(mode, (float) cutOff);+ });+}++void hs_XCAFDoc_VisMaterial_setFaceCulling(+ Handle(XCAFDoc_VisMaterial) * material, Graphic3d_TypeOfBackfacingModel faceCulling,+ HSExceptionType* exType, void ** exPtr+){+ hs_handleExVoid(exType, exPtr, [material, faceCulling]{+ (*material)->SetFaceCulling(faceCulling);+ });+}++void hs_XCAFDoc_VisMaterial_setRawName(+ Handle(XCAFDoc_VisMaterial) * material, char * name,+ HSExceptionType* exType, void ** exPtr+){+ hs_handleExVoid(exType, exPtr, [material, name]{+ (*material)->SetRawName(new TCollection_HAsciiString(name));+ });+}
+ cpp/hs_XCAFDoc_VisMaterial.h view
@@ -0,0 +1,38 @@+#ifndef HS_XCAFDOC_VISMATERIAL_H+#define HS_XCAFDOC_VISMATERIAL_H++#include "hs_types.h"++#ifdef __cplusplus+extern "C" {+#endif++Handle(XCAFDoc_VisMaterial) * hs_new_XCAFDoc_VisMaterial();++void hs_delete_XCAFDoc_VisMaterial(Handle(XCAFDoc_VisMaterial) * material);++void hs_XCAFDoc_VisMaterial_setPbrMaterial(+ Handle(XCAFDoc_VisMaterial) * material, XCAFDoc_VisMaterialPBR * pbr,+ HSExceptionType* exType, void ** exPtr+);++void hs_XCAFDoc_VisMaterial_setAlphaMode(+ Handle(XCAFDoc_VisMaterial) * material, Graphic3d_AlphaMode mode, double cutOff,+ HSExceptionType* exType, void ** exPtr+);++void hs_XCAFDoc_VisMaterial_setFaceCulling(+ Handle(XCAFDoc_VisMaterial) * material, Graphic3d_TypeOfBackfacingModel faceCulling,+ HSExceptionType* exType, void ** exPtr+);++void hs_XCAFDoc_VisMaterial_setRawName(+ Handle(XCAFDoc_VisMaterial) * material, char * name,+ HSExceptionType* exType, void ** exPtr+);++#ifdef __cplusplus+}+#endif++#endif // HS_XCAFDOC_VISMATERIAL_H
+ cpp/hs_XCAFDoc_VisMaterialPBR.cpp view
@@ -0,0 +1,32 @@+#include <XCAFDoc_VisMaterialPBR.hxx>+#include <Quantity_ColorRGBA.hxx>+#include <NCollection_Vec3.hxx>+#include "hs_XCAFDoc_VisMaterialPBR.h"++XCAFDoc_VisMaterialPBR * hs_new_XCAFDoc_VisMaterialPBR(){+ return new XCAFDoc_VisMaterialPBR();+}++void hs_delete_XCAFDoc_VisMaterialPBR(XCAFDoc_VisMaterialPBR * pbr){+ delete pbr;+}++void hs_XCAFDoc_VisMaterialPBR_setBaseColor(XCAFDoc_VisMaterialPBR * pbr, Quantity_ColorRGBA * color){+ pbr->BaseColor = *color;+}++void hs_XCAFDoc_VisMaterialPBR_setMetallic(XCAFDoc_VisMaterialPBR * pbr, double metallic){+ pbr->Metallic = (float) metallic;+}++void hs_XCAFDoc_VisMaterialPBR_setRoughness(XCAFDoc_VisMaterialPBR * pbr, double roughness){+ pbr->Roughness = (float) roughness;+}++void hs_XCAFDoc_VisMaterialPBR_setEmissiveFactor(XCAFDoc_VisMaterialPBR * pbr, VEC3(float) * factor){+ pbr->EmissiveFactor = *factor;+}++void hs_XCAFDoc_VisMaterialPBR_setRefractionIndex(XCAFDoc_VisMaterialPBR * pbr, double refractionIndex){+ pbr->RefractionIndex = (float) refractionIndex;+}
+ cpp/hs_XCAFDoc_VisMaterialPBR.h view
@@ -0,0 +1,28 @@+#ifndef HS_XCAFDOC_VISMATERIALPBR_H+#define HS_XCAFDOC_VISMATERIALPBR_H++#include "hs_types.h"++#ifdef __cplusplus+extern "C" {+#endif++XCAFDoc_VisMaterialPBR * hs_new_XCAFDoc_VisMaterialPBR();++void hs_delete_XCAFDoc_VisMaterialPBR(XCAFDoc_VisMaterialPBR * pbr);++void hs_XCAFDoc_VisMaterialPBR_setBaseColor(XCAFDoc_VisMaterialPBR * pbr, Quantity_ColorRGBA * color);++void hs_XCAFDoc_VisMaterialPBR_setMetallic(XCAFDoc_VisMaterialPBR * pbr, double metallic);++void hs_XCAFDoc_VisMaterialPBR_setRoughness(XCAFDoc_VisMaterialPBR * pbr, double roughness);++void hs_XCAFDoc_VisMaterialPBR_setEmissiveFactor(XCAFDoc_VisMaterialPBR * pbr, VEC3(float) * factor);++void hs_XCAFDoc_VisMaterialPBR_setRefractionIndex(XCAFDoc_VisMaterialPBR * pbr, double refractionIndex);++#ifdef __cplusplus+}+#endif++#endif // HS_XCAFDOC_VISMATERIALPBR_H
+ cpp/hs_XCAFDoc_VisMaterialTool.cpp view
@@ -0,0 +1,38 @@+#include <XCAFDoc_VisMaterialTool.hxx>+#include <XCAFDoc_VisMaterial.hxx>+#include <TDF_Label.hxx>+#include <TopoDS_Shape.hxx>+#include <TCollection_AsciiString.hxx>+#include "hs_Exception.h"+#include "hs_XCAFDoc_VisMaterialTool.h"++void hs_delete_XCAFDoc_VisMaterialTool(Handle(XCAFDoc_VisMaterialTool) * materialTool){+ delete materialTool;+}++TDF_Label * hs_XCAFDoc_VisMaterialTool_addMaterial(+ Handle(XCAFDoc_VisMaterialTool) * materialTool, Handle(XCAFDoc_VisMaterial) * material, char * name,+ HSExceptionType* exType, void ** exPtr+){+ return hs_handleEx(exType, exPtr, [materialTool, material, name]{+ return new TDF_Label((*materialTool)->AddMaterial(*material, TCollection_AsciiString(name)));+ });+}++void hs_XCAFDoc_VisMaterialTool_setShapeMaterial(+ Handle(XCAFDoc_VisMaterialTool) * materialTool, TDF_Label * shapeLabel, TDF_Label * materialLabel,+ HSExceptionType* exType, void ** exPtr+){+ hs_handleExVoid(exType, exPtr, [materialTool, shapeLabel, materialLabel]{+ (*materialTool)->SetShapeMaterial(*shapeLabel, *materialLabel);+ });+}++bool hs_XCAFDoc_VisMaterialTool_setShapeMaterialFromShape(+ Handle(XCAFDoc_VisMaterialTool) * materialTool, TopoDS_Shape * shape, TDF_Label * materialLabel,+ HSExceptionType* exType, void ** exPtr+){+ return hs_handleExWithDefault(exType, exPtr, [materialTool, shape, materialLabel]{+ return (*materialTool)->SetShapeMaterial(*shape, *materialLabel);+ }, false);+}
+ cpp/hs_XCAFDoc_VisMaterialTool.h view
@@ -0,0 +1,31 @@+#ifndef HS_XCAFDOC_VISMATERIALTOOL_H+#define HS_XCAFDOC_VISMATERIALTOOL_H++#include "hs_types.h"++#ifdef __cplusplus+extern "C" {+#endif++void hs_delete_XCAFDoc_VisMaterialTool(Handle(XCAFDoc_VisMaterialTool) * materialTool);++TDF_Label * hs_XCAFDoc_VisMaterialTool_addMaterial(+ Handle(XCAFDoc_VisMaterialTool) * materialTool, Handle(XCAFDoc_VisMaterial) * material, char * name,+ HSExceptionType* exType, void ** exPtr+);++void hs_XCAFDoc_VisMaterialTool_setShapeMaterial(+ Handle(XCAFDoc_VisMaterialTool) * materialTool, TDF_Label * shapeLabel, TDF_Label * materialLabel,+ HSExceptionType* exType, void ** exPtr+);++bool hs_XCAFDoc_VisMaterialTool_setShapeMaterialFromShape(+ Handle(XCAFDoc_VisMaterialTool) * materialTool, TopoDS_Shape * shape, TDF_Label * materialLabel,+ HSExceptionType* exType, void ** exPtr+);++#ifdef __cplusplus+}+#endif++#endif // HS_XCAFDOC_VISMATERIALTOOL_H
+ cpp/hs_gp_Lin.cpp view
@@ -0,0 +1,18 @@+#include <gp_Lin.hxx>+#include "hs_gp_Lin.h"++gp_Lin * hs_new_gp_Lin(gp_Pnt * origin, gp_Dir * direction){+ return new gp_Lin(*origin, *direction);+}++void hs_delete_gp_Lin(gp_Lin* lin){+ delete lin;+}++gp_Pnt * hs_gp_Lin_Location(gp_Lin* lin){+ return new gp_Pnt(lin->Location());+}++gp_Dir * hs_gp_Lin_Direction(gp_Lin* lin){+ return new gp_Dir(lin->Direction());+}
+ cpp/hs_gp_Lin.h view
@@ -0,0 +1,22 @@+#ifndef HS_GP_LIN_H+#define HS_GP_LIN_H++#include "hs_types.h"++#ifdef __cplusplus+extern "C" {+#endif++gp_Lin * hs_new_gp_Lin(gp_Pnt * origin, gp_Dir * direction);++void hs_delete_gp_Lin(gp_Lin* lin);++gp_Pnt * hs_gp_Lin_Location(gp_Lin* lin);++gp_Dir * hs_gp_Lin_Direction(gp_Lin* lin);++#ifdef __cplusplus+}+#endif++#endif // HS_GP_LIN_H
cpp/hs_types.h view
@@ -28,10 +28,12 @@ typedef void gp_Vec2d; typedef void gp_Trsf; typedef void gp_GTrsf;+typedef void gp_Lin; typedef void gp_Trsf2d; typedef void gp_XYZ; typedef void BRep_Builder; typedef void BRepBuilderAPI_Transform;+typedef void BRepBuilderAPI_GTransform; typedef void BRepBuilderAPI_MakeVertex; typedef void BRepBuilderAPI_MakeWire; typedef void BRepBuilderAPI_MakeFace;@@ -48,7 +50,6 @@ typedef void BRepPrimAPI_MakeCylinder; typedef void BRepPrimAPI_MakeRevol; typedef void BRepOffsetAPI_MakePipe;-typedef void TopTools_ListOfShape; typedef void BRepTools_WireExplorer; typedef void BRepOffsetAPI_MakeThickSolid; typedef void Geom2d_Ellipse;@@ -82,11 +83,22 @@ typedef void RWObj_CafWriter; typedef void RWObj_CafReader; typedef void RWMesh_CafReader;-typedef void TColStd_IndexedDataMapOfStringString; typedef void TDF_Label; typedef void TDocStd_Document; typedef void XCAFDoc_ShapeTool;+typedef void XCAFDoc_ColorTool;+typedef int XCAFDoc_ColorType;+typedef void XCAFDoc_VisMaterialTool;+typedef void XCAFDoc_VisMaterial;+typedef void XCAFDoc_VisMaterialPBR;+typedef int Graphic3d_AlphaMode;+typedef int Graphic3d_TypeOfBackfacingModel;+typedef void Quantity_Color;+typedef void Quantity_ColorRGBA;+typedef int Quantity_TypeOfColor;+typedef void STEPCAFControl_Writer; typedef void ShapeFix_Solid;+typedef void ShapeUpgrade_UnifySameDomain; typedef void ShapeExtend_WireData; typedef int ShapeExtend_Status; typedef void Poly_Triangulation;@@ -102,11 +114,16 @@ typedef void HLRBRep_Algo; typedef void HLRBRep_HLRToShape; typedef int HLRBRep_TypeOfResultingEdge;+typedef void BRepAlgoAPI_Fuse;+typedef void BRepAlgoAPI_Cut;+typedef void BRepAlgoAPI_Common; typedef void BOPAlgo_Builder; typedef void BOPAlgo_BOP; typedef int BOPAlgo_Operation;+typedef void IntCurvesFace_ShapeIntersector; typedef void GCPnts_AbscissaPoint; typedef void Standard_Failure;+typedef void HS_STANDARD_FAILURE; typedef void STD_EXCEPTION; typedef void STD_RUNTIME_ERROR; @@ -114,11 +131,22 @@ #define Handle(X) void #define ARRAY_1(X) void+#define LIST(X) void+#define LIST_ITERATOR(X) void+#define VEC3(X) void+#define INDEXED_DATA_MAP(K, V, Hasher) void #else // __cplusplus #include <exception> #include <stdexcept> #define ARRAY_1(X) NCollection_Array1<X>+#define LIST(X) NCollection_List<X>+#define LIST_ITERATOR(X) NCollection_List<X>::Iterator+#define VEC3(X) NCollection_Vec3<X>+#define INDEXED_DATA_MAP(K, V, Hasher) NCollection_IndexedDataMap<K, V, Hasher>+#define DEFAULT_HASHER(K) NCollection_DefaultHasher<K>+struct HSStandardFailure;+typedef HSStandardFailure HS_STANDARD_FAILURE; typedef std::exception STD_EXCEPTION; typedef std::runtime_error STD_RUNTIME_ERROR; #endif // __cplusplus
opencascade-hs.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: opencascade-hs-version: 0.6.3.2+version: 0.7.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@@ -25,6 +25,7 @@ cpp/hs_Bnd_OBB.h cpp/hs_BOPAlgo_BOP.h cpp/hs_BOPAlgo_Builder.h+ cpp/hs_BOPAlgo_Tools.h cpp/hs_BRep_Tool.h cpp/hs_BRepAdaptor_Curve.h cpp/hs_BRepAlgoAPI_Common.h@@ -79,6 +80,7 @@ cpp/hs_gp_Dir.h cpp/hs_gp_Dir2d.h cpp/hs_gp_GTrsf.h+ cpp/hs_gp_Lin.h cpp/hs_gp_Pnt.h cpp/hs_gp_Pnt2d.h cpp/hs_gp_Trsf.h@@ -90,10 +92,16 @@ cpp/hs_HLRAlgo_Projector.h cpp/hs_HLRBRep_Algo.h cpp/hs_HLRBRep_HLRToShape.h+ cpp/hs_IntCurvesFace_ShapeIntersector.h cpp/hs_Message_ProgressRange.h cpp/hs_NCollection_Array1.h+ cpp/hs_NCollection_IndexedDataMap.h+ cpp/hs_NCollection_List.h+ cpp/hs_NCollection_Vec3.h cpp/hs_Poly_Triangle.h cpp/hs_Poly_Triangulation.h+ cpp/hs_Quantity_Color.h+ cpp/hs_Quantity_ColorRGBA.h cpp/hs_RWGltf_CafReader.h cpp/hs_RWGltf_CafWriter.h cpp/hs_RWMesh_CafReader.h@@ -102,14 +110,16 @@ cpp/hs_ShapeConstruct_Curve.h cpp/hs_ShapeExtend_WireData.h cpp/hs_ShapeFix_Solid.h+ cpp/hs_ShapeUpgrade_UnifySameDomain.h cpp/hs_Standard_Failure.h+ cpp/hs_STEPCAFControl_Writer.h cpp/hs_STEPControl_Reader.h cpp/hs_STEPControl_Writer.h cpp/hs_StlAPI_Reader.h cpp/hs_StlAPI_Writer.h- cpp/hs_TColStd_IndexedDataMapOfStringString.h cpp/hs_TDF_Label.h cpp/hs_TDocStd_Document.h+ cpp/hs_TopExp.h cpp/hs_TopExp_Explorer.h cpp/hs_TopLoc_Location.h cpp/hs_TopoDS_Builder.h@@ -124,8 +134,12 @@ cpp/hs_TopoDS_Wire.h cpp/hs_TopTools_ShapeMapHasher.h cpp/hs_types.h+ cpp/hs_XCAFDoc_ColorTool.h cpp/hs_XCAFDoc_DocumentTool.h cpp/hs_XCAFDoc_ShapeTool.h+ cpp/hs_XCAFDoc_VisMaterial.h+ cpp/hs_XCAFDoc_VisMaterialPBR.h+ cpp/hs_XCAFDoc_VisMaterialTool.h cpp/hs_XSControl_Reader.h source-repository head@@ -142,15 +156,19 @@ OpenCascade.BOPAlgo.Builder OpenCascade.BOPAlgo.Internal.Destructors OpenCascade.BOPAlgo.Operation+ OpenCascade.BOPAlgo.Tools OpenCascade.BOPAlgo.Types OpenCascade.BRep.Tool OpenCascade.BRepAdaptor OpenCascade.BRepAdaptor.Curve OpenCascade.BRepAdaptor.Internal.Destructors OpenCascade.BRepAdaptor.Types+ OpenCascade.BRepAlgoAPI OpenCascade.BRepAlgoAPI.Common OpenCascade.BRepAlgoAPI.Cut OpenCascade.BRepAlgoAPI.Fuse+ OpenCascade.BRepAlgoAPI.Internal.Destructors+ OpenCascade.BRepAlgoAPI.Types OpenCascade.BRepBndLib OpenCascade.BRepBuilderAPI OpenCascade.BRepBuilderAPI.Copy@@ -237,6 +255,7 @@ OpenCascade.GP.Dir2d OpenCascade.GP.GTrsf OpenCascade.GP.Internal.Destructors+ OpenCascade.GP.Lin OpenCascade.GP.Pnt OpenCascade.GP.Pnt2d OpenCascade.GP.Trsf@@ -248,9 +267,12 @@ OpenCascade.GProp.GProps OpenCascade.GProp.Internal.Destructors OpenCascade.GProp.Types+ OpenCascade.Graphic3D.AlphaMode OpenCascade.Graphic3D.HorizontalTextAlignment+ OpenCascade.Graphic3D.TypeOfBackfacingModel OpenCascade.Graphic3D.VerticalTextAlignment OpenCascade.Handle+ OpenCascade.HLRAlgo OpenCascade.HLRAlgo.Internal.Destructors OpenCascade.HLRAlgo.Projector OpenCascade.HLRAlgo.Types@@ -261,6 +283,9 @@ OpenCascade.HLRBRep.Types OpenCascade.IFSelect.ReturnStatus OpenCascade.Inheritance+ OpenCascade.IntCurvesFace.Internal.Destructors+ OpenCascade.IntCurvesFace.ShapeIntersector+ OpenCascade.IntCurvesFace.Types OpenCascade.Internal.Bool OpenCascade.Internal.Exception OpenCascade.Message.Internal.Destructors@@ -268,12 +293,22 @@ OpenCascade.Message.Types OpenCascade.NCollection OpenCascade.NCollection.Array1+ OpenCascade.NCollection.IndexedDataMap OpenCascade.NCollection.Internal.Destructors+ OpenCascade.NCollection.List+ OpenCascade.NCollection.List.Iterator OpenCascade.NCollection.Types+ OpenCascade.NCollection.Vec3 OpenCascade.Poly.Internal.Destructors OpenCascade.Poly.Triangle OpenCascade.Poly.Triangulation OpenCascade.Poly.Types+ OpenCascade.Quantity+ OpenCascade.Quantity.Color+ OpenCascade.Quantity.ColorRGBA+ OpenCascade.Quantity.Internal.Destructors+ OpenCascade.Quantity.TypeOfColor+ OpenCascade.Quantity.Types OpenCascade.RWGltf.CafReader OpenCascade.RWGltf.CafWriter OpenCascade.RWGltf.Internal.Destructors@@ -294,6 +329,9 @@ OpenCascade.ShapeFix.Internal.Destructors OpenCascade.ShapeFix.Solid OpenCascade.ShapeFix.Types+ OpenCascade.ShapeUpgrade.Internal.Destructors+ OpenCascade.ShapeUpgrade.Types+ OpenCascade.ShapeUpgrade.UnifySameDomain OpenCascade.Standard.Failure OpenCascade.Standard.Internal.Destructors OpenCascade.Standard.Types@@ -301,6 +339,9 @@ OpenCascade.Std.Internal.Destructors OpenCascade.Std.RuntimeError OpenCascade.Std.Types+ OpenCascade.STEPCAFControl.Internal.Destructors+ OpenCascade.STEPCAFControl.Types+ OpenCascade.STEPCAFControl.Writer OpenCascade.STEPControl OpenCascade.STEPControl.Internal.Destructors OpenCascade.STEPControl.Reader@@ -312,10 +353,10 @@ OpenCascade.StlAPI.Reader OpenCascade.StlAPI.Types OpenCascade.StlAPI.Writer- OpenCascade.TColStd.IndexedDataMapOfStringString- OpenCascade.TColStd.Internal.Destructors- OpenCascade.TColStd.Types+ OpenCascade.TCollection+ OpenCascade.TCollection.Types OpenCascade.TDF.Internal.Destructors+ OpenCascade.TDF.Label OpenCascade.TDF.Types OpenCascade.TDocStd.Document OpenCascade.TDocStd.Internal.Destructors@@ -344,13 +385,16 @@ OpenCascade.TopoDS.Types OpenCascade.TopoDS.Vertex OpenCascade.TopoDS.Wire- OpenCascade.TopTools OpenCascade.TopTools.ShapeMapHasher- OpenCascade.TopTools.Types+ OpenCascade.XCAFDoc.ColorTool+ OpenCascade.XCAFDoc.ColorType OpenCascade.XCAFDoc.DocumentTool OpenCascade.XCAFDoc.Internal.Destructors OpenCascade.XCAFDoc.ShapeTool OpenCascade.XCAFDoc.Types+ OpenCascade.XCAFDoc.VisMaterial+ OpenCascade.XCAFDoc.VisMaterialPBR+ OpenCascade.XCAFDoc.VisMaterialTool OpenCascade.XSControl.Reader OpenCascade.XSControl.Types other-modules:@@ -381,6 +425,7 @@ cpp/hs_Bnd_OBB.cpp cpp/hs_BOPAlgo_BOP.cpp cpp/hs_BOPAlgo_Builder.cpp+ cpp/hs_BOPAlgo_Tools.cpp cpp/hs_BRep_Tool.cpp cpp/hs_BRepAdaptor_Curve.cpp cpp/hs_BRepAlgoAPI_Common.cpp@@ -435,6 +480,7 @@ cpp/hs_gp_Dir.cpp cpp/hs_gp_Dir2d.cpp cpp/hs_gp_GTrsf.cpp+ cpp/hs_gp_Lin.cpp cpp/hs_gp_Pnt.cpp cpp/hs_gp_Pnt2d.cpp cpp/hs_gp_Trsf.cpp@@ -446,10 +492,16 @@ cpp/hs_HLRAlgo_Projector.cpp cpp/hs_HLRBRep_Algo.cpp cpp/hs_HLRBRep_HLRToShape.cpp+ cpp/hs_IntCurvesFace_ShapeIntersector.cpp cpp/hs_Message_ProgressRange.cpp cpp/hs_NCollection_Array1.cpp+ cpp/hs_NCollection_IndexedDataMap.cpp+ cpp/hs_NCollection_List.cpp+ cpp/hs_NCollection_Vec3.cpp cpp/hs_Poly_Triangle.cpp cpp/hs_Poly_Triangulation.cpp+ cpp/hs_Quantity_Color.cpp+ cpp/hs_Quantity_ColorRGBA.cpp cpp/hs_RWGltf_CafReader.cpp cpp/hs_RWGltf_CafWriter.cpp cpp/hs_RWMesh_CafReader.cpp@@ -458,14 +510,16 @@ cpp/hs_ShapeConstruct_Curve.cpp cpp/hs_ShapeExtend_WireData.cpp cpp/hs_ShapeFix_Solid.cpp+ cpp/hs_ShapeUpgrade_UnifySameDomain.cpp cpp/hs_Standard_Failure.cpp+ cpp/hs_STEPCAFControl_Writer.cpp cpp/hs_STEPControl_Reader.cpp cpp/hs_STEPControl_Writer.cpp cpp/hs_StlAPI_Reader.cpp cpp/hs_StlAPI_Writer.cpp- cpp/hs_TColStd_IndexedDataMapOfStringString.cpp cpp/hs_TDF_Label.cpp cpp/hs_TDocStd_Document.cpp+ cpp/hs_TopExp.cpp cpp/hs_TopExp_Explorer.cpp cpp/hs_TopLoc_Location.cpp cpp/hs_TopoDS_Builder.cpp@@ -479,8 +533,12 @@ cpp/hs_TopoDS_Vertex.cpp cpp/hs_TopoDS_Wire.cpp cpp/hs_TopTools_ShapeMapHasher.cpp+ cpp/hs_XCAFDoc_ColorTool.cpp cpp/hs_XCAFDoc_DocumentTool.cpp cpp/hs_XCAFDoc_ShapeTool.cpp+ cpp/hs_XCAFDoc_VisMaterial.cpp+ cpp/hs_XCAFDoc_VisMaterialPBR.cpp+ cpp/hs_XCAFDoc_VisMaterialTool.cpp cpp/hs_XSControl_Reader.cpp extra-libraries: stdc++
src/OpenCascade/BOPAlgo/Builder.hs view
@@ -4,8 +4,12 @@ , new , addArgument , setRunParallel+, setFuzzyValue , shape , perform+, modified+, generated+, isDeleted ) where import OpenCascade.BOPAlgo.Types@@ -13,10 +17,13 @@ import qualified OpenCascade.TopoDS.Types as TopoDS import OpenCascade.TopoDS.Internal.Destructors (deleteShape) import OpenCascade.Internal.Exception (wrapException)+import qualified OpenCascade.NCollection.Types as NCollection+import OpenCascade.NCollection.Internal.Destructors (deleteListOfShape) import Foreign.Ptr (Ptr)-import Foreign.C (CBool (..), CInt)+import Foreign.C (CBool (..), CInt, CDouble (..))+import Data.Coerce (coerce) import Data.Acquire (Acquire, mkAcquire)-import OpenCascade.Internal.Bool (boolToCBool)+import OpenCascade.Internal.Bool (boolToCBool, cBoolToBool) foreign import capi unsafe "hs_BOPAlgo_Builder.h hs_new_BOPAlgo_Builder" rawNew :: IO (Ptr Builder) @@ -57,3 +64,38 @@ perform :: Ptr Builder -> IO () perform builder = wrapException $ rawPerform builder +foreign import capi unsafe "hs_BOPAlgo_Builder.h hs_BOPAlgo_Builder_Modified" rawModified+ :: Ptr Builder+ -> Ptr TopoDS.Shape+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO (Ptr (NCollection.List TopoDS.Shape))++modified :: Ptr Builder -> Ptr TopoDS.Shape -> Acquire (Ptr (NCollection.List TopoDS.Shape))+modified builder shape' = mkAcquire (wrapException $ rawModified builder shape') deleteListOfShape++foreign import capi unsafe "hs_BOPAlgo_Builder.h hs_BOPAlgo_Builder_Generated" rawGenerated+ :: Ptr Builder+ -> Ptr TopoDS.Shape+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO (Ptr (NCollection.List TopoDS.Shape))++generated :: Ptr Builder -> Ptr TopoDS.Shape -> Acquire (Ptr (NCollection.List TopoDS.Shape))+generated builder shape' = mkAcquire (wrapException $ rawGenerated builder shape') deleteListOfShape++foreign import capi unsafe "hs_BOPAlgo_Builder.h hs_BOPAlgo_Builder_IsDeleted" rawIsDeleted+ :: Ptr Builder+ -> Ptr TopoDS.Shape+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO CBool++isDeleted :: Ptr Builder -> Ptr TopoDS.Shape -> IO Bool+isDeleted builder shape' = cBoolToBool <$> wrapException (rawIsDeleted builder shape')+++foreign import capi unsafe "hs_BOPAlgo_Builder.h hs_BOPAlgo_Builder_SetFuzzyValue" rawSetFuzzyValue :: Ptr Builder -> CDouble -> IO ()++setFuzzyValue :: Ptr Builder -> Double -> IO ()+setFuzzyValue builder = rawSetFuzzyValue builder . coerce
+ src/OpenCascade/BOPAlgo/Tools.hs view
@@ -0,0 +1,37 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.BOPAlgo.Tools+( edgesToWires+, wiresToFaces+) where++import qualified OpenCascade.TopoDS.Types as TopoDS+import OpenCascade.Internal.Exception (wrapException)+import OpenCascade.Internal.Bool (boolToCBool, cBoolToBool)+import Foreign.Ptr (Ptr)+import Foreign.C (CInt (..), CBool (..), CDouble (..))+import Data.Coerce (coerce)++foreign import capi unsafe "hs_BOPAlgo_Tools.h hs_BOPAlgo_Tools_EdgesToWires" rawEdgesToWires+ :: Ptr TopoDS.Shape+ -> Ptr TopoDS.Shape+ -> CBool+ -> CDouble+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO CInt++edgesToWires :: Ptr TopoDS.Shape -> Ptr TopoDS.Shape -> Bool -> Double -> IO Int+edgesToWires edges wires shared angTol =+ fmap fromIntegral . wrapException $ rawEdgesToWires edges wires (boolToCBool shared) (coerce angTol) ++foreign import capi unsafe "hs_BOPAlgo_Tools.h hs_BOPAlgo_Tools_WiresToFaces" rawWiresToFaces+ :: Ptr TopoDS.Shape+ -> Ptr TopoDS.Shape+ -> CDouble+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO CBool++wiresToFaces :: Ptr TopoDS.Shape -> Ptr TopoDS.Shape -> Double -> IO Bool+wiresToFaces wires faces angTol =+ fmap cBoolToBool . wrapException $ rawWiresToFaces wires faces (coerce angTol)
+ src/OpenCascade/BRepAlgoAPI.hs view
@@ -0,0 +1,5 @@+module OpenCascade.BRepAlgoAPI+( module OpenCascade.BRepAlgoAPI.Types+) where++import OpenCascade.BRepAlgoAPI.Types
src/OpenCascade/BRepAlgoAPI/Common.hs view
@@ -1,22 +1,23 @@ {-# LANGUAGE CApiFFI #-} module OpenCascade.BRepAlgoAPI.Common-( common+( Common+, fromShapes ) where +import OpenCascade.BRepAlgoAPI.Types (Common)+import OpenCascade.BRepAlgoAPI.Internal.Destructors (deleteCommon) import qualified OpenCascade.TopoDS as TopoDS-import OpenCascade.TopoDS.Internal.Destructors (deleteShape) import OpenCascade.Internal.Exception (wrapException) import Foreign.C (CInt) import Foreign.Ptr import Data.Acquire --foreign import capi unsafe "hs_BRepAlgoAPI_Common.h hs_BRepAlgoAPI_Common" rawCommon+foreign import capi unsafe "hs_BRepAlgoAPI_Common.h hs_new_BRepAlgoAPI_Common_fromShapes" rawFromShapes :: Ptr TopoDS.Shape -> Ptr TopoDS.Shape -> Ptr CInt -> Ptr (Ptr ())- -> IO (Ptr TopoDS.Shape)+ -> IO (Ptr Common) -common :: Ptr TopoDS.Shape -> Ptr TopoDS.Shape -> Acquire (Ptr TopoDS.Shape)-common a b = mkAcquire (wrapException $ rawCommon a b) deleteShape+fromShapes :: Ptr TopoDS.Shape -> Ptr TopoDS.Shape -> Acquire (Ptr Common)+fromShapes a b = mkAcquire (wrapException $ rawFromShapes a b) deleteCommon
src/OpenCascade/BRepAlgoAPI/Cut.hs view
@@ -1,22 +1,23 @@ {-# LANGUAGE CApiFFI #-} module OpenCascade.BRepAlgoAPI.Cut-( cut+( Cut+, fromShapes ) where +import OpenCascade.BRepAlgoAPI.Types (Cut)+import OpenCascade.BRepAlgoAPI.Internal.Destructors (deleteCut) import qualified OpenCascade.TopoDS as TopoDS-import OpenCascade.TopoDS.Internal.Destructors (deleteShape) import OpenCascade.Internal.Exception (wrapException) import Foreign.C (CInt) import Foreign.Ptr import Data.Acquire --foreign import capi unsafe "hs_BRepAlgoAPI_Cut.h hs_BRepAlgoAPI_Cut" rawCut+foreign import capi unsafe "hs_BRepAlgoAPI_Cut.h hs_new_BRepAlgoAPI_Cut_fromShapes" rawFromShapes :: Ptr TopoDS.Shape -> Ptr TopoDS.Shape -> Ptr CInt -> Ptr (Ptr ())- -> IO (Ptr TopoDS.Shape)+ -> IO (Ptr Cut) -cut :: Ptr TopoDS.Shape -> Ptr TopoDS.Shape -> Acquire (Ptr TopoDS.Shape)-cut a b = mkAcquire (wrapException $ rawCut a b) deleteShape+fromShapes :: Ptr TopoDS.Shape -> Ptr TopoDS.Shape -> Acquire (Ptr Cut)+fromShapes a b = mkAcquire (wrapException $ rawFromShapes a b) deleteCut
src/OpenCascade/BRepAlgoAPI/Fuse.hs view
@@ -1,22 +1,23 @@ {-# LANGUAGE CApiFFI #-} module OpenCascade.BRepAlgoAPI.Fuse-( fuse+( Fuse+, fromShapes ) where +import OpenCascade.BRepAlgoAPI.Types (Fuse)+import OpenCascade.BRepAlgoAPI.Internal.Destructors (deleteFuse) import qualified OpenCascade.TopoDS as TopoDS-import OpenCascade.TopoDS.Internal.Destructors (deleteShape) import OpenCascade.Internal.Exception (wrapException) import Foreign.C (CInt) import Foreign.Ptr import Data.Acquire --foreign import capi unsafe "hs_BRepAlgoAPI_Fuse.h hs_BRepAlgoAPI_Fuse" rawFuse+foreign import capi unsafe "hs_BRepAlgoAPI_Fuse.h hs_new_BRepAlgoAPI_Fuse_fromShapes" rawFromShapes :: Ptr TopoDS.Shape -> Ptr TopoDS.Shape -> Ptr CInt -> Ptr (Ptr ())- -> IO (Ptr TopoDS.Shape)+ -> IO (Ptr Fuse) -fuse :: Ptr TopoDS.Shape -> Ptr TopoDS.Shape -> Acquire (Ptr TopoDS.Shape)-fuse a b = mkAcquire (wrapException $ rawFuse a b) deleteShape+fromShapes :: Ptr TopoDS.Shape -> Ptr TopoDS.Shape -> Acquire (Ptr Fuse)+fromShapes a b = mkAcquire (wrapException $ rawFromShapes a b) deleteFuse
+ src/OpenCascade/BRepAlgoAPI/Internal/Destructors.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.BRepAlgoAPI.Internal.Destructors+( deleteFuse+, deleteCut+, deleteCommon+) where++import OpenCascade.BRepAlgoAPI.Types+import Foreign.Ptr++foreign import capi unsafe "hs_BRepAlgoAPI_Fuse.h hs_delete_BRepAlgoAPI_Fuse" deleteFuse :: Ptr Fuse -> IO ()+foreign import capi unsafe "hs_BRepAlgoAPI_Cut.h hs_delete_BRepAlgoAPI_Cut" deleteCut :: Ptr Cut -> IO ()+foreign import capi unsafe "hs_BRepAlgoAPI_Common.h hs_delete_BRepAlgoAPI_Common" deleteCommon :: Ptr Common -> IO ()
+ src/OpenCascade/BRepAlgoAPI/Types.hs view
@@ -0,0 +1,18 @@+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE EmptyDataDecls #-}+module OpenCascade.BRepAlgoAPI.Types+( Fuse+, Cut+, Common+) where++import qualified OpenCascade.Inheritance as Inheritance+import OpenCascade.BRepBuilderAPI.Types (MakeShape)++data Fuse+data Cut+data Common++instance Inheritance.SubTypeOf MakeShape Fuse+instance Inheritance.SubTypeOf MakeShape Cut+instance Inheritance.SubTypeOf MakeShape Common
src/OpenCascade/BRepBuilderAPI/GTransform.hs view
@@ -1,24 +1,26 @@ {-# LANGUAGE CApiFFI #-} module OpenCascade.BRepBuilderAPI.GTransform -( gtransform+( GTransform+, fromShapeGTrsfAndCopy ) where +import OpenCascade.BRepBuilderAPI.Types (GTransform)+import OpenCascade.BRepBuilderAPI.Internal.Destructors (deleteGTransform) import qualified OpenCascade.GP as GP import qualified OpenCascade.TopoDS as TopoDS import OpenCascade.Internal.Bool-import qualified OpenCascade.TopoDS.Internal.Destructors as TopoDS.Destructors import OpenCascade.Internal.Exception (wrapException) import Foreign.C import Foreign.Ptr import Data.Acquire -foreign import capi unsafe "hs_BRepBuilderAPI_GTransform.h hs_BRepBuilderAPI_GTransform_gtransform" rawGTransform+foreign import capi unsafe "hs_BRepBuilderAPI_GTransform.h hs_new_BRepBuilderAPI_GTransform_fromShapeGTrsfAndCopy" rawFromShapeGTrsfAndCopy :: Ptr TopoDS.Shape -> Ptr GP.GTrsf -> CBool -> Ptr CInt -> Ptr (Ptr ())- -> IO (Ptr TopoDS.Shape)+ -> IO (Ptr GTransform) -gtransform :: Ptr TopoDS.Shape -> Ptr GP.GTrsf -> Bool -> Acquire (Ptr TopoDS.Shape)-gtransform shape trsf copy = mkAcquire (wrapException $ rawGTransform shape trsf (boolToCBool copy)) TopoDS.Destructors.deleteShape+fromShapeGTrsfAndCopy :: Ptr TopoDS.Shape -> Ptr GP.GTrsf -> Bool -> Acquire (Ptr GTransform)+fromShapeGTrsfAndCopy shape trsf copy = mkAcquire (wrapException $ rawFromShapeGTrsfAndCopy shape trsf (boolToCBool copy)) deleteGTransform
src/OpenCascade/BRepBuilderAPI/Internal/Destructors.hs view
@@ -5,6 +5,8 @@ , deleteMakeFace , deleteMakeSolid , deleteSewing+, deleteTransform+, deleteGTransform ) where import OpenCascade.BRepBuilderAPI.Types@@ -16,5 +18,5 @@ foreign import capi unsafe "hs_BRepBuilderAPI_MakeFace.h hs_delete_BRepBuilderAPI_MakeFace" deleteMakeFace :: Ptr MakeFace -> IO () foreign import capi unsafe "hs_BRepBuilderAPI_MakeSolid.h hs_delete_BRepBuilderAPI_MakeSolid" deleteMakeSolid :: Ptr MakeSolid -> IO () foreign import capi unsafe "hs_BRepBuilderAPI_Sewing.h hs_delete_BRepBuilderAPI_Sewing" deleteSewing :: Ptr Sewing -> IO ()--+foreign import capi unsafe "hs_BRepBuilderAPI_Transform.h hs_delete_BRepBuilderAPI_Transform" deleteTransform :: Ptr Transform -> IO ()+foreign import capi unsafe "hs_BRepBuilderAPI_GTransform.h hs_delete_BRepBuilderAPI_GTransform" deleteGTransform :: Ptr GTransform -> IO ()
src/OpenCascade/BRepBuilderAPI/MakeShape.hs view
@@ -3,14 +3,20 @@ ( MakeShape , shape , build+, modified+, generated+, isDeleted ) where import OpenCascade.BRepBuilderAPI.Types import qualified OpenCascade.TopoDS as TopoDS import OpenCascade.TopoDS.Internal.Destructors (deleteShape)+import OpenCascade.Internal.Bool (cBoolToBool) import OpenCascade.Internal.Exception (wrapException) import Foreign.Ptr-import Data.Acquire -import Foreign.C (CInt)+import Data.Acquire+import Foreign.C (CBool (..), CInt)+import qualified OpenCascade.NCollection.Types as NCollection+import OpenCascade.NCollection.Internal.Destructors (deleteListOfShape) foreign import capi unsafe "hs_BRepBuilderAPI_MakeShape.h hs_BRepBuilderAPI_MakeShape_shape" rawShape :: Ptr MakeShape @@ -29,3 +35,33 @@ build :: Ptr MakeShape -> IO () build builder = wrapException $ rawBuild builder++foreign import capi unsafe "hs_BRepBuilderAPI_MakeShape.h hs_BRepBuilderAPI_MakeShape_modified" rawModified+ :: Ptr MakeShape+ -> Ptr TopoDS.Shape+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO (Ptr (NCollection.List TopoDS.Shape))++modified :: Ptr MakeShape -> Ptr TopoDS.Shape -> Acquire (Ptr (NCollection.List TopoDS.Shape))+modified builder s = mkAcquire (wrapException $ rawModified builder s) deleteListOfShape++foreign import capi unsafe "hs_BRepBuilderAPI_MakeShape.h hs_BRepBuilderAPI_MakeShape_generated" rawGenerated+ :: Ptr MakeShape+ -> Ptr TopoDS.Shape+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO (Ptr (NCollection.List TopoDS.Shape))++generated :: Ptr MakeShape -> Ptr TopoDS.Shape -> Acquire (Ptr (NCollection.List TopoDS.Shape))+generated builder s = mkAcquire (wrapException $ rawGenerated builder s) deleteListOfShape++foreign import capi unsafe "hs_BRepBuilderAPI_MakeShape.h hs_BRepBuilderAPI_MakeShape_isDeleted" rawIsDeleted+ :: Ptr MakeShape+ -> Ptr TopoDS.Shape+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO CBool++isDeleted :: Ptr MakeShape -> Ptr TopoDS.Shape -> IO Bool+isDeleted builder s = cBoolToBool <$> wrapException (rawIsDeleted builder s)
src/OpenCascade/BRepBuilderAPI/MakeWire.hs view
@@ -18,7 +18,7 @@ import OpenCascade.Internal.Bool import qualified OpenCascade.TopoDS as TopoDS import qualified OpenCascade.TopoDS.Internal.Destructors as TopoDS.Destructors-import qualified OpenCascade.TopTools as TopTools+import qualified OpenCascade.NCollection.Types as NCollection import OpenCascade.BRepBuilderAPI.WireError (WireError) import OpenCascade.Internal.Exception (wrapException) import Foreign.C@@ -62,12 +62,12 @@ foreign import capi unsafe "hs_BRepBuilderAPI_MakeWire.h hs_BRepBuilderAPI_MakeWire_AddListOfShape" rawAddListOfShape :: Ptr MakeWire- -> Ptr TopTools.ListOfShape+ -> Ptr (NCollection.List TopoDS.Shape) -> Ptr CInt -> Ptr (Ptr ()) -> IO () -addListOfShape :: Ptr MakeWire -> Ptr TopTools.ListOfShape -> IO ()+addListOfShape :: Ptr MakeWire -> Ptr (NCollection.List TopoDS.Shape) -> IO () addListOfShape builder list = wrapException $ rawAddListOfShape builder list -- wire
src/OpenCascade/BRepBuilderAPI/Transform.hs view
@@ -1,24 +1,26 @@ {-# LANGUAGE CApiFFI #-} module OpenCascade.BRepBuilderAPI.Transform -( transform+( Transform+, fromShapeTrsfAndCopy ) where +import OpenCascade.BRepBuilderAPI.Types (Transform)+import OpenCascade.BRepBuilderAPI.Internal.Destructors (deleteTransform) import qualified OpenCascade.GP as GP import qualified OpenCascade.TopoDS as TopoDS import OpenCascade.Internal.Bool-import qualified OpenCascade.TopoDS.Internal.Destructors as TopoDS.Destructors import OpenCascade.Internal.Exception (wrapException) import Foreign.C import Foreign.Ptr import Data.Acquire -foreign import capi unsafe "hs_BRepBuilderAPI_Transform.h hs_BRepBuilderAPI_Transform_transform" rawTransform+foreign import capi unsafe "hs_BRepBuilderAPI_Transform.h hs_new_BRepBuilderAPI_Transform_fromShapeTrsfAndCopy" rawFromShapeTrsfAndCopy :: Ptr TopoDS.Shape -> Ptr GP.Trsf -> CBool -> Ptr CInt -> Ptr (Ptr ())- -> IO (Ptr TopoDS.Shape)+ -> IO (Ptr Transform) -transform :: Ptr TopoDS.Shape -> Ptr GP.Trsf -> Bool -> Acquire (Ptr TopoDS.Shape)-transform shape trsf copy = mkAcquire (wrapException $ rawTransform shape trsf (boolToCBool copy)) TopoDS.Destructors.deleteShape+fromShapeTrsfAndCopy :: Ptr TopoDS.Shape -> Ptr GP.Trsf -> Bool -> Acquire (Ptr Transform)+fromShapeTrsfAndCopy shape trsf copy = mkAcquire (wrapException $ rawFromShapeTrsfAndCopy shape trsf (boolToCBool copy)) deleteTransform
src/OpenCascade/BRepBuilderAPI/Types.hs view
@@ -7,6 +7,8 @@ , MakeSolid , MakeShape , Sewing+, Transform+, GTransform ) where import qualified OpenCascade.Inheritance as Inheritance@@ -20,8 +22,12 @@ data Sewing +data Transform+data GTransform+ instance Inheritance.SubTypeOf MakeShape MakeVertex instance Inheritance.SubTypeOf MakeShape MakeWire instance Inheritance.SubTypeOf MakeShape MakeSolid instance Inheritance.SubTypeOf MakeShape MakeFace-+instance Inheritance.SubTypeOf MakeShape Transform+instance Inheritance.SubTypeOf MakeShape GTransform
src/OpenCascade/GP/Internal/Destructors.hs view
@@ -13,6 +13,7 @@ , deleteTrsf , deleteTrsf2d , deleteGTrsf+, deleteLin , deleteXYZ ) where @@ -35,3 +36,4 @@ foreign import capi unsafe "hs_gp_Trsf2d.h hs_delete_gp_Trsf2d" deleteTrsf2d :: Ptr Trsf2d -> IO () foreign import capi unsafe "hs_gp_XYZ.h hs_delete_gp_XYZ" deleteXYZ :: Ptr XYZ -> IO () +foreign import capi unsafe "hs_gp_Lin.h hs_delete_gp_Lin" deleteLin :: Ptr Lin -> IO ()
+ src/OpenCascade/GP/Lin.hs view
@@ -0,0 +1,27 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.GP.Lin+( Lin+, new+, location+, direction+) where++import OpenCascade.GP.Types+import OpenCascade.GP.Internal.Destructors+import Foreign.Ptr+import Data.Acquire++foreign import capi unsafe "hs_gp_Lin.h hs_new_gp_Lin" rawNew :: Ptr Pnt -> Ptr Dir -> IO (Ptr Lin)++new :: Ptr Pnt -> Ptr Dir -> Acquire (Ptr Lin)+new origin dir = mkAcquire (rawNew origin dir) deleteLin++foreign import capi unsafe "hs_gp_Lin.h hs_gp_Lin_Location" rawLocation :: Ptr Lin -> IO (Ptr Pnt)++location :: Ptr Lin -> Acquire (Ptr Pnt)+location lin = mkAcquire (rawLocation lin) deletePnt++foreign import capi unsafe "hs_gp_Lin.h hs_gp_Lin_Direction" rawDirection :: Ptr Lin -> IO (Ptr Dir)++direction :: Ptr Lin -> Acquire (Ptr Dir)+direction lin = mkAcquire (rawDirection lin) deleteDir
src/OpenCascade/GP/Types.hs view
@@ -13,6 +13,7 @@ , Trsf , Trsf2d , GTrsf+, Lin , XYZ ) where @@ -29,4 +30,5 @@ data Trsf data Trsf2d data GTrsf+data Lin data XYZ
+ src/OpenCascade/Graphic3D/AlphaMode.hs view
@@ -0,0 +1,20 @@+module OpenCascade.Graphic3D.AlphaMode+( AlphaMode (..)+) where++-- Should match the values in Graphic3D_AlphaMode.hxx+data AlphaMode = BlendAuto | Opaque | Mask | Blend | MaskBlend deriving (Show, Eq)++-- this can't derive Enum, because Graphic3d_AlphaMode_BlendAuto is defined as -1+instance Enum AlphaMode where+ fromEnum BlendAuto = -1+ fromEnum Opaque = 0+ fromEnum Mask = 1+ fromEnum Blend = 2+ fromEnum MaskBlend = 3+ toEnum (-1) = BlendAuto+ toEnum 0 = Opaque+ toEnum 1 = Mask+ toEnum 2 = Blend+ toEnum 3 = MaskBlend+ toEnum _ = error "toEnum: out of range for Graphic3D.AlphaMode"
+ src/OpenCascade/Graphic3D/TypeOfBackfacingModel.hs view
@@ -0,0 +1,6 @@+module OpenCascade.Graphic3D.TypeOfBackfacingModel+( TypeOfBackfacingModel (..)+) where++-- Should match the values in Graphic3d_TypeOfBackfacingModel.hxx+data TypeOfBackfacingModel = Auto | DoubleSided | BackCulled | FrontCulled deriving (Show, Eq, Enum)
+ src/OpenCascade/HLRAlgo.hs view
@@ -0,0 +1,5 @@+module OpenCascade.HLRAlgo+( module OpenCascade.HLRAlgo.Types+) where++import OpenCascade.HLRAlgo.Types
src/OpenCascade/HLRAlgo/Projector.hs view
@@ -2,8 +2,11 @@ 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 @@ -14,3 +17,12 @@ 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
+ src/OpenCascade/IntCurvesFace/Internal/Destructors.hs view
@@ -0,0 +1,9 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.IntCurvesFace.Internal.Destructors+( deleteShapeIntersector+) where++import OpenCascade.IntCurvesFace.Types+import Foreign.Ptr++foreign import capi unsafe "hs_IntCurvesFace_ShapeIntersector.h hs_delete_IntCurvesFace_ShapeIntersector" deleteShapeIntersector :: Ptr ShapeIntersector -> IO ()
+ src/OpenCascade/IntCurvesFace/ShapeIntersector.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.IntCurvesFace.ShapeIntersector+( ShapeIntersector+, new+, load+, perform+, performNearest+, isDone+, nbPnt+, uParameter+, vParameter+, wParameter+, pnt+, face+) where++import OpenCascade.IntCurvesFace.Types (ShapeIntersector)+import OpenCascade.IntCurvesFace.Internal.Destructors (deleteShapeIntersector)+import qualified OpenCascade.TopoDS.Types as TopoDS+import OpenCascade.TopoDS.Internal.Destructors (deleteShape)+import qualified OpenCascade.GP.Types as GP+import OpenCascade.GP.Internal.Destructors (deletePnt)+import OpenCascade.Inheritance (upcast)+import OpenCascade.Internal.Exception (wrapException)+import OpenCascade.Internal.Bool (cBoolToBool)+import Foreign.Ptr (Ptr)+import Foreign.C (CInt (..), CBool (..), CDouble (..))+import Data.Acquire (Acquire, mkAcquire)+import Data.Coerce (coerce)++foreign import capi unsafe "hs_IntCurvesFace_ShapeIntersector.h hs_new_IntCurvesFace_ShapeIntersector" rawNew :: IO (Ptr ShapeIntersector)++new :: Acquire (Ptr ShapeIntersector)+new = mkAcquire rawNew deleteShapeIntersector++foreign import capi unsafe "hs_IntCurvesFace_ShapeIntersector.h hs_IntCurvesFace_ShapeIntersector_Load" rawLoad :: Ptr ShapeIntersector -> Ptr TopoDS.Shape -> CDouble -> Ptr CInt -> Ptr (Ptr ()) -> IO ()++load :: Ptr ShapeIntersector -> Ptr TopoDS.Shape -> Double -> IO ()+load intersector shape tol = wrapException $ rawLoad intersector shape (coerce tol)++foreign import capi unsafe "hs_IntCurvesFace_ShapeIntersector.h hs_IntCurvesFace_ShapeIntersector_Perform" rawPerform :: Ptr ShapeIntersector -> Ptr GP.Lin -> CDouble -> CDouble -> Ptr CInt -> Ptr (Ptr ()) -> IO ()++perform :: Ptr ShapeIntersector -> Ptr GP.Lin -> Double -> Double -> IO ()+perform intersector line pInf pSup = wrapException $ rawPerform intersector line (coerce pInf) (coerce pSup)++foreign import capi unsafe "hs_IntCurvesFace_ShapeIntersector.h hs_IntCurvesFace_ShapeIntersector_PerformNearest" rawPerformNearest :: Ptr ShapeIntersector -> Ptr GP.Lin -> CDouble -> CDouble -> Ptr CInt -> Ptr (Ptr ()) -> IO ()++performNearest :: Ptr ShapeIntersector -> Ptr GP.Lin -> Double -> Double -> IO ()+performNearest intersector line pInf pSup = wrapException $ rawPerformNearest intersector line (coerce pInf) (coerce pSup)++foreign import capi unsafe "hs_IntCurvesFace_ShapeIntersector.h hs_IntCurvesFace_ShapeIntersector_IsDone" rawIsDone :: Ptr ShapeIntersector -> IO CBool++isDone :: Ptr ShapeIntersector -> IO Bool+isDone intersector = cBoolToBool <$> rawIsDone intersector++foreign import capi unsafe "hs_IntCurvesFace_ShapeIntersector.h hs_IntCurvesFace_ShapeIntersector_NbPnt" rawNbPnt :: Ptr ShapeIntersector -> IO CInt++nbPnt :: Ptr ShapeIntersector -> IO Int+nbPnt intersector = fromIntegral <$> rawNbPnt intersector++foreign import capi unsafe "hs_IntCurvesFace_ShapeIntersector.h hs_IntCurvesFace_ShapeIntersector_UParameter" rawUParameter :: Ptr ShapeIntersector -> CInt -> Ptr CInt -> Ptr (Ptr ()) -> IO CDouble++uParameter :: Ptr ShapeIntersector -> Int -> IO Double+uParameter intersector index = coerce <$> wrapException (rawUParameter intersector (fromIntegral index))++foreign import capi unsafe "hs_IntCurvesFace_ShapeIntersector.h hs_IntCurvesFace_ShapeIntersector_VParameter" rawVParameter :: Ptr ShapeIntersector -> CInt -> Ptr CInt -> Ptr (Ptr ()) -> IO CDouble++vParameter :: Ptr ShapeIntersector -> Int -> IO Double+vParameter intersector index = coerce <$> wrapException (rawVParameter intersector (fromIntegral index))++foreign import capi unsafe "hs_IntCurvesFace_ShapeIntersector.h hs_IntCurvesFace_ShapeIntersector_WParameter" rawWParameter :: Ptr ShapeIntersector -> CInt -> Ptr CInt -> Ptr (Ptr ()) -> IO CDouble++wParameter :: Ptr ShapeIntersector -> Int -> IO Double+wParameter intersector index = coerce <$> wrapException (rawWParameter intersector (fromIntegral index))++foreign import capi unsafe "hs_IntCurvesFace_ShapeIntersector.h hs_IntCurvesFace_ShapeIntersector_Pnt" rawPnt :: Ptr ShapeIntersector -> CInt -> Ptr CInt -> Ptr (Ptr ()) -> IO (Ptr GP.Pnt)++pnt :: Ptr ShapeIntersector -> Int -> Acquire (Ptr GP.Pnt)+pnt intersector index = mkAcquire (wrapException $ rawPnt intersector (fromIntegral index)) deletePnt++foreign import capi unsafe "hs_IntCurvesFace_ShapeIntersector.h hs_IntCurvesFace_ShapeIntersector_Face" rawFace :: Ptr ShapeIntersector -> CInt -> Ptr CInt -> Ptr (Ptr ()) -> IO (Ptr TopoDS.Face)++face :: Ptr ShapeIntersector -> Int -> Acquire (Ptr TopoDS.Face)+face intersector index = mkAcquire (wrapException $ rawFace intersector (fromIntegral index)) (deleteShape . upcast)
+ src/OpenCascade/IntCurvesFace/Types.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE EmptyDataDecls #-}+module OpenCascade.IntCurvesFace.Types+( ShapeIntersector+) where++data ShapeIntersector
src/OpenCascade/Internal/Exception.hs view
@@ -22,7 +22,7 @@ deriving (Show, Eq, Ord, Enum, Bounded) data OpenCascadeException - = OpenCascadeStandardFailure String String+ = OpenCascadeStandardFailure String String String | OpenCascadeStdException String | OpenCascadeOtherException deriving (Eq, Ord, Typeable, Show)@@ -42,10 +42,11 @@ NoException -> pure () StandardFailureException -> do stdFailure <- castPtr <$> peek exPtr+ typeString <- safePeekCString =<< Standard.Failure.getTypeName stdFailure msgString <- safePeekCString =<< Standard.Failure.getMessageString stdFailure stackString <- safePeekCString =<< Standard.Failure.getStackString stdFailure deleteFailure stdFailure- throw (OpenCascadeStandardFailure msgString stackString)+ throw (OpenCascadeStandardFailure typeString msgString stackString) StdException -> do stdException <- castPtr <$> peek exPtr msgString <- safePeekCString =<< Std.Exception.what stdException
+ src/OpenCascade/NCollection/IndexedDataMap.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.NCollection.IndexedDataMap+( IndexedDataMap+, newAsciiStringMap+, newShapeListOfShapeMap+, extentShapeListOfShapeMap+, containsShapeListOfShapeMap+, findFromKeyShapeListOfShapeMap+, findKeyShapeListOfShapeMap+, findFromIndexShapeListOfShapeMap+) where++import OpenCascade.NCollection.Types (IndexedDataMap, List)+import OpenCascade.NCollection.Internal.Destructors (deleteAsciiStringMap, deleteIndexedDataMapOfShapeListOfShape, deleteListOfShape)+import qualified OpenCascade.TCollection.Types as TCollection+import qualified OpenCascade.TopoDS.Types as TopoDS+import OpenCascade.TopoDS.Internal.Destructors (deleteShape)+import OpenCascade.Internal.Bool (cBoolToBool)+import OpenCascade.Internal.Exception (wrapException)+import Foreign.Ptr (Ptr)+import Foreign.C (CBool (..), CInt (..))+import Data.Acquire (Acquire, mkAcquire)++foreign import capi unsafe "hs_NCollection_IndexedDataMap.h hs_new_NCollection_IndexedDataMap_TCollection_AsciiString_TCollection_AsciiString" rawNewAsciiStringMap+ :: IO (Ptr (IndexedDataMap TCollection.AsciiString TCollection.AsciiString))++newAsciiStringMap :: Acquire (Ptr (IndexedDataMap TCollection.AsciiString TCollection.AsciiString))+newAsciiStringMap = mkAcquire rawNewAsciiStringMap deleteAsciiStringMap++foreign import capi unsafe "hs_NCollection_IndexedDataMap.h hs_new_NCollection_IndexedDataMap_TopoDS_Shape_NCollection_List_TopoDS_Shape" rawNewShapeListOfShapeMap+ :: IO (Ptr (IndexedDataMap TopoDS.Shape (List TopoDS.Shape)))++newShapeListOfShapeMap :: Acquire (Ptr (IndexedDataMap TopoDS.Shape (List TopoDS.Shape)))+newShapeListOfShapeMap = mkAcquire rawNewShapeListOfShapeMap deleteIndexedDataMapOfShapeListOfShape++foreign import capi unsafe "hs_NCollection_IndexedDataMap.h hs_NCollection_IndexedDataMap_TopoDS_Shape_NCollection_List_TopoDS_Shape_extent" rawExtentShapeListOfShapeMap+ :: Ptr (IndexedDataMap TopoDS.Shape (List TopoDS.Shape)) -> IO CInt++extentShapeListOfShapeMap :: Ptr (IndexedDataMap TopoDS.Shape (List TopoDS.Shape)) -> IO Int+extentShapeListOfShapeMap = fmap fromIntegral . rawExtentShapeListOfShapeMap++foreign import capi unsafe "hs_NCollection_IndexedDataMap.h hs_NCollection_IndexedDataMap_TopoDS_Shape_NCollection_List_TopoDS_Shape_contains" rawContainsShapeListOfShapeMap+ :: Ptr (IndexedDataMap TopoDS.Shape (List TopoDS.Shape)) -> Ptr TopoDS.Shape -> IO CBool++containsShapeListOfShapeMap :: Ptr (IndexedDataMap TopoDS.Shape (List TopoDS.Shape)) -> Ptr TopoDS.Shape -> IO Bool+containsShapeListOfShapeMap theMap shape = cBoolToBool <$> rawContainsShapeListOfShapeMap theMap shape++foreign import capi unsafe "hs_NCollection_IndexedDataMap.h hs_NCollection_IndexedDataMap_TopoDS_Shape_NCollection_List_TopoDS_Shape_findFromKey" rawFindFromKeyShapeListOfShapeMap+ :: Ptr (IndexedDataMap TopoDS.Shape (List TopoDS.Shape))+ -> Ptr TopoDS.Shape+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO (Ptr (List TopoDS.Shape))++findFromKeyShapeListOfShapeMap :: Ptr (IndexedDataMap TopoDS.Shape (List TopoDS.Shape)) -> Ptr TopoDS.Shape -> Acquire (Ptr (List TopoDS.Shape))+findFromKeyShapeListOfShapeMap theMap shape = mkAcquire (wrapException $ rawFindFromKeyShapeListOfShapeMap theMap shape) deleteListOfShape++foreign import capi unsafe "hs_NCollection_IndexedDataMap.h hs_NCollection_IndexedDataMap_TopoDS_Shape_NCollection_List_TopoDS_Shape_findKey" rawFindKeyShapeListOfShapeMap+ :: Ptr (IndexedDataMap TopoDS.Shape (List TopoDS.Shape))+ -> CInt+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO (Ptr TopoDS.Shape)++-- | The key at a (1-based) index.+findKeyShapeListOfShapeMap :: Ptr (IndexedDataMap TopoDS.Shape (List TopoDS.Shape)) -> Int -> Acquire (Ptr TopoDS.Shape)+findKeyShapeListOfShapeMap theMap index = mkAcquire (wrapException $ rawFindKeyShapeListOfShapeMap theMap (fromIntegral index)) deleteShape++foreign import capi unsafe "hs_NCollection_IndexedDataMap.h hs_NCollection_IndexedDataMap_TopoDS_Shape_NCollection_List_TopoDS_Shape_findFromIndex" rawFindFromIndexShapeListOfShapeMap+ :: Ptr (IndexedDataMap TopoDS.Shape (List TopoDS.Shape))+ -> CInt+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO (Ptr (List TopoDS.Shape))++-- | The list at a (1-based) index.+findFromIndexShapeListOfShapeMap :: Ptr (IndexedDataMap TopoDS.Shape (List TopoDS.Shape)) -> Int -> Acquire (Ptr (List TopoDS.Shape))+findFromIndexShapeListOfShapeMap theMap index = mkAcquire (wrapException $ rawFindFromIndexShapeListOfShapeMap theMap (fromIntegral index)) deleteListOfShape
src/OpenCascade/NCollection/Internal/Destructors.hs view
@@ -1,11 +1,27 @@ {-# LANGUAGE CApiFFI #-} module OpenCascade.NCollection.Internal.Destructors ( deletePntArray+, deleteListOfShape+, deleteListOfShapeIterator+, deleteAsciiStringMap+, deleteIndexedDataMapOfShapeListOfShape+, deleteVec3Float ) where import OpenCascade.NCollection.Types import OpenCascade.GP.Types+import qualified OpenCascade.TopoDS.Types as TopoDS+import qualified OpenCascade.TCollection.Types as TCollection import Foreign.Ptr foreign import capi unsafe "hs_NCollection_Array1.h hs_delete_NCollection_Array1_gp_Pnt" deletePntArray :: Ptr (Array1 Pnt) -> IO () +foreign import capi unsafe "hs_NCollection_List.h hs_delete_NCollection_List_TopoDS_Shape" deleteListOfShape :: Ptr (List TopoDS.Shape) -> IO ()++foreign import capi unsafe "hs_NCollection_IndexedDataMap.h hs_delete_NCollection_IndexedDataMap_TCollection_AsciiString_TCollection_AsciiString" deleteAsciiStringMap :: Ptr (IndexedDataMap TCollection.AsciiString TCollection.AsciiString) -> IO ()++foreign import capi unsafe "hs_NCollection_IndexedDataMap.h hs_delete_NCollection_IndexedDataMap_TopoDS_Shape_NCollection_List_TopoDS_Shape" deleteIndexedDataMapOfShapeListOfShape :: Ptr (IndexedDataMap TopoDS.Shape (List TopoDS.Shape)) -> IO ()++foreign import capi unsafe "hs_NCollection_Vec3.h hs_delete_NCollection_Vec3_float" deleteVec3Float :: Ptr (Vec3 Float) -> IO ()++foreign import capi unsafe "hs_NCollection_List.h hs_delete_NCollection_List_TopoDS_Shape_Iterator" deleteListOfShapeIterator :: Ptr (ListIterator TopoDS.Shape) -> IO ()
+ src/OpenCascade/NCollection/List.hs view
@@ -0,0 +1,29 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.NCollection.List+( List+, newListOfShape+, extentListOfShape+, appendListOfShape+) where++import OpenCascade.NCollection.Types (List)+import OpenCascade.NCollection.Internal.Destructors (deleteListOfShape)+import OpenCascade.NCollection.List.Iterator (newListOfShapeIterator, moreListOfShapeIterator, nextListOfShapeIterator, valueListOfShapeIterator)+import qualified OpenCascade.TopoDS.Types as TopoDS+import Control.Monad.IO.Class (liftIO)+import Foreign.Ptr (Ptr)+import Foreign.C (CInt (..))+import Data.Acquire (Acquire, mkAcquire)++foreign import capi unsafe "hs_NCollection_List.h hs_new_NCollection_List_TopoDS_Shape" rawNewListOfShape :: IO (Ptr (List TopoDS.Shape))++newListOfShape :: Acquire (Ptr (List TopoDS.Shape))+newListOfShape = mkAcquire rawNewListOfShape deleteListOfShape++foreign import capi unsafe "hs_NCollection_List.h hs_NCollection_List_TopoDS_Shape_extent" rawExtentListOfShape :: Ptr (List TopoDS.Shape) -> IO CInt++extentListOfShape :: Ptr (List TopoDS.Shape) -> IO Int+extentListOfShape = fmap fromIntegral . rawExtentListOfShape++foreign import capi unsafe "hs_NCollection_List.h hs_NCollection_List_TopoDS_Shape_append" appendListOfShape :: Ptr (List TopoDS.Shape) -> Ptr TopoDS.Shape -> IO ()+
+ src/OpenCascade/NCollection/List/Iterator.hs view
@@ -0,0 +1,34 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.NCollection.List.Iterator+( ListIterator+, newListOfShapeIterator+, moreListOfShapeIterator+, nextListOfShapeIterator+, valueListOfShapeIterator+) where++import OpenCascade.NCollection.Types (List, ListIterator)+import OpenCascade.NCollection.Internal.Destructors (deleteListOfShapeIterator)+import qualified OpenCascade.TopoDS.Types as TopoDS+import OpenCascade.TopoDS.Internal.Destructors (deleteShape)+import OpenCascade.Internal.Bool (cBoolToBool)+import Foreign.Ptr (Ptr)+import Foreign.C (CBool (..))+import Data.Acquire (Acquire, mkAcquire)++foreign import capi unsafe "hs_NCollection_List.h hs_new_NCollection_List_TopoDS_Shape_Iterator" rawNewListOfShapeIterator :: Ptr (List TopoDS.Shape) -> IO (Ptr (ListIterator TopoDS.Shape))++newListOfShapeIterator :: Ptr (List TopoDS.Shape) -> Acquire (Ptr (ListIterator TopoDS.Shape))+newListOfShapeIterator list = mkAcquire (rawNewListOfShapeIterator list) deleteListOfShapeIterator++foreign import capi unsafe "hs_NCollection_List.h hs_NCollection_List_TopoDS_Shape_Iterator_more" rawMoreListOfShapeIterator :: Ptr (ListIterator TopoDS.Shape) -> IO CBool++moreListOfShapeIterator :: Ptr (ListIterator TopoDS.Shape) -> IO Bool+moreListOfShapeIterator = fmap cBoolToBool . rawMoreListOfShapeIterator++foreign import capi unsafe "hs_NCollection_List.h hs_NCollection_List_TopoDS_Shape_Iterator_next" nextListOfShapeIterator :: Ptr (ListIterator TopoDS.Shape) -> IO ()++foreign import capi unsafe "hs_NCollection_List.h hs_NCollection_List_TopoDS_Shape_Iterator_value" rawValueListOfShapeIterator :: Ptr (ListIterator TopoDS.Shape) -> IO (Ptr TopoDS.Shape)++valueListOfShapeIterator :: Ptr (ListIterator TopoDS.Shape) -> Acquire (Ptr TopoDS.Shape)+valueListOfShapeIterator iterator = mkAcquire (rawValueListOfShapeIterator iterator) deleteShape
src/OpenCascade/NCollection/Types.hs view
@@ -1,6 +1,14 @@ {-# LANGUAGE EmptyDataDecls #-} module OpenCascade.NCollection.Types ( Array1+, List+, ListIterator+, IndexedDataMap+, Vec3 ) where data Array1 a+data List a+data IndexedDataMap k v+data Vec3 a+data ListIterator a
+ src/OpenCascade/NCollection/Vec3.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.NCollection.Vec3+( Vec3+, newVec3Float+) where++import OpenCascade.NCollection.Types (Vec3)+import OpenCascade.NCollection.Internal.Destructors (deleteVec3Float)+import Foreign.Ptr (Ptr)+import Foreign.C (CFloat (..))+import Data.Acquire (Acquire, mkAcquire)++foreign import capi unsafe "hs_NCollection_Vec3.h hs_new_NCollection_Vec3_float" rawNewVec3Float :: CFloat -> CFloat -> CFloat -> IO (Ptr (Vec3 Float))++newVec3Float :: Float -> Float -> Float -> Acquire (Ptr (Vec3 Float))+newVec3Float x y z = mkAcquire (rawNewVec3Float (realToFrac x) (realToFrac y) (realToFrac z)) deleteVec3Float
src/OpenCascade/Poly/Triangulation.hs view
@@ -4,6 +4,7 @@ , new , nbNodes , nbTriangles+, isNull , node , setNode , triangle@@ -17,7 +18,7 @@ import OpenCascade.Handle (Handle) import Foreign.Ptr (Ptr) import Foreign.C (CInt (..), CBool (..))-import OpenCascade.Internal.Bool (boolToCBool)+import OpenCascade.Internal.Bool (boolToCBool, cBoolToBool) import OpenCascade.Internal.Exception (wrapException) import Data.Acquire (Acquire, mkAcquire) @@ -84,3 +85,8 @@ setTriangle :: Ptr (Handle Triangulation) -> Int -> Ptr Triangle -> IO () setTriangle tri index theTriangle = wrapException $ rawSetTriangle tri (fromIntegral index) theTriangle++foreign import capi unsafe "hs_Poly_Triangulation.h hs_Poly_Triangulation_isNull" rawIsNull :: Ptr (Handle Triangulation) -> IO CBool++isNull :: Ptr (Handle Triangulation) -> IO Bool+isNull tri = cBoolToBool <$> rawIsNull tri
+ src/OpenCascade/Quantity.hs view
@@ -0,0 +1,5 @@+module OpenCascade.Quantity+( module OpenCascade.Quantity.Types+) where+ +import OpenCascade.Quantity.Types
+ src/OpenCascade/Quantity/Color.hs view
@@ -0,0 +1,28 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.Quantity.Color+( Color+, new+) where++import OpenCascade.Quantity.Types (Color)+import OpenCascade.Quantity.TypeOfColor (TypeOfColor)+import OpenCascade.Quantity.Internal.Destructors (deleteColor)+import OpenCascade.Internal.Exception (wrapException)+import Foreign.Ptr (Ptr)+import Foreign.C (CDouble (..), CInt (..))+import Data.Acquire (Acquire, mkAcquire)++foreign import capi unsafe "hs_Quantity_Color.h hs_new_Quantity_Color" rawNew+ :: CDouble+ -> CDouble+ -> CDouble+ -> CInt+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO (Ptr Color)++new :: Double -> Double -> Double -> TypeOfColor -> Acquire (Ptr Color)+new c1 c2 c3 theType =+ mkAcquire+ (wrapException $ rawNew (realToFrac c1) (realToFrac c2) (realToFrac c3) (fromIntegral . fromEnum $ theType))+ deleteColor
+ src/OpenCascade/Quantity/ColorRGBA.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.Quantity.ColorRGBA+( ColorRGBA+, new+) where++import OpenCascade.Quantity.Types (Color, ColorRGBA)+import OpenCascade.Quantity.Internal.Destructors (deleteColorRGBA)+import Foreign.Ptr (Ptr)+import Foreign.C (CDouble (..))+import Data.Acquire (Acquire, mkAcquire)++foreign import capi unsafe "hs_Quantity_ColorRGBA.h hs_new_Quantity_ColorRGBA" rawNew :: Ptr Color -> CDouble -> IO (Ptr ColorRGBA)++new :: Ptr Color -> Double -> Acquire (Ptr ColorRGBA)+new color alpha = mkAcquire (rawNew color (realToFrac alpha)) deleteColorRGBA
+ src/OpenCascade/Quantity/Internal/Destructors.hs view
@@ -0,0 +1,12 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.Quantity.Internal.Destructors+( deleteColor+, deleteColorRGBA+) where++import OpenCascade.Quantity.Types+import Foreign.Ptr++foreign import capi unsafe "hs_Quantity_Color.h hs_delete_Quantity_Color" deleteColor :: Ptr Color -> IO ()++foreign import capi unsafe "hs_Quantity_ColorRGBA.h hs_delete_Quantity_ColorRGBA" deleteColorRGBA :: Ptr ColorRGBA -> IO ()
+ src/OpenCascade/Quantity/TypeOfColor.hs view
@@ -0,0 +1,6 @@+module OpenCascade.Quantity.TypeOfColor+( TypeOfColor (..)+) where++-- this should match the enumeration in Quantity_TypeOfColor+data TypeOfColor = RGB | SRGB | HLS | CIELab | CIELch deriving (Show, Eq, Enum)
+ src/OpenCascade/Quantity/Types.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE EmptyDataDecls #-}+module OpenCascade.Quantity.Types+( Color+, ColorRGBA+) where++data Color+data ColorRGBA
src/OpenCascade/RWGltf/CafWriter.hs view
@@ -15,7 +15,8 @@ import OpenCascade.Internal.Exception (wrapException) import OpenCascade.Handle (Handle) import qualified OpenCascade.TDocStd.Types as TDocStd-import qualified OpenCascade.TColStd.Types as TColStd+import qualified OpenCascade.NCollection.Types as NCollection+import qualified OpenCascade.TCollection.Types as TCollection 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)@@ -26,11 +27,11 @@ foreign import capi unsafe "hs_RWGltf_CafWriter.h hs_RWGltf_CafWriter_Perform" rawPerform :: Ptr CafWriter -> Ptr (Handle TDocStd.Document)- -> Ptr (TColStd.IndexedDataMapOfStringString)+ -> Ptr (NCollection.IndexedDataMap TCollection.AsciiString TCollection.AsciiString) -> Ptr (Message.ProgressRange) -> Ptr CInt -> Ptr (Ptr ()) -> IO () -perform :: Ptr CafWriter -> Ptr (Handle TDocStd.Document) -> Ptr (TColStd.IndexedDataMapOfStringString) -> Ptr (Message.ProgressRange) -> IO ()+perform :: Ptr CafWriter -> Ptr (Handle TDocStd.Document) -> Ptr (NCollection.IndexedDataMap TCollection.AsciiString TCollection.AsciiString) -> Ptr (Message.ProgressRange) -> IO () perform writer doc fileInfo progress = wrapException $ rawPerform writer doc fileInfo progress
src/OpenCascade/RWObj/CafWriter.hs view
@@ -14,7 +14,8 @@ import OpenCascade.Internal.Exception (wrapException) import OpenCascade.Handle (Handle) import qualified OpenCascade.TDocStd.Types as TDocStd-import qualified OpenCascade.TColStd.Types as TColStd+import qualified OpenCascade.NCollection.Types as NCollection+import qualified OpenCascade.TCollection.Types as TCollection import qualified OpenCascade.Message.Types as Message foreign import capi unsafe "hs_RWObj_CafWriter.h hs_new_RWObj_CafWriter" rawNew :: CString -> IO (Ptr CafWriter)@@ -25,11 +26,11 @@ foreign import capi unsafe "hs_RWObj_CafWriter.h hs_RWObj_CafWriter_Perform" rawPerform :: Ptr CafWriter -> Ptr (Handle TDocStd.Document)- -> Ptr (TColStd.IndexedDataMapOfStringString)+ -> Ptr (NCollection.IndexedDataMap TCollection.AsciiString TCollection.AsciiString) -> Ptr (Message.ProgressRange) -> Ptr CInt -> Ptr (Ptr ()) -> IO () -perform :: Ptr CafWriter -> Ptr (Handle TDocStd.Document) -> Ptr (TColStd.IndexedDataMapOfStringString) -> Ptr (Message.ProgressRange) -> IO ()+perform :: Ptr CafWriter -> Ptr (Handle TDocStd.Document) -> Ptr (NCollection.IndexedDataMap TCollection.AsciiString TCollection.AsciiString) -> Ptr (Message.ProgressRange) -> IO () perform writer doc fileInfo progress = wrapException $ rawPerform writer doc fileInfo progress
+ src/OpenCascade/STEPCAFControl/Internal/Destructors.hs view
@@ -0,0 +1,10 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.STEPCAFControl.Internal.Destructors+( deleteWriter+) where++import OpenCascade.STEPCAFControl.Types++import Foreign.Ptr++foreign import capi unsafe "hs_STEPCAFControl_Writer.h hs_delete_STEPCAFControl_Writer" deleteWriter :: Ptr Writer -> IO ()
+ src/OpenCascade/STEPCAFControl/Types.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE EmptyDataDecls #-}+module OpenCascade.STEPCAFControl.Types+( Writer+) where++data Writer
+ src/OpenCascade/STEPCAFControl/Writer.hs view
@@ -0,0 +1,57 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.STEPCAFControl.Writer+( Writer+, new+, setColorMode+, setNameMode+, transfer+, write+) where++import OpenCascade.STEPCAFControl.Types (Writer)+import OpenCascade.STEPCAFControl.Internal.Destructors (deleteWriter)+import qualified OpenCascade.TDocStd.Types as TDocStd+import OpenCascade.Handle (Handle)+import OpenCascade.STEPControl.StepModelType (StepModelType)+import qualified OpenCascade.IFSelect.ReturnStatus as IFSelect.ReturnStatus+import OpenCascade.Internal.Bool (boolToCBool, cBoolToBool)+import OpenCascade.Internal.Exception (wrapException)+import Foreign.C+import Foreign.Ptr+import Data.Acquire++foreign import capi unsafe "hs_STEPCAFControl_Writer.h hs_new_STEPCAFControl_Writer" rawNew :: IO (Ptr Writer)++new :: Acquire (Ptr Writer)+new = mkAcquire rawNew deleteWriter++foreign import capi unsafe "hs_STEPCAFControl_Writer.h hs_STEPCAFControl_Writer_setColorMode" rawSetColorMode :: Ptr Writer -> CBool -> IO ()++setColorMode :: Ptr Writer -> Bool -> IO ()+setColorMode writer = rawSetColorMode writer . boolToCBool++foreign import capi unsafe "hs_STEPCAFControl_Writer.h hs_STEPCAFControl_Writer_setNameMode" rawSetNameMode :: Ptr Writer -> CBool -> IO ()++setNameMode :: Ptr Writer -> Bool -> IO ()+setNameMode writer = rawSetNameMode writer . boolToCBool++foreign import capi unsafe "hs_STEPCAFControl_Writer.h hs_STEPCAFControl_Writer_transfer" rawTransfer+ :: Ptr Writer+ -> Ptr (Handle TDocStd.Document)+ -> CInt+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO CBool++transfer :: Ptr Writer -> Ptr (Handle TDocStd.Document) -> StepModelType -> IO Bool+transfer writer doc mode = cBoolToBool <$> wrapException (rawTransfer writer doc (fromIntegral . fromEnum $ mode))++foreign import capi unsafe "hs_STEPCAFControl_Writer.h hs_STEPCAFControl_Writer_write" rawWrite+ :: Ptr Writer+ -> CString+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO CInt++write :: Ptr Writer -> String -> IO IFSelect.ReturnStatus.ReturnStatus+write writer filename = toEnum . fromIntegral <$> withCString filename (wrapException . rawWrite writer)
+ src/OpenCascade/ShapeUpgrade/Internal/Destructors.hs view
@@ -0,0 +1,9 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.ShapeUpgrade.Internal.Destructors+( deleteUnifySameDomain+) where++import OpenCascade.ShapeUpgrade.Types (UnifySameDomain)+import Foreign.Ptr (Ptr)++foreign import capi unsafe "hs_ShapeUpgrade_UnifySameDomain.h hs_delete_ShapeUpgrade_UnifySameDomain" deleteUnifySameDomain :: Ptr UnifySameDomain -> IO ()
+ src/OpenCascade/ShapeUpgrade/Types.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE EmptyDataDecls #-}+module OpenCascade.ShapeUpgrade.Types+( UnifySameDomain+) where++data UnifySameDomain
+ src/OpenCascade/ShapeUpgrade/UnifySameDomain.hs view
@@ -0,0 +1,54 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.ShapeUpgrade.UnifySameDomain+( UnifySameDomain+, fromShape+, setSafeInputMode+, allowInternalEdges+, build+, shape+) where++import OpenCascade.ShapeUpgrade.Types (UnifySameDomain)+import OpenCascade.ShapeUpgrade.Internal.Destructors (deleteUnifySameDomain)+import OpenCascade.TopoDS.Internal.Destructors (deleteShape)+import qualified OpenCascade.TopoDS.Types as TopoDS+import OpenCascade.Internal.Bool (boolToCBool)+import OpenCascade.Internal.Exception (wrapException)+import Data.Acquire (Acquire, mkAcquire)+import Foreign.Ptr (Ptr)+import Foreign.C (CInt (..), CBool (..))++foreign import capi unsafe "hs_ShapeUpgrade_UnifySameDomain.h hs_new_ShapeUpgrade_UnifySameDomain_fromShape" rawFromShape+ :: Ptr TopoDS.Shape+ -> CBool+ -> CBool+ -> CBool+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO (Ptr UnifySameDomain)++fromShape :: Ptr TopoDS.Shape -> Bool -> Bool -> Bool -> Acquire (Ptr UnifySameDomain)+fromShape s unifyEdges unifyFaces concatBSplines =+ mkAcquire+ (wrapException $ rawFromShape s (boolToCBool unifyEdges) (boolToCBool unifyFaces) (boolToCBool concatBSplines))+ deleteUnifySameDomain++foreign import capi unsafe "hs_ShapeUpgrade_UnifySameDomain.h hs_ShapeUpgrade_UnifySameDomain_setSafeInputMode" rawSetSafeInputMode :: Ptr UnifySameDomain -> CBool -> IO ()++setSafeInputMode :: Ptr UnifySameDomain -> Bool -> IO ()+setSafeInputMode unify = rawSetSafeInputMode unify . boolToCBool++foreign import capi unsafe "hs_ShapeUpgrade_UnifySameDomain.h hs_ShapeUpgrade_UnifySameDomain_allowInternalEdges" rawAllowInternalEdges :: Ptr UnifySameDomain -> CBool -> IO ()++allowInternalEdges :: Ptr UnifySameDomain -> Bool -> IO ()+allowInternalEdges unify = rawAllowInternalEdges unify . boolToCBool++foreign import capi unsafe "hs_ShapeUpgrade_UnifySameDomain.h hs_ShapeUpgrade_UnifySameDomain_build" rawBuild :: Ptr UnifySameDomain -> Ptr CInt -> Ptr (Ptr ()) -> IO ()++build :: Ptr UnifySameDomain -> IO ()+build unify = wrapException $ rawBuild unify++foreign import capi unsafe "hs_ShapeUpgrade_UnifySameDomain.h hs_ShapeUpgrade_UnifySameDomain_shape" rawShape :: Ptr UnifySameDomain -> IO (Ptr TopoDS.Shape)++shape :: Ptr UnifySameDomain -> Acquire (Ptr TopoDS.Shape)+shape unify = mkAcquire (rawShape unify) deleteShape
src/OpenCascade/Standard/Failure.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE CApiFFI #-} module OpenCascade.Standard.Failure ( Failure+, getTypeName , getMessageString , getStackString ) where@@ -8,6 +9,8 @@ import OpenCascade.Standard.Types (Failure) import Foreign.C (CString) import Foreign.Ptr (Ptr)++foreign import capi unsafe "hs_Standard_Failure.h hs_Standard_Failure_GetTypeName" getTypeName :: Ptr Failure -> IO CString foreign import capi unsafe "hs_Standard_Failure.h hs_Standard_Failure_GetMessageString" getMessageString :: Ptr Failure -> IO CString
− src/OpenCascade/TColStd/IndexedDataMapOfStringString.hs
@@ -1,15 +0,0 @@-{-# 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
@@ -1,9 +0,0 @@-{-# 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
@@ -1,6 +0,0 @@-{-# LANGUAGE EmptyDataDecls #-}-module OpenCascade.TColStd.Types-( IndexedDataMapOfStringString-) where--data IndexedDataMapOfStringString
+ src/OpenCascade/TCollection.hs view
@@ -0,0 +1,4 @@+module OpenCascade.TCollection+( module OpenCascade.TCollection.Types+) where+import OpenCascade.TCollection.Types
+ src/OpenCascade/TCollection/Types.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE EmptyDataDecls #-}+module OpenCascade.TCollection.Types+( AsciiString+) where++data AsciiString
+ src/OpenCascade/TDF/Label.hs view
@@ -0,0 +1,15 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.TDF.Label+( Label+, isNull+) where++import OpenCascade.TDF.Types (Label)+import OpenCascade.Internal.Bool (cBoolToBool)+import Foreign.Ptr (Ptr)+import Foreign.C (CBool (..))++foreign import capi unsafe "hs_TDF_Label.h hs_TDF_Label_isNull" rawIsNull :: Ptr Label -> IO CBool++isNull :: Ptr Label -> IO Bool+isNull = fmap cBoolToBool . rawIsNull
src/OpenCascade/TopExp.hs view
@@ -1,5 +1,35 @@+{-# LANGUAGE CApiFFI #-} module OpenCascade.TopExp ( module OpenCascade.TopExp.Types+, mapShapesAndAncestors ) where import OpenCascade.TopExp.Types+import qualified OpenCascade.TopoDS.Types as TopoDS+import qualified OpenCascade.TopAbs as TopAbs+import qualified OpenCascade.NCollection.Types as NCollection+import OpenCascade.Internal.Exception (wrapException)+import Foreign.Ptr (Ptr)+import Foreign.C (CInt (..))++foreign import capi unsafe "hs_TopExp.h hs_TopExp_mapShapesAndAncestors" rawMapShapesAndAncestors+ :: Ptr TopoDS.Shape+ -> CInt+ -> CInt+ -> (Ptr (NCollection.IndexedDataMap TopoDS.Shape (NCollection.List TopoDS.Shape)))+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO ()++mapShapesAndAncestors + :: Ptr TopoDS.Shape+ -> TopAbs.ShapeEnum+ -> TopAbs.ShapeEnum+ -> (Ptr (NCollection.IndexedDataMap TopoDS.Shape (NCollection.List TopoDS.Shape)))+ -> IO () +mapShapesAndAncestors shape subshapeType ancestorType theMap =+ wrapException $ rawMapShapesAndAncestors+ shape + (fromIntegral . fromEnum $ subshapeType)+ (fromIntegral . fromEnum $ ancestorType)+ theMap
− src/OpenCascade/TopTools.hs
@@ -1,4 +0,0 @@-module OpenCascade.TopTools -( module OpenCascade.TopTools.Types-) where-import OpenCascade.TopTools.Types
− src/OpenCascade/TopTools/Types.hs
@@ -1,6 +0,0 @@-{-# LANGUAGE EmptyDataDecls #-}-module OpenCascade.TopTools.Types -( ListOfShape-) where--data ListOfShape
+ src/OpenCascade/XCAFDoc/ColorTool.hs view
@@ -0,0 +1,41 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.XCAFDoc.ColorTool+( ColorTool+, setColor+, setShapeColor+) where++import OpenCascade.XCAFDoc.Types (ColorTool)+import OpenCascade.XCAFDoc.ColorType (ColorType)+import qualified OpenCascade.TopoDS.Types as TopoDS+import qualified OpenCascade.Quantity.Types as Quantity+import OpenCascade.Handle (Handle)+import OpenCascade.TDF.Types (Label)+import OpenCascade.Internal.Bool (cBoolToBool)+import OpenCascade.Internal.Exception (wrapException)+import Foreign.C (CBool (..), CInt (..))+import Foreign.Ptr (Ptr)++foreign import capi unsafe "hs_XCAFDoc_ColorTool.h hs_XCAFDoc_ColorTool_setColor" rawSetColor+ :: Ptr (Handle ColorTool)+ -> Ptr Label+ -> Ptr Quantity.Color+ -> CInt+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO ()++setColor :: Ptr (Handle ColorTool) -> Ptr Label -> Ptr Quantity.Color -> ColorType -> IO ()+setColor tool label color colorType = wrapException $ rawSetColor tool label color (fromIntegral . fromEnum $ colorType)++foreign import capi unsafe "hs_XCAFDoc_ColorTool.h hs_XCAFDoc_ColorTool_setShapeColor" rawSetShapeColor+ :: Ptr (Handle ColorTool)+ -> Ptr TopoDS.Shape+ -> Ptr Quantity.Color+ -> CInt+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO CBool++setShapeColor :: Ptr (Handle ColorTool) -> Ptr TopoDS.Shape -> Ptr Quantity.Color -> ColorType -> IO Bool+setShapeColor tool shape color colorType = cBoolToBool <$> wrapException (rawSetShapeColor tool shape color (fromIntegral . fromEnum $ colorType))
+ src/OpenCascade/XCAFDoc/ColorType.hs view
@@ -0,0 +1,6 @@+module OpenCascade.XCAFDoc.ColorType+( ColorType (..)+) where++-- this should match the enumeration in XCAFDoc_ColorType+data ColorType = ColorGen | ColorSurf | ColorCurv deriving (Show, Eq, Enum)
src/OpenCascade/XCAFDoc/DocumentTool.hs view
@@ -1,10 +1,12 @@ {-# LANGUAGE CApiFFI #-} module OpenCascade.XCAFDoc.DocumentTool ( shapeTool+, colorTool+, visMaterialTool ) where -import OpenCascade.XCAFDoc.Types (ShapeTool)-import OpenCascade.XCAFDoc.Internal.Destructors (deleteShapeToolHandle)+import OpenCascade.XCAFDoc.Types (ShapeTool, ColorTool, VisMaterialTool)+import OpenCascade.XCAFDoc.Internal.Destructors (deleteShapeToolHandle, deleteColorToolHandle, deleteVisMaterialToolHandle) import OpenCascade.TDF.Types (Label) import OpenCascade.Handle (Handle) import OpenCascade.Internal.Exception (wrapException)@@ -20,3 +22,21 @@ shapeTool :: Ptr Label -> Acquire (Ptr (Handle ShapeTool)) shapeTool label = mkAcquire (wrapException $ rawShapeTool label) deleteShapeToolHandle++foreign import capi unsafe "hs_XCAFDoc_DocumentTool.h hs_XCAFDoc_DocumentTool_colorTool" rawColorTool+ :: Ptr Label+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO (Ptr (Handle ColorTool))++colorTool :: Ptr Label -> Acquire (Ptr (Handle ColorTool))+colorTool label = mkAcquire (wrapException $ rawColorTool label) deleteColorToolHandle++foreign import capi unsafe "hs_XCAFDoc_DocumentTool.h hs_XCAFDoc_DocumentTool_visMaterialTool" rawVisMaterialTool+ :: Ptr Label+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO (Ptr (Handle VisMaterialTool))++visMaterialTool :: Ptr Label -> Acquire (Ptr (Handle VisMaterialTool))+visMaterialTool label = mkAcquire (wrapException $ rawVisMaterialTool label) deleteVisMaterialToolHandle
src/OpenCascade/XCAFDoc/Internal/Destructors.hs view
@@ -1,10 +1,22 @@ {-# LANGUAGE CApiFFI #-}-module OpenCascade.XCAFDoc.Internal.Destructors -( deleteShapeToolHandle +module OpenCascade.XCAFDoc.Internal.Destructors+( deleteShapeToolHandle+, deleteColorToolHandle+, deleteVisMaterialToolHandle+, deleteVisMaterialHandle+, deleteVisMaterialPBR ) where import OpenCascade.XCAFDoc.Types import OpenCascade.Handle-import Foreign.Ptr +import Foreign.Ptr foreign import capi unsafe "hs_XCAFDoc_ShapeTool.h hs_delete_XCAFDoc_ShapeTool" deleteShapeToolHandle :: Ptr (Handle ShapeTool) -> IO ()++foreign import capi unsafe "hs_XCAFDoc_ColorTool.h hs_delete_XCAFDoc_ColorTool" deleteColorToolHandle :: Ptr (Handle ColorTool) -> IO ()++foreign import capi unsafe "hs_XCAFDoc_VisMaterialTool.h hs_delete_XCAFDoc_VisMaterialTool" deleteVisMaterialToolHandle :: Ptr (Handle VisMaterialTool) -> IO ()++foreign import capi unsafe "hs_XCAFDoc_VisMaterial.h hs_delete_XCAFDoc_VisMaterial" deleteVisMaterialHandle :: Ptr (Handle VisMaterial) -> IO ()++foreign import capi unsafe "hs_XCAFDoc_VisMaterialPBR.h hs_delete_XCAFDoc_VisMaterialPBR" deleteVisMaterialPBR :: Ptr VisMaterialPBR -> IO ()
src/OpenCascade/XCAFDoc/ShapeTool.hs view
@@ -2,6 +2,8 @@ module OpenCascade.XCAFDoc.ShapeTool ( ShapeTool , addShape+, addSubShape+, findShape ) where import OpenCascade.XCAFDoc.Types (ShapeTool)@@ -26,3 +28,29 @@ addShape :: Ptr (Handle ShapeTool) -> Ptr TopoDS.Shape -> Bool -> Bool -> Acquire (Ptr Label) addShape tool shape makeAssembly makePrepare = mkAcquire (wrapException $ rawAddShape tool shape (boolToCBool makeAssembly) (boolToCBool makePrepare)) deleteLabel++foreign import capi unsafe "hs_XCAFDoc_ShapeTool.h hs_XCAFDoc_ShapeTool_addSubShape" rawAddSubShape+ :: Ptr (Handle ShapeTool)+ -> Ptr Label+ -> Ptr TopoDS.Shape+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO (Ptr Label)++-- | the returned Label may be null+-- if the sub shape is not valid for the shape at the given label+addSubShape :: Ptr (Handle ShapeTool) -> Ptr Label -> Ptr TopoDS.Shape -> Acquire (Ptr Label)+addSubShape tool shapeLabel subShape = mkAcquire (wrapException $ rawAddSubShape tool shapeLabel subShape) deleteLabel++foreign import capi unsafe "hs_XCAFDoc_ShapeTool.h hs_XCAFDoc_ShapeTool_findShape" rawFindShape+ :: Ptr (Handle ShapeTool)+ -> Ptr TopoDS.Shape+ -> CBool+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO (Ptr Label)++-- | the returned Label may be null,+-- if the shape is not in the document+findShape :: Ptr (Handle ShapeTool) -> Ptr TopoDS.Shape -> Bool -> Acquire (Ptr Label)+findShape tool shape findInstance = mkAcquire (wrapException $ rawFindShape tool shape (boolToCBool findInstance)) deleteLabel
src/OpenCascade/XCAFDoc/Types.hs view
@@ -1,6 +1,14 @@ {-# LANGUAGE EmptyDataDecls #-}-module OpenCascade.XCAFDoc.Types +module OpenCascade.XCAFDoc.Types ( ShapeTool+, ColorTool+, VisMaterialTool+, VisMaterial+, VisMaterialPBR ) where data ShapeTool+data ColorTool+data VisMaterialTool+data VisMaterial+data VisMaterialPBR
+ src/OpenCascade/XCAFDoc/VisMaterial.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.XCAFDoc.VisMaterial+( VisMaterial+, new+, setPbrMaterial+, setAlphaMode+, setFaceCulling+, setRawName+) where++import OpenCascade.XCAFDoc.Types (VisMaterial, VisMaterialPBR)+import OpenCascade.XCAFDoc.Internal.Destructors (deleteVisMaterialHandle)+import OpenCascade.Graphic3D.AlphaMode (AlphaMode)+import OpenCascade.Graphic3D.TypeOfBackfacingModel (TypeOfBackfacingModel)+import OpenCascade.Handle (Handle)+import OpenCascade.Internal.Exception (wrapException)+import Foreign.Ptr (Ptr)+import Foreign.C (CDouble (..), CInt (..))+import Foreign.C.String (CString, withCString)+import Data.Acquire (Acquire, mkAcquire)++foreign import capi unsafe "hs_XCAFDoc_VisMaterial.h hs_new_XCAFDoc_VisMaterial" rawNew :: IO (Ptr (Handle VisMaterial))++new :: Acquire (Ptr (Handle VisMaterial))+new = mkAcquire rawNew deleteVisMaterialHandle++foreign import capi unsafe "hs_XCAFDoc_VisMaterial.h hs_XCAFDoc_VisMaterial_setPbrMaterial" rawSetPbrMaterial+ :: Ptr (Handle VisMaterial)+ -> Ptr VisMaterialPBR+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO ()++setPbrMaterial :: Ptr (Handle VisMaterial) -> Ptr VisMaterialPBR -> IO ()+setPbrMaterial material pbr = wrapException $ rawSetPbrMaterial material pbr++foreign import capi unsafe "hs_XCAFDoc_VisMaterial.h hs_XCAFDoc_VisMaterial_setAlphaMode" rawSetAlphaMode+ :: Ptr (Handle VisMaterial)+ -> CInt+ -> CDouble+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO ()++setAlphaMode :: Ptr (Handle VisMaterial) -> AlphaMode -> Double -> IO ()+setAlphaMode material mode cutOff = wrapException $ rawSetAlphaMode material (fromIntegral . fromEnum $ mode) (realToFrac cutOff)++foreign import capi unsafe "hs_XCAFDoc_VisMaterial.h hs_XCAFDoc_VisMaterial_setFaceCulling" rawSetFaceCulling+ :: Ptr (Handle VisMaterial)+ -> CInt+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO ()++setFaceCulling :: Ptr (Handle VisMaterial) -> TypeOfBackfacingModel -> IO ()+setFaceCulling material faceCulling = wrapException $ rawSetFaceCulling material (fromIntegral . fromEnum $ faceCulling)++foreign import capi unsafe "hs_XCAFDoc_VisMaterial.h hs_XCAFDoc_VisMaterial_setRawName" rawSetRawName+ :: Ptr (Handle VisMaterial)+ -> CString+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO ()++setRawName :: Ptr (Handle VisMaterial) -> String -> IO ()+setRawName material name = withCString name $ \str -> wrapException $ rawSetRawName material str
+ src/OpenCascade/XCAFDoc/VisMaterialPBR.hs view
@@ -0,0 +1,43 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.XCAFDoc.VisMaterialPBR+( VisMaterialPBR+, new+, setBaseColor+, setMetallic+, setRoughness+, setEmissiveFactor+, setRefractionIndex+) where++import OpenCascade.XCAFDoc.Types (VisMaterialPBR)+import qualified OpenCascade.Quantity.Types as Quantity+import qualified OpenCascade.NCollection.Types as NCollection+import OpenCascade.XCAFDoc.Internal.Destructors (deleteVisMaterialPBR)+import Foreign.Ptr (Ptr)+import Foreign.C (CDouble (..))+import Data.Acquire (Acquire, mkAcquire)+import Data.Coerce (coerce)++foreign import capi unsafe "hs_XCAFDoc_VisMaterialPBR.h hs_new_XCAFDoc_VisMaterialPBR" rawNew :: IO (Ptr VisMaterialPBR)++new :: Acquire (Ptr VisMaterialPBR)+new = mkAcquire rawNew deleteVisMaterialPBR++foreign import capi unsafe "hs_XCAFDoc_VisMaterialPBR.h hs_XCAFDoc_VisMaterialPBR_setBaseColor" setBaseColor :: Ptr VisMaterialPBR -> Ptr Quantity.ColorRGBA -> IO ()++foreign import capi unsafe "hs_XCAFDoc_VisMaterialPBR.h hs_XCAFDoc_VisMaterialPBR_setMetallic" rawSetMetallic :: Ptr VisMaterialPBR -> CDouble -> IO ()++setMetallic :: Ptr VisMaterialPBR -> Double -> IO ()+setMetallic = coerce rawSetMetallic++foreign import capi unsafe "hs_XCAFDoc_VisMaterialPBR.h hs_XCAFDoc_VisMaterialPBR_setRoughness" rawSetRoughness :: Ptr VisMaterialPBR -> CDouble -> IO ()++setRoughness :: Ptr VisMaterialPBR -> Double -> IO ()+setRoughness = coerce rawSetRoughness++foreign import capi unsafe "hs_XCAFDoc_VisMaterialPBR.h hs_XCAFDoc_VisMaterialPBR_setEmissiveFactor" setEmissiveFactor :: Ptr VisMaterialPBR -> Ptr (NCollection.Vec3 Float) -> IO ()++foreign import capi unsafe "hs_XCAFDoc_VisMaterialPBR.h hs_XCAFDoc_VisMaterialPBR_setRefractionIndex" rawSetRefractionIndex :: Ptr VisMaterialPBR -> CDouble -> IO ()++setRefractionIndex :: Ptr VisMaterialPBR -> Double -> IO ()+setRefractionIndex = coerce rawSetRefractionIndex
+ src/OpenCascade/XCAFDoc/VisMaterialTool.hs view
@@ -0,0 +1,52 @@+{-# LANGUAGE CApiFFI #-}+module OpenCascade.XCAFDoc.VisMaterialTool+( VisMaterialTool+, addMaterial+, setShapeMaterial+, setShapeMaterialFromShape+) where++import OpenCascade.XCAFDoc.Types (VisMaterialTool, VisMaterial)+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 (cBoolToBool)+import OpenCascade.Internal.Exception (wrapException)+import Data.Acquire (Acquire, mkAcquire)+import Foreign.C (CBool (..), CInt)+import Foreign.C.String (CString, withCString)+import Foreign.Ptr (Ptr)++foreign import capi unsafe "hs_XCAFDoc_VisMaterialTool.h hs_XCAFDoc_VisMaterialTool_addMaterial" rawAddMaterial+ :: Ptr (Handle VisMaterialTool)+ -> Ptr (Handle VisMaterial)+ -> CString+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO (Ptr Label)++addMaterial :: Ptr (Handle VisMaterialTool) -> Ptr (Handle VisMaterial) -> String -> Acquire (Ptr Label)+addMaterial tool material name = mkAcquire (withCString name $ \str -> wrapException $ rawAddMaterial tool material str) deleteLabel++foreign import capi unsafe "hs_XCAFDoc_VisMaterialTool.h hs_XCAFDoc_VisMaterialTool_setShapeMaterial" rawSetShapeMaterial+ :: Ptr (Handle VisMaterialTool)+ -> Ptr Label+ -> Ptr Label+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO ()++setShapeMaterial :: Ptr (Handle VisMaterialTool) -> Ptr Label -> Ptr Label -> IO ()+setShapeMaterial tool shapeLabel materialLabel = wrapException $ rawSetShapeMaterial tool shapeLabel materialLabel++foreign import capi unsafe "hs_XCAFDoc_VisMaterialTool.h hs_XCAFDoc_VisMaterialTool_setShapeMaterialFromShape" rawSetShapeMaterialFromShape+ :: Ptr (Handle VisMaterialTool)+ -> Ptr TopoDS.Shape+ -> Ptr Label+ -> Ptr CInt+ -> Ptr (Ptr ())+ -> IO CBool++setShapeMaterialFromShape :: Ptr (Handle VisMaterialTool) -> Ptr TopoDS.Shape -> Ptr Label -> IO Bool+setShapeMaterialFromShape tool shape materialLabel = cBoolToBool <$> wrapException (rawSetShapeMaterialFromShape tool shape materialLabel)