]> OCCT Git - occt.git/log
occt.git
11 days agoTesting - Draw testing clear up (#595)
Pasukhin Dmitry [Sun, 6 Jul 2025 21:44:42 +0000 (22:44 +0100)]
Testing - Draw testing clear up (#595)

- Deleted slow V3D and performance tests under `tests/v3d` and `tests/perf`.
- Updated `de_before_script` in DE/IGES tests to set `new_resource_path` to a subfolder per file.
- Added cleanup logic in `de_after_script` to delete the temporary resource directories.

11 days agoTesting - Adding ASCII code validation (#593)
Pasukhin Dmitry [Sun, 6 Jul 2025 20:00:22 +0000 (21:00 +0100)]
Testing - Adding ASCII code validation (#593)

- Split the existing regression test artifact upload into separate Windows and macOS/Linux steps with platform-specific paths.
- Added `ascii-check` job in the build-and-test workflow to detect non-ASCII characters in changed files.
- Introduced a new composite action (`.github/actions/ascii-check`) to scan diffs and report any non-ASCII content.

11 days agoTesting - Migration PR actions to VCPKG-based (#587)
Pasukhin Dmitry [Sun, 6 Jul 2025 13:35:22 +0000 (14:35 +0100)]
Testing - Migration PR actions to VCPKG-based (#587)

Update the default testing to use result of VCPKG.
The 3rd-party are stored in GitHub NuGet storage and reused.
The 3rd-party archive with installed 3rd-party added as an artefact
Updated the actions to work with VCPKG 3rd party

11 days agoDocumentation - Copilot instructions for OCCT development (#589)
Pasukhin Dmitry [Sun, 6 Jul 2025 12:27:09 +0000 (13:27 +0100)]
Documentation - Copilot instructions for OCCT development (#589)

Added copilot-instructions.md
Ignore other agents instruction for git history

2 weeks agoVisualization - Enhance FFmpeg Compatibility Layer and Update Video Recorder (#582)
Pasukhin Dmitry [Fri, 27 Jun 2025 13:38:01 +0000 (14:38 +0100)]
Visualization - Enhance FFmpeg Compatibility Layer and Update Video Recorder (#582)

- Creation of Media_FFmpegCompatibility.pxx to wrap deprecated functions and API changes.
- Refactoring of Media_FormatContext and Media_CodecContext to use the new compatibility layer.
- Updates to Image_VideoRecorder and its tests to leverage the new compatibility functions and ensure proper codec context handling.

3 weeks agoCoding - Optimize gp_Vec, gp_Vec2d, gp_XY, and gp_XYZ classes (#578)
Pasukhin Dmitry [Thu, 26 Jun 2025 08:37:35 +0000 (09:37 +0100)]
Coding - Optimize gp_Vec, gp_Vec2d, gp_XY, and gp_XYZ classes (#578)

Renamed parameters and improved consistency across methods.
Simplified mathematical computations and replaced indirect API calls with direct data member access where performance‐critical.
Updated and optimized matrix operations including inversion, transposition, and power calculations.

3 weeks agoCoding - Add conversion utilities for STEP geometrical and visual enumerations (...
Pasukhin Dmitry [Wed, 25 Jun 2025 10:40:51 +0000 (11:40 +0100)]
Coding - Add conversion utilities for STEP geometrical and visual enumerations (#545)

- Introduced RWStepGeom_RWTransitionCode for converting StepGeom_TransitionCode to/from string representations.
- Refactored RWStepGeom_RWTrimmedCurve to utilize RWStepGeom_RWTrimmingPreference for trimming preference conversions.
- Created RWStepGeom_RWTrimmingPreference for handling StepGeom_TrimmingPreference enumerations.
- Updated RWStepGeom_RWUniformCurve and related classes to use RWStepGeom_RWBSplineCurveForm for B-spline curve form conversions.
- Added RWStepGeom_RWUniformSurface and related classes to use RWStepGeom_RWBSplineSurfaceForm for B-spline surface form conversions.
- Implemented RWStepShape_RWBooleanOperator for boolean operator conversions in STEP shapes.
- Refactored RWStepShape_RWBooleanResult to utilize RWStepShape_RWBooleanOperator for boolean operator handling.
- Introduced RWStepVisual_RWCentralOrParallel for central or parallel projection type conversions.
- Added RWStepVisual_RWSurfaceSide for surface side enumeration conversions.
- Updated RWStepVisual_RWSurfaceStyleUsage to use RWStepVisual_RWSurfaceSide for handling surface side.
- Created RWStepVisual_RWTextPath for text path enumeration conversions.
- Refactored RWStepVisual_RWTextLiteral to utilize RWStepVisual_RWTextPath for text path handling.
- Updated RWStepVisual_RWViewVolume to use RWStepVisual_RWCentralOrParallel for projection type conversions.

3 weeks agoConfiguration - VCPKG add TclTk support (#580)
Pasukhin Dmitry [Wed, 25 Jun 2025 09:15:04 +0000 (10:15 +0100)]
Configuration - VCPKG add TclTk support (#580)

Introduces a new "tcltk" feature in vcpkg.json with relevant dependencies.
Updates tcl portfiles and patches to incorporate Tk building, installation, and cleanup.
Modifies CMake and batch environment templates to align with the new TclTk support.

3 weeks agoConfiguration - Remove jemalloc port files (#581)
Pasukhin Dmitry [Wed, 25 Jun 2025 09:14:14 +0000 (10:14 +0100)]
Configuration - Remove jemalloc port files (#581)

Removed overrides for jemalloc, now use standard port

3 weeks agoFoundation Classes - Matrix multiplied issue (#522)
Pasukhin Dmitry [Tue, 24 Jun 2025 11:38:31 +0000 (12:38 +0100)]
Foundation Classes - Matrix multiplied issue (#522)

Refactor multiplication to avoid self-correlation issues by using a temporary copy.
Add a test file (math_Matrix_Test.cxx) to verify proper behavior.

3 weeks agoShape Healing - Reusing Surface Analysis for Wire fixing (#565)
Pasukhin Dmitry [Mon, 23 Jun 2025 17:22:47 +0000 (18:22 +0100)]
Shape Healing - Reusing Surface Analysis for Wire fixing (#565)

Providing prepared analysis from ShapeFix_Face to wire.

3 weeks agoTesting - Update workflows to use Windows 2025 for builds and tests (#579)
Pasukhin Dmitry [Fri, 20 Jun 2025 20:22:15 +0000 (21:22 +0100)]
Testing - Update workflows to use Windows 2025 for builds and tests (#579)

- Replace all `windows-2022` runners with `windows-2025`
- Add `ubuntu-24.04-arm` and `ubuntu-22.04-arm` to the OCCT build matrix

3 weeks agoData Exchange, Step Export - Ignoring unit factors during tessellation export (#577)
ikochetkova [Fri, 20 Jun 2025 14:38:33 +0000 (15:38 +0100)]
Data Exchange, Step Export - Ignoring unit factors during tessellation export (#577)

Provide unit factors into the tessellation export methods.

6 weeks agoCoding, Data Exchange - Optimize entity graph evaluating #562
Pasukhin Dmitry [Fri, 30 May 2025 15:11:22 +0000 (16:11 +0100)]
Coding, Data Exchange - Optimize entity graph evaluating #562

Updated the Evaluate() function to integrate memory pool usage and streamline the evaluation loop.
Simplified shared entity retrieval in GetShareds() and Sharings().
Added necessary include for NCollection_IncAllocator to support memory pooling.

6 weeks agoCoding - Refactor switch-case statements and improve memory management #569
Pasukhin Dmitry [Fri, 30 May 2025 13:31:26 +0000 (14:31 +0100)]
Coding - Refactor switch-case statements and improve memory management #569

- Added missing break statements in switch-case blocks in LDOMBasicString, LDOM_BasicElement, PCDM_ReadWriter, and IntCurve_IntConicConic_1 to prevent fall-through behavior.
- Enhanced Standard_Macro.hxx to support fallthrough attributes across different compilers.
- Corrected the use of std::forward in Standard_MemoryUtils.hxx for better type deduction.
- Replaced raw arrays with NCollection_Array1 in AdvApp2Var_SysBase for improved memory safety.
- Updated Extrema_ExtCC2d to utilize smart pointers for better memory management and avoid potential leaks.
- Refactored Units_UnitsDictionary to use NCollection_Array2 for matrix representation, improving readability and maintainability.
- Initialized TranFirst and TranLast in TopTrans_CurveTransition constructor for better default state management.
- Set myStatus in ShapeConstruct_ProjectCurveOnSurface constructor to ensure proper initialization.
- Changed matrix access in Units_UnitsDictionary to use NCollection_Array2 syntax for consistency.

7 weeks agoConfiguration - Fixed issue with CSF variable overwriting #561
Pasukhin Dmitry [Sat, 24 May 2025 11:27:14 +0000 (12:27 +0100)]
Configuration - Fixed issue with CSF variable overwriting #561

Include occt_csf file to define CSF variable before usage.

7 weeks agoData Exchange, GLTF - fix saving edges when Merge Faces is enabled #554
Elias Cohenca [Fri, 23 May 2025 11:24:13 +0000 (14:24 +0300)]
Data Exchange, GLTF - fix saving edges when Merge Faces is enabled #554

Removed check for LineStrip mode to force use of Lines for merged faces
Updated primitive mode checks by removing LineStrip references
Added getShapeType to correctly determine the underlying shape type from compounds and updated index calculation logic

8 weeks agoModeling - Infinite loop when Simplifying Fuse operation, CPU to 100% #557
Dmitrii Kulikov [Thu, 22 May 2025 10:29:54 +0000 (11:29 +0100)]
Modeling - Infinite loop when Simplifying Fuse operation, CPU to 100% #557

Minor refactoring of RelocatePCurvesToNewUorigin().
RelocatePCurvesToNewUorigin() can no longer stuck in infinite loop if it found the edge that is not present in theVEmap.
Test bug_gh544 is added to check the fix.

8 weeks agoTesting - GCC bug workaround for test NCollection_LocalArrayTest, CustomType #549
Dmitrii Kulikov [Mon, 19 May 2025 18:32:46 +0000 (19:32 +0100)]
Testing - GCC bug workaround for test NCollection_LocalArrayTest, CustomType #549

Test was failing on Ubuntu, gcc 13.3.0, debug, due to incorrect linkage.
Fixed by renaming TestStruct to NCollection_LocalArray_TestStruct.

8 weeks agoCoding - Small optimization of StepData_StepReaderData #543
Pasukhin Dmitry [Mon, 19 May 2025 11:07:31 +0000 (12:07 +0100)]
Coding - Small optimization of StepData_StepReaderData #543

Refactor SetEntityNumbers to use reusable memory pool.
Update SetRecord to avoid extra map searches.

2 months agoTesting - Add a new compilation on Clang without PCH #540
Pasukhin Dmitry [Sat, 17 May 2025 20:08:49 +0000 (21:08 +0100)]
Testing - Add a new compilation on Clang without PCH #540

Updated a main workflow to validate the header and more precise warnings.
No PCH helps to validate missed headers.
Fixed PCH issue for mac os
Extend the parameters for occt build action.

2 months agoDraw - Update DrawDefault script to handle missing directory cases #542
Pasukhin Dmitry [Sat, 17 May 2025 12:00:50 +0000 (13:00 +0100)]
Draw - Update DrawDefault script to handle missing directory cases #542

Fixed "Warning: could not find DRAW directory"

2 months agoData Exchange, GLTF - Change export line type to LINE_STRIP #535
Elias Cohenca [Sat, 17 May 2025 09:00:40 +0000 (12:00 +0300)]
Data Exchange, GLTF - Change export line type to LINE_STRIP #535

GLTF exporter mark edges as a LINE, which is 2 connected points.
OCCT polylines is mostly line strip structure.
Updated GLTF reader to handle new type of lines

2 months agoModeling - Bnd_BoundSortBox::Compare fails in some cases #518
Dmitrii Kulikov [Fri, 16 May 2025 15:04:48 +0000 (16:04 +0100)]
Modeling - Bnd_BoundSortBox::Compare fails in some cases #518

Class Bnd_BoundSortBox is refactored.
Some cases when Bnd_BoundSortBox could potentially fail to check
  intersection between boxes are fixed.
Google tests are added for Bnd_BoundSortBox class.

2 months agoConfiguration - Update minimum version of C++ to 17 #537
Pasukhin Dmitry [Fri, 16 May 2025 09:30:25 +0000 (10:30 +0100)]
Configuration - Update minimum version of C++ to 17 #537

Update C++ standard to C++17 in build configuration and documentation

2 months agoModeling - General Fuse (BOPAlgo_PaveFiller) optimization #514
Dmitrii Kulikov [Thu, 15 May 2025 23:03:44 +0000 (00:03 +0100)]
Modeling - General Fuse (BOPAlgo_PaveFiller) optimization #514

Adding a null check for the triangulation in BRep_Tool::IsClosed.
Simplifying index lookup logic in BOPDS_DS.
Introducing helper functions (IsPlaneFF and IsClosedFF) and updating iteration loops in BOPAlgo_PaveFiller_6 for improved clarity and robustness.

2 months agoModeling - BRepFilletAPI_MakeFillet Segfault with two curves and rim #532
Dmitrii Kulikov [Thu, 15 May 2025 18:35:52 +0000 (19:35 +0100)]
Modeling - BRepFilletAPI_MakeFillet Segfault with two curves and rim #532

Added null checks for TopoDS_Face in ChFi3d_Builder_2 and BRepAdaptor_Surface.
Added tests to check for crash.

2 months agoTesting - IR integration enable concurrency #536
Pasukhin Dmitry [Thu, 15 May 2025 18:34:23 +0000 (19:34 +0100)]
Testing - IR integration enable concurrency #536

Fix concurrency cancel-in-progress condition in CI workflow for IR branch

2 months agoFoundation Classes - Return value is overridden by OCCT #528
Dmitrii Kulikov [Thu, 15 May 2025 14:21:52 +0000 (15:21 +0100)]
Foundation Classes - Return value is overridden by OCCT #528

- Removed OSD_PerfMeter.h and integrated its functionality directly into OSD_PerfMeter.hxx.
- Updated OSD_PerfMeter to manage stopwatches through a singleton StopwatchStorage class.
- Enhanced meter initialization and management to support shared meters by name.
- Implemented methods for starting, stopping, and printing elapsed time for performance meters.
- Added OSD_PerfMeter_Test.cxx to implement unit tests for OSD_PerfMeter functionality.
- Test bug23237 is delete as it refers to removed code.

2 months agoTesting - IR integration enable concurrency (#531)
Pasukhin Dmitry [Thu, 15 May 2025 14:20:27 +0000 (15:20 +0100)]
Testing - IR integration enable concurrency (#531)

Fix concurrency cancel-in-progress condition in CI workflow for IR branch

2 months agoConfiguration - Fixed pathes to 3rd-party in cmake configuration (#523)
Pasukhin Dmitry [Thu, 15 May 2025 12:04:14 +0000 (13:04 +0100)]
Configuration - Fixed pathes to 3rd-party in cmake configuration (#523)

Update target_link_libraries to use PUBLIC and PRIVATE visibility for dependencies.
Now all 3rd-party is hidden for the external linking, no more issues to invalid path to 3rd-party

2 months agoTesting - Target branch to compare validation of repo (#524)
Pasukhin Dmitry [Thu, 15 May 2025 09:43:52 +0000 (10:43 +0100)]
Testing - Target branch to compare validation of repo (#524)

Ensure latest workflow run ID is fetched from the correct repository in test summary action

2 months agoData Exchange - Add missed headers (#530)
ikochetkova [Wed, 14 May 2025 17:11:12 +0000 (18:11 +0100)]
Data Exchange - Add missed headers (#530)

Add headers missed due to enabled BUILD_USE_PCH configure setting

2 months agoModeling Algorithms - XCAFDoc_Editor::RescaleGeometry does not rescale translation...
ikochetkova [Wed, 14 May 2025 11:07:52 +0000 (12:07 +0100)]
Modeling Algorithms - XCAFDoc_Editor::RescaleGeometry does not rescale translation of roots reference (#529)

Add processing of roots, which are transformed references of parts/assemblies.

2 months agoData Exchange, Step Export - Apply a scaling transformation (#513)
ikochetkova [Mon, 12 May 2025 16:15:58 +0000 (17:15 +0100)]
Data Exchange, Step Export - Apply a scaling transformation (#513)

Add possibility to export scaling factor into the STEP file as a cartesian_transformation_operator_3d.
Add flag for turning on/off (on by default) this behavior.

2 months agoData Exchange, Gltf Reader - Implement non-uniform scaling in Gltf Import #503
ikochetkova [Thu, 24 Apr 2025 13:20:36 +0000 (14:20 +0100)]
Data Exchange, Gltf Reader - Implement non-uniform scaling in Gltf Import #503

Apply non-uniform scale factors directly to the triangulation during Gltf import.
Add flag for turning on/off (on by default) this behavior.
OCP-1948

2 months agoData Exchange, IGES Export - Missing Model Curves in transfer cache #483
ikochetkova [Tue, 22 Apr 2025 17:01:06 +0000 (18:01 +0100)]
Data Exchange, IGES Export - Missing Model Curves in transfer cache #483

Check if the curve was already created and use it. Works for shared edges cases.

3 months agoCoding - MSVC warning fix for STEP Rendering properties #498 V8_0_0_rc1
Pasukhin Dmitry [Sun, 13 Apr 2025 20:05:22 +0000 (21:05 +0100)]
Coding - MSVC warning fix for STEP Rendering properties #498

Fixed warning on MSVC compiler with name overriding and type mismatching.

3 months agoCoding - Bump version to 8.0.0-rc1 #497
Pasukhin Dmitry [Sun, 13 Apr 2025 15:31:52 +0000 (16:31 +0100)]
Coding - Bump version to 8.0.0-rc1 #497

3 months agoConfiguration - TBB configuration prioritization to release #496
Pasukhin Dmitry [Sun, 13 Apr 2025 13:37:36 +0000 (14:37 +0100)]
Configuration - TBB configuration prioritization to release #496

Refactor TBB CMake configuration for checking configuration type.
The solution will be reorganized to math release/debug version.
Prepared only for the hot-fix reason.

3 months agoDocumentation - Fix various typos found in codebase #495
luzpaz [Sat, 12 Apr 2025 14:02:50 +0000 (10:02 -0400)]
Documentation - Fix various typos found in codebase #495

Found via codespell

3 months agoData Exchange, GLTF Reader - Add stream to json parser to read lines and points #489
sshutina [Sat, 12 Apr 2025 12:40:29 +0000 (13:40 +0100)]
Data Exchange, GLTF Reader - Add stream to json parser to read lines and points #489

Reorganize GLTF mesh reader to work with streams.
The updated scenario is impact on Edge and Vertex reading, which were
  rely on postponed loading operation, which re-create stream by file name.

3 months agoModeling - Periodic BSpline curve bounding #493
Pasukhin Dmitry [Fri, 11 Apr 2025 21:08:02 +0000 (22:08 +0100)]
Modeling - Periodic BSpline curve bounding #493

Enhance periodic curve handling in BndLib_Add3dCurve::Add method.
Checks the periodic BSpline on 3 directions of period for tolerance upgrade.

3 months agoData Exchange, Step - Vis Material support #447
Pasukhin Dmitry [Wed, 9 Apr 2025 11:46:48 +0000 (12:46 +0100)]
Data Exchange, Step - Vis Material support #447

- Introduced STEPConstruct_RenderingProperties class to handle rendering properties in STEP format.
- Implemented constructors for initializing rendering properties from various sources including STEP entities, RGBA colors, and XCAF materials.
- Added methods to set and retrieve ambient, diffuse, and specular reflectance values, along with transparency and rendering method.
- Integrated functionality to create corresponding STEP and XCAF material entities.

3 months agoData Exchange - Step Direction optimization #479
Pasukhin Dmitry [Sun, 6 Apr 2025 15:48:09 +0000 (16:48 +0100)]
Data Exchange - Step Direction optimization #479

Refactor direction handling in STEP files for improved clarity and performance.
Moved to use array instead of vector

3 months agoTesting - Reorganize GitHub actions by actions #480
Pasukhin Dmitry [Sun, 6 Apr 2025 14:14:23 +0000 (15:14 +0100)]
Testing - Reorganize GitHub actions by actions #480

Refactor test workflow to be based on reusable actions.

3 months agoTesting - Units Tests for NCollection package #481
Pasukhin Dmitry [Sun, 6 Apr 2025 11:40:14 +0000 (12:40 +0100)]
Testing - Units Tests for NCollection package #481

- Introduced tests for NCollection_Map, verifying constructors, addition, removal, and iteration functionalities.
- Added comprehensive tests for NCollection_Sequence, covering basic operations, iterator functionality, and complex type handling.
- Implemented tests for NCollection_SparseArray, including basic operations, iterator functionality, and data map interface.
- Created tests for NCollection_Vector, ensuring functionality for appending, resizing, and custom allocator usage.

3 months agoFoundation Classes - HashUtils NoExcept optimization #473
Pasukhin Dmitry [Fri, 4 Apr 2025 15:38:56 +0000 (16:38 +0100)]
Foundation Classes - HashUtils NoExcept optimization #473

Refactor hash functions in Standard_HashUtils for improved performanceю
Optimized load_bytes functionality.
Making all hash function noexcept

3 months agoData Exchange, Step Export - Decreasing file size #475
Dmitrii Kulikov [Thu, 3 Apr 2025 16:19:49 +0000 (17:19 +0100)]
Data Exchange, Step Export - Decreasing file size #475

Functionality to remove duplicate entities from Step graph is added.
Class MergeSTEPEntities_Merger is main entry point.
Class MergeSTEPEntities_EntityProcessor implements the basic replacement
logic.
Children of MergeSTEPEntities_EntityProcessor implement the logic for
the replacement of particular step entity.

3 months agoTesting - Inspector build error on latest CMake #477
Pasukhin Dmitry [Thu, 3 Apr 2025 12:25:40 +0000 (13:25 +0100)]
Testing - Inspector build error on latest CMake #477

Add CMAKE_POLICY_VERSION_MINIMUM to TInspector configuration for Windows and Linux

3 months agoModeling - ElCLib Optimization and testing #471
Pasukhin Dmitry [Mon, 31 Mar 2025 11:55:04 +0000 (12:55 +0100)]
Modeling - ElCLib Optimization and testing #471

- Created a new test file ElCLib_Test.cxx to implement unit tests for various functions in the ElCLib class.
- Added tests for InPeriod, AdjustPeriodic, Line3D, Circle3D, Ellipse3D, Hyperbola3D, Parabola3D, and To3dConversion methods.
- Improved performance for the ElCLib methods

3 months agoModeling - Bounding BSpline periodic tolerance issue #468
Pasukhin Dmitry [Mon, 31 Mar 2025 10:29:38 +0000 (11:29 +0100)]
Modeling - Bounding BSpline periodic tolerance issue #468

Update BndLib_Add3dCurve to check the periodic case u1-u2 matching with period

3 months agoModeling - Handle void bounding box case in BRepBndLib::AddOptimal #470
Pasukhin Dmitry [Mon, 31 Mar 2025 09:01:23 +0000 (10:01 +0100)]
Modeling - Handle void bounding box case in BRepBndLib::AddOptimal #470

In some cases face without natural bound can be not have edges on curve

3 months agoConfiguration - Re-Configuration time optimization #467
Pasukhin Dmitry [Sun, 30 Mar 2025 14:26:05 +0000 (15:26 +0100)]
Configuration - Re-Configuration time optimization #467

Refactor CMake files to hide redundant variables using mark_as_advanced.
The result - no re-find will be performed.
From 30s to 5s for second time reconfiguration stage.

3 months agoConfiguration - Issue to start Draw debugging in VS #465
Pasukhin Dmitry [Thu, 27 Mar 2025 16:59:53 +0000 (16:59 +0000)]
Configuration - Issue to start Draw debugging in VS #465

Fixed path for DRAWEXE project configuration in CMakeLists.txt
Updated plugin file search path to use CSF_OCCTResourcePath

3 months agoConfigure - Fixed issue with static build of DRAWEXE #462
Pasukhin Dmitry [Mon, 24 Mar 2025 19:18:58 +0000 (19:18 +0000)]
Configure - Fixed issue with static build of DRAWEXE #462

Replace EXTERNLIB_STATIC file with inline CMake variable definition.

3 months agoTesting - Remove PLib_JacobiPolynomial_Test.cxx from GTests #463
Pasukhin Dmitry [Mon, 24 Mar 2025 17:35:21 +0000 (17:35 +0000)]
Testing - Remove PLib_JacobiPolynomial_Test.cxx from GTests #463

3 months agoConfiguration - Add support for Google Test framework in CMake #443
Pasukhin Dmitry [Mon, 24 Mar 2025 08:58:02 +0000 (08:58 +0000)]
Configuration - Add support for Google Test framework in CMake #443

Enhance Google Test integration and add support for test projects.
Each Toolkit have GTests folder with place for new tests.
For adding new tests needs to extend FILES.cmake files in each GTests folder.
The single executable is created for each toolkit with all tests.
The tests grouped by module and toolkit with :: as separator.
Added option to download GTest by Cmake if not found.
Add GTest for PLib_JacobiPolynomial with comprehensive test cases
Add GTest for TCollection_AsciiString and TCollection_ExtendedString
Set C++ standard to C++14 for GTest compatibility if required

3 months agoFoundation Classes - Checking for MallInfo version #459
Pasukhin Dmitry [Sun, 23 Mar 2025 20:26:14 +0000 (20:26 +0000)]
Foundation Classes - Checking for MallInfo version #459

Fix memory usage reporting for GLIBC compatibility in OSD_MemInfo

3 months agoFoundation Classes - Update signal handling for GLIBC compatibility on Linux #458
Pasukhin Dmitry [Sun, 23 Mar 2025 18:57:11 +0000 (18:57 +0000)]
Foundation Classes - Update signal handling for GLIBC compatibility on Linux #458

Simply disabling the code which enables floating point exceptions
  is probably wrong, but I don't have a replacement for the
    non-posix functions fegetexcept(3) and feenableexcept(3).

3 months agoDocumentation - Convert module and toolkit names to lowercase for URL generation...
Pasukhin Dmitry [Sun, 23 Mar 2025 17:37:58 +0000 (17:37 +0000)]
Documentation - Convert module and toolkit names to lowercase for URL generation #460

3 months agoFoundation Classes - Host resolving by itself #457
Pasukhin Dmitry [Sun, 23 Mar 2025 15:52:48 +0000 (15:52 +0000)]
Foundation Classes - Host resolving by itself #457

Fixed issue  when gethostbyname returns a nullptr, because the host can't resolve itself

3 months agoConfiguration - Update resource path references in build scripts #454
Pasukhin Dmitry [Thu, 20 Mar 2025 18:44:30 +0000 (18:44 +0000)]
Configuration - Update resource path references in build scripts #454

Fixed issue when the path to resources in build folder is not valid.

3 months agoDocumentation - Generation schema fixing #452
Pasukhin Dmitry [Thu, 20 Mar 2025 14:47:17 +0000 (14:47 +0000)]
Documentation - Generation schema fixing #452

Enhance documentation generation by tracking unique module connections
Ensuring lowercase page IDs for toolkits and packages

3 months agoConfiguration - Resource generation source path fix #453
Pasukhin Dmitry [Thu, 20 Mar 2025 13:09:23 +0000 (13:09 +0000)]
Configuration - Resource generation source path fix #453

Fix header file path generation in OCCT resource macro.
Regression after reorganizing repository.

3 months agoConfiguration - Reorganize repository structure #450
Pasukhin Dmitry [Thu, 20 Mar 2025 00:39:26 +0000 (00:39 +0000)]
Configuration - Reorganize repository structure #450

Reorganizing structure to have Module/TK/Package/FILES structure.
New structure reflect the structure inside IDE.
Migrate FILES, PACKAGES, EXTRLIB to CMake version to handle changes on updates.
No changes were done to installation layout, all installation result keep as before.
The migration was done using python script, see PR, which refactor automatically the structure.
Updated doc generation to have valid path to modules, toolkits and packages.
In case of PR into new version, IR-790 can be used as a target for the previous version.

3 months agoDocumentation - Migration to CMake from TCL #441
Pasukhin Dmitry [Wed, 19 Mar 2025 09:58:55 +0000 (09:58 +0000)]
Documentation - Migration to CMake from TCL #441

Remove OS folder with structure for refman generation.
Remove tcl scripts from adm folder which used only for doc generation
Migrate all the processes of doc generation to cmake (adm/cmake/occt_doc.cmake)
RefMan and Overview build from CMake as a new utility option, no TCL is needed.

3 months agoConfiguration - Resource structure reorganization #429
Pasukhin Dmitry [Tue, 18 Mar 2025 22:54:43 +0000 (22:54 +0000)]
Configuration - Resource structure reorganization #429

Reorganized resources to keep source part in src and real-time scripts in resource folder.
For the installation result no changes, still installed to src for windows.

3 months agoCoding - Migration of ExpToCas to own repository #442
Pasukhin Dmitry [Tue, 18 Mar 2025 20:41:12 +0000 (20:41 +0000)]
Coding - Migration of ExpToCas to own repository #442

New repository for ExpToCas: https://github.com/Open-Cascade-SAS/ExpToCas
Documentation and all build process are fully migrated.

3 months agoCoding - Migration of Inspector to own repository #438
Pasukhin Dmitry [Tue, 18 Mar 2025 19:25:03 +0000 (19:25 +0000)]
Coding - Migration of Inspector to own repository #438

New repository for Inspector: https://github.com/Open-Cascade-SAS/Inspector
Documentation and all build process are fully migrated.
"tools" folder keep to share information for some time.
Keep building inspector as before to keep control of API changes via GitHub actions.

4 months agoData Exchange, Step - AP242 SchemaName Remove dot #448
Pasukhin Dmitry [Tue, 18 Mar 2025 17:24:07 +0000 (17:24 +0000)]
Data Exchange, Step - AP242 SchemaName Remove dot #448

Fix schema format for AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF in StepAP214_Protocol.cxx

4 months agoConfiguration - Adding resource packages to toolkit #427
Pasukhin Dmitry [Fri, 14 Mar 2025 10:48:50 +0000 (10:48 +0000)]
Configuration - Adding resource packages to toolkit #427

Adding resources with some source code to the packages.
The source code mostly are pxx searched by relative path.

4 months agoConfiguration - Remove -symbolic linker flag (#432)
Pasukhin Dmitry [Wed, 12 Mar 2025 22:18:44 +0000 (22:18 +0000)]
Configuration - Remove -symbolic linker flag (#432)

Updated VCPKG workflow to follow the type of linking with the triplet.
Removed symbolic linker flag. As a result downgrade of performance.
The symbolic flag has high risk of instability, better to disable.

4 months agoConfiguration - Enhance Qt5 directory detection for Windows #419
Pasukhin Dmitry [Sun, 9 Mar 2025 18:04:44 +0000 (18:04 +0000)]
Configuration - Enhance Qt5 directory detection for Windows #419

Update the detection Qt5 folder to search for bin folder.
That will affected for the starting DRAW or samples as a part of env.

4 months agoCoding - Include gxx files from global path #423
Pasukhin Dmitry [Sun, 9 Mar 2025 09:48:53 +0000 (09:48 +0000)]
Coding - Include gxx files from global path #423

Refactor includes to use angle brackets for gxx files back [as for before 7.9]

4 months agoVisualization - AIS_Shape bounding box re-computation is not working properly #422
Pasukhin Dmitry [Sun, 9 Mar 2025 00:07:17 +0000 (00:07 +0000)]
Visualization - AIS_Shape bounding box re-computation is not working properly #422

Fixed issue with bounding box cleaning algorithm that was causing the bounding box to be only increased.
Now the bounding box is increased and decreased to fit the shape.

4 months agoConfiguration - Checking for FILES content #424
Pasukhin Dmitry [Sat, 8 Mar 2025 22:48:09 +0000 (22:48 +0000)]
Configuration - Checking for FILES content #424

Added checking for file in package or toolkit.
Removed not-existed files from the list

4 months agoConfiguration - Remove BUILD_PATCH option in CMake #418
Pasukhin Dmitry [Fri, 7 Mar 2025 21:07:09 +0000 (21:07 +0000)]
Configuration - Remove BUILD_PATCH option in CMake #418

Refactor CMake configuration to remove patch handling and simplify includes

4 months agoVisualization, Selection - allow HandleMouseClick for schemes, allowing to select...
sshutina [Fri, 7 Mar 2025 19:05:37 +0000 (19:05 +0000)]
Visualization, Selection - allow HandleMouseClick for schemes, allowing to select an object #416

4 months agoDocumentation - Fix various typos found in codebase #414
luzpaz [Fri, 7 Mar 2025 15:34:32 +0000 (10:34 -0500)]
Documentation - Fix various typos found in codebase #414

Found via codespell

4 months agoDocumentation - Fix various typos found in codebase (#413)
luzpaz [Thu, 6 Mar 2025 13:10:51 +0000 (08:10 -0500)]
Documentation - Fix various typos found in codebase (#413)

Found via `codespell -q 3 -S "*.fr" -L aadd,abnd,abord,acces,acount,adn,afile,aline,alo,alocation,alog,als,anc,ane,anid,anormal,anout,ans,anumber,aother,aparent,apoints,aprogram,asender,asign,asnd,ba,bbuild,bloc,bord,bu,caf,cas,childrens,childs,classe,clen,commun,cylindre,discret,don,dout,dum,ede,enew,entite,entites,extrem,fo,fonction,geometrie,guid,hilight,hilights,hist,identic,ii,indx,inout,invalide,ist,iterm,llength,lod,maked,mape,mke,modeling,methode,mye,myu,nam,nd,nin,normale,normales,ons,parametre,parametres,periode,pinter,pres,projet,remplace,reste,resul,secont,serie,siz,shs,slin,som,somme,syntaxe,sur,te,thei,theis,ther,theres,thes,thev,thex,thet,tol,transfert,unhilight,unhilights,va,vas,verifie,vertexes,weight`

4 months agoTesting - Repeating failed tests in GH Action (#412)
Pasukhin Dmitry [Thu, 6 Mar 2025 10:28:46 +0000 (10:28 +0000)]
Testing - Repeating failed tests in GH Action (#412)

4 months agoModeling - Improve handling of polygon parameters in NURBS conversion (#410)
Pasukhin Dmitry [Wed, 5 Mar 2025 15:48:41 +0000 (16:48 +0100)]
Modeling - Improve handling of polygon parameters in NURBS conversion (#410)

4 months agoConfiguration - Update VTK optional components (#403)
Pasukhin Dmitry [Wed, 5 Mar 2025 14:23:05 +0000 (15:23 +0100)]
Configuration - Update VTK optional components (#403)

Updated missed components leaded to the issue with VCPKG

4 months agoData Exchange - Datum Axis extraction issue (#407)
Pasukhin Dmitry [Wed, 5 Mar 2025 10:45:18 +0000 (11:45 +0100)]
Data Exchange - Datum Axis extraction issue (#407)

Refactor axis handling with correct positioning and handling exceptions.

4 months agoConfiguration - Modify VTK 9x handling (#401)
Pasukhin Dmitry [Mon, 3 Mar 2025 10:29:42 +0000 (11:29 +0100)]
Configuration - Modify VTK 9x handling (#401)

4 months agoConfiguration - Extend CMake file filter regex (#400)
Pasukhin Dmitry [Mon, 3 Mar 2025 08:42:35 +0000 (09:42 +0100)]
Configuration - Extend CMake file filter regex (#400)

Fixed issue when folder name contains .c or .h as a part of the name.

4 months agoConfiguration - Update file globbing and condition checks for installation paths...
Pasukhin Dmitry [Sun, 2 Mar 2025 23:57:42 +0000 (00:57 +0100)]
Configuration - Update file globbing and condition checks for installation paths (#399)

4 months agoConfiguration - Update VTK configuration and enable optional components (#395)
Pasukhin Dmitry [Sun, 2 Mar 2025 20:41:56 +0000 (21:41 +0100)]
Configuration - Update VTK configuration and enable optional components (#395)

4 months agoModeling - Degenerated curves were not handled by Arrange function (#396)
Markus Freilinger [Sun, 2 Mar 2025 16:47:06 +0000 (17:47 +0100)]
Modeling - Degenerated curves were not handled by Arrange function (#396)

4 months agoVisualization - Refactor mouse click handling logic for improved double-click detecti...
jboissy-mediasofts [Thu, 27 Feb 2025 11:39:32 +0000 (12:39 +0100)]
Visualization - Refactor mouse click handling logic for improved double-click detection (#385)

4 months agoData Exchange - DE Wrapper invalidating parameters after 'Load' (#393)
Pasukhin Dmitry [Thu, 27 Feb 2025 11:38:43 +0000 (12:38 +0100)]
Data Exchange - DE Wrapper invalidating parameters after 'Load' (#393)

Fix configuration loading to correctly use FileCS parameter
Add stability test for configuration changes
Update documentation's de wrapping names

4 months agoVisualization - Add flag for font mgr to avoid error message (#392)
sshutina [Thu, 27 Feb 2025 11:38:09 +0000 (11:38 +0000)]
Visualization - Add flag for font mgr to avoid error message (#392)

4 months agoCoding - Bump version to 8.0.0.dev (#394)
Pasukhin Dmitry [Thu, 27 Feb 2025 11:37:20 +0000 (12:37 +0100)]
Coding - Bump version to 8.0.0.dev (#394)

New maintaining schema will be applied:
 maintenance stable release on top of minor (3 times per year).
   with binary compatible changes
   name - 7.9.1, 7.9.2, 7.9.3
 development fully-tested release based on master (every 5+- weeks)
    no binary compatible changes
    the latest features available the same as in master
    name - 8.0.0.rc1, 8.0.0.rc2, 8.0.0.rc3,...
the weekly branch IR still will be weekly and usually type of release will be "dev"
  of the next minor release. In current case "8.0.0".

4 months agoCoding - Bump version to 7.9.0 stable release #380 OCCT-790 V7_9_0
Pasukhin Dmitry [Mon, 17 Feb 2025 22:00:23 +0000 (23:00 +0100)]
Coding - Bump version to 7.9.0 stable release #380

4 months agoDocumentation - Update coding rules and formatting guidelines #379
Pasukhin Dmitry [Mon, 17 Feb 2025 22:00:07 +0000 (23:00 +0100)]
Documentation - Update coding rules and formatting guidelines #379

4 months agoTesting - Remove unstable test cases
dpasukhi [Mon, 17 Feb 2025 18:15:58 +0000 (18:15 +0000)]
Testing - Remove unstable test cases

4 months agoVisualization - NCollection_DataMap::Find() exception from AIS_Selection::Select...
Zernova Marina [Mon, 17 Feb 2025 15:52:24 +0000 (15:52 +0000)]
Visualization - NCollection_DataMap::Find() exception from AIS_Selection::Select() #375

Problem with NCollection_DataMap::Find() exception during multiple selection in OCC viewer.
Incorrect call is made from AIS_Selection::Select() method at line:
AIS_NListOfEntityOwner::Iterator aListIter = myResultMap.Find (theOwner);
Original issue: 0033742

4 months agoModeling Algorithms - UnifySameDomain improvement #371
jfa [Fri, 21 Apr 2023 09:40:49 +0000 (10:40 +0100)]
Modeling Algorithms - UnifySameDomain improvement #371

Extend ShapeUpgrade_UnifySameDomain algorithm working on cases,
  where SurfaceOfRevolution or SurfaceOfLinearExtrusion was made on basis of TrimmedCurve.
Original issue: 0033328

4 months agoModeling - Removing surface after transformation #374
astromko [Mon, 1 Apr 2024 13:34:16 +0000 (13:34 +0000)]
Modeling - Removing surface after transformation #374

Old surface is not removed after translation or rotation with geometry copying
Removed unnecessary condition that was added by an earlier fix.
Added a test case.
Original issue: 0033591