packages feed

opencascade-hs-0.8.0.0: CHANGELOG.md

# Changelog for `opencascade-hs`

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to the
[Haskell Package Versioning Policy](https://pvp.haskell.org/).

## Unreleased

## 0.8.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

## 0.6.3.0

- Add `compose` and `composed` to `OpenCascade.TopoDS.Shape`
- Add `normalized` and `normalize` to `OpenCascade.GP.Vec` and `OpenCascade.GP.Vec2d`
- Convert most FFI functions such that C++ exceptions thrown within them are converted into Haskell Exceptions

## 0.6.2.1

## 0.6.2.0

- Add `surfaceProperties` and `linearProperties` to `OpenCascade.BRepGProp`
- Add `OpenCascade.GCPnts.AbscissaPoint`

## 0.6.1.0

- Add `OpenCascade.BRepPrimAPI_MakeTorus`

## 0.6.0.1

## 0.6.0.0

- Add `OpenCascade.BRepFiletAPI_MakeChamfer`

## 0.5.1.1

## 0.5.1.0

### Added

- Add `OpenCascade.BOPAlgo.Builder`
- Add `OpenCascade.BOPAlgo.BOP`
- Add `OpenCascade.BOPAlgo.Operation`

## 0.5.0.1

## 0.5.0.0

### Added

- Add `OpenCascade.BRepFilletAPI.MakeFillet` methods `reset`, `nbFaultyContours`, `faultyContour`, `nbEdges`, `edge` and `remove`
- Add `OpenCascade.BRepBuilderAPI.MakeShape` method `build`
- Add `OpenCascade.BRepOffsetAPI.MakePipe` constructor `fromWireShapeTrihedronModeAndForceC1`
- Add `OpenCascade.GeomFill.Trihedron`
- Add `OpenCascade.BRepAdaptor.Curve`
- Add `OpenCascade.GeomAbs.CurveType`
- Add `OpenCascade.GeomAbs.Shape`
- Add `OpenCascade.GeomConvert.BSplineCurveToBezierCurve`
- Add `OpenCascade.GeomConvert.ApproxCurve`
- Add `OpenCascade.Geom.BSplineCurve`
- Add `OpenCascade.Geom.BezierCurve` methods `pole`, `nbPoles` and `isRational`
- Add `OpenCascade.GeomAdaptor.Curve`
- Add `OpenCascade.ShapeConstruct.Curve`
- Add `OpenCascade.HLRAlgo.Projector`
- Add `OpenCascade.HLRBRep.Algo`
- Add `OpenCascade.HLRBRep.HLRToShape`
- Add `OpenCascade.HLRBRep.TypeOfResultingEdge`
- Add `OpenCascade.BRepLib` method `buildCurve3d`
- Add `OpenCascade.Geom.Curve` methods `firstParameter` and `lastParameter`

## 0.4.0.0

### Added

- Add `OpenCascade.BRepBuilderAPI.MakeVertex`
- Add `OpenCascade.BRepBuilderAPI.MakeWire.vertex`
- Add `OpenCascade.BRepOffsetAPI.ThruSections`
- Add `OpenCascade.BRep.Tool.pnt`
- Add `OpenCascade.Geom.Curve` methods `reversedParameter` and `reversed`
- Add `OpenCascade.ShapeExtend.WireData`
- Add `Show` instance to `OpenCascade.BRepBuilderAPI.WireError`

## 0.3.0.1

## 0.3.0.0

### Changed

- The project now depends on (and supports) OpenCascade `7.8.0` or later

### Added 

- added `OpenCascade.TopTools.ShapeMapHasher` (this replaces `hashCode` in `OpenCascade.TopoDS.Shape`)

### Removed

- removed `OpenCascade.TopoDS.Shape.hashCode` 

## 0.2.2.1

## 0.2.2.0

### Fixed

- Fix `OpenCascade.GProps.fromSystemLocation`

### Added 

- Added OpenCascade.StlAPI.Reader
- Added OpenCascade.ShapeFix.Solid
- Added OpenCascade.ShapeExtend.Status
- Added OpenCascade.STEPControl.Reader
- Added OpenCascade.XSControl.Reader
- Added OpenCascade.RWGltf.CafReader
- Added OpenCascade.RWMesh.CafReader
- Added OpenCascade.TopoDS.Builder
- Added OpenCascade.BRepBuilderAPI.Copy
- Added OpenCascade.BRepBuilderAPI.Sewing
- Added OpenCascade.Poly.Triangulation
- Added OpenCascade.Poly.Triangle
- Added OpenCascade.BRep.Tool.triangulation
- Added OpenCascade.BRepBuilderAPI.MakePolygon
- Added OpenCascade.RWObj.CafWriter
- Added OpenCascade.RWObj.CafReader
- Added OpenCascade.BRepLib (orientClosedSolid)

## 0.2.1.0

### Added

- Added OpenCascade.Message.ProgressRange
- Added OpenCascade.RWGltf.CafWriter
- Added OpenCascade.RWGltf.Types
- Added OpenCascade.TColStd.IndexedDataMapOfStringString
- Added OpenCascade.TDocStd.Document
- Added OpenCascade.XCAFDoc.DocumentTool
- Added OpenCascade.XCAFDoc.ShapeTool

## 0.2.0.0

### Added

- Added OpenCascade.BRepGProp
- Added OpenCascade.GProp.GProps
- Added OpenCascade.BRepBndLib 
- Added OpenCascade.Bnd.Box
- Added OpenCascade.Bnd.OBB
- Added OpenCascade.GP.XYZ (just the barebones Constructor and Getter/Setter methods)
- Added `setDisplacement` to OpenCascade.GP.Trsf

## 0.1.2.2 - 2024-01-09 

## 0.1.2.1 - 2024-01-09 

### Added 

- Added OpenCascade.BRepPrimAPI.MakeCone

## 0.1.1.1 - 2023-12-12 

### Fixed 

- Include header files in package, fixing build

## 0.1.1.0 - 2023-12-12 

### Added

- Add OpenCascade.BRepOffsetAPI.MakeOffsetShape
- Add OpenCascade.GeomAbs.JoinType
- Add OpenCascade.BRepOffset.Mode
- Add `dn` to OpenCascade.Geom.Curve

## 0.1.0.0 - 2023-12-05 

### Added 

- Add OpenCascade.Font, including:
    - Add OpenCascade.Font.BRepFont
    - Add OpenCascade.Font.BRepTextBuilder
    - Add OpenCascade.Font.FontAspect
    - Add OpenCascade.Graphic3D.HorizontalTextAlignment
    - Add OpenCascade.Graphic3D.VerticalTextAlignment
- Add OpenCascade.GP.Ax3

### Fixed

- Fix build on MacOS (tested with the homebrew install of OpenCASCADE)
- Fix OpenCascade.TopoDS.Shape.copy

## 0.0.0.1 - 2023-11-29