github Open-Cascade-SAS/OCCT V7_9_0

4 days ago

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 optimized IsKind 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 to NCollection.
  • Updated map operations with the new NCollection_MapAlgo for union, intersection, and other set operations.
  • Updated the RemoveAll method in AsciiString 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 with SurfaceOfRevolution or SurfaceOfLinearExtrusion based on TrimmedCurve.
  • Improved BRepOffset and BRepFill algorithms, including skipping degenerated curves in BRepOffset_Tool::TryProject and adding boundary checks in BRepFill_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 of OpenGl_View.
  • Fixed direction calculation for Select3D_SensitiveCylinder created from Geom_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 the DESTEP package.
  • Reorganized DE Wrapper classes to have a single style and logic: DE<FORMAT>_Parameters, DE<FORMAT>_Provider, and DE<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

Don't miss a new OCCT release

NewReleases is sending notifications on new releases.