Open CASCADE Technology 7.9.0 Released
Open Cascade is delighted to announce the release of Open CASCADE Technology version 7.9.0 to the public.
Overview
Version 7.9.0 is a minor release incorporating over 250 improvements and bug fixes compared to version 7.8.0.
What's New in OCCT 7.9.0
Core
- Improved code quality through static analysis and consistent code formatting with Clang-Format.
- Enhanced
Standard_Type
implementation for better RTTI support and optimizedIsKind
operations. - Reorganized foundation classes for improved performance, including inlining
Standard_Type
instances. - Deprecated the old aliasing for Handle types (e.g.,
Handle_<Type>
). - Improved memory management and container optimization, including refactoring
ShapeHealingMap
toNCollection
. - Updated map operations with the new
NCollection_MapAlgo
for union, intersection, and other set operations. - Updated the
RemoveAll
method inAsciiString
to correctly truncate the string.
Build System
- Added VCPKG manifest mode support (beta) for managing third-party dependencies.
- Improved handling of third-party dependencies, including Draco, VTK, and OpenVR from Ubuntu packages.
- Updated the minimum CMake version requirement to 3.10.
- Added an option to enable/disable Git hash extraction in the version string.
- Introduced a warning message regarding LGPL 2.1 licensing limitations for static linking.
- Fixed an issue where
custom.bat/sh
was not regenerated in the build directory. - Added compiler version checks for C++17 support.
- Removed Genproj.
- Fixed static linking failures.
- Implemented new PCH for faster compilation.
- Added MinGW default third-party package support.
Modeling
- Fixed multiple issues in the
UnifySameDomain
algorithm, including cases withSurfaceOfRevolution
orSurfaceOfLinearExtrusion
based onTrimmedCurve
. - Improved
BRepOffset
andBRepFill
algorithms, including skipping degenerated curves inBRepOffset_Tool::TryProject
and adding boundary checks inBRepFill_Filling
. - Enhanced shape processing and transformation handling, including the removal of surfaces after transformation.
- Fixed various geometric computation issues, including resetting Plane YVector and enhancing intersection handling for closed curves in
IntPatch_Intersection
. - Improved the robustness of boolean operations.
- Added a warning for incomplete wire detection in
WireFromList
. - Fixed NURB conversion for degenerated cases.
- Disabled exception with scaling transformation.
- Fixed degenerated curves in offset operations.
- Corrected intersection curves handling.
- Resolved BRepOffset_Tool segmentation fault.
- Fixed sphere cutting and Boolean operations.
Visualization
- Enhanced
AIS_Manipulator
functionality, including flat skin support and transformation depending on camera rotation. - Improved selection handling and transformation persistence.
- Added support for flat skin in
AIS_Manipulator
presentation. - Enhanced Z-layer handling in
V3d_View
, including an option to dump only a selection of z-layers. - Improved transparency handling in various rendering modes.
- Implemented an interface to change
myToFlipOutput
ofOpenGl_View
. - Fixed direction calculation for
Select3D_SensitiveCylinder
created fromGeom_CylindricalSurface
. - Added support for vertical mouse movement zooming.
- Enhanced transparency handling for capping in 'Graphic3d_RTM_BLEND_OIT' mode.
- Fixed selection for simple shapes.
- Resolved manipulator interaction issues.
- Fixed transform persistence and view transformation.
- Addressed transparency and rendering issues.
Data Exchange
- Migrated shape healing settings to a single object,
DE_ShapeFixParameters
. - STEP:
- Added metadata support for products, including product attributes.
- Enhanced tessellated geometry handling.
- Improved thread safety.
- Fixed multiple crash issues, including those related to null curves and out-of-range indices.
- Added support for
GENERAL_PROPERTY
. - Implemented common logic for scaling during the write procedure.
- GLTF:
- Added vertex and edge support.
- Improved material handling, including fixing material color space and edge colors.
- Enhanced import/export functionality.
- Added metadata support.
- Implemented
XCAFDoc
filter tree functionality. - Improved handling of IGES imports, including fixing a resource leak when parsing an invalid file and addressing a crash with degenerated BSplines.
- Moved
StepData_ConfParameters
to theDESTEP
package. - Reorganized DE Wrapper classes to have a single style and logic:
DE<FORMAT>_Parameters
,DE<FORMAT>_Provider
, andDE<FORMAT>_ConfigurationNode
.
Testing
- Implemented comprehensive GitHub Actions workflows for build validation (Ubuntu, Windows, MacOS), code formatting, and documentation building.
- Added automated documentation building.
- Enhanced test result comparison systems.
- Improved cross-platform testing support.
- Added WebAssembly build validation.
- Added a new TCL command to clear the test folder of skipped tests.
Documentation
- Updated code documentation and fixed various typos.
- Enhanced API documentation.
- Improved contributing guidelines.
- Updated issue templates and release notes.
- Updated links in the README.
How to Upgrade
For details on upgrading to the new version check Upgrade 790
Windows packages and 3rd-party
The release delivers x64 and x32 binaries in both Release and Debug configurations and third-party libraries [Will be available soon]
Full Changelog: V7_8_0...V7_9_0