1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-06-30 12:14:08 +03:00

6640 Commits

Author SHA1 Message Date
Pasukhin Dmitry
6b69f59803
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.
2025-06-26 09:37:35 +01:00
Pasukhin Dmitry
ed7a447177
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.
2025-06-25 11:40:51 +01:00
Pasukhin Dmitry
dfb331296c
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.
2025-06-25 10:15:04 +01:00
Pasukhin Dmitry
fa5bf5dab2
Configuration - Remove jemalloc port files (#581)
Removed overrides for jemalloc, now use standard port
2025-06-25 10:14:14 +01:00
Pasukhin Dmitry
97920011fa
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.
2025-06-24 12:38:31 +01:00
Pasukhin Dmitry
57d6038b26
Shape Healing - Reusing Surface Analysis for Wire fixing (#565)
Providing prepared analysis from ShapeFix_Face to wire.
2025-06-23 18:22:47 +01:00
Pasukhin Dmitry
9726e465a9
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
2025-06-20 21:22:15 +01:00
ikochetkova
f1cb756901
Data Exchange, Step Export - Ignoring unit factors during tessellation export (#577)
Provide unit factors into the tessellation export methods.
2025-06-20 15:38:33 +01:00
Pasukhin Dmitry
9ddcdae3f9
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.
2025-05-30 16:11:22 +01:00
Pasukhin Dmitry
4629ee0ca3
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.
2025-05-30 14:31:26 +01:00
Pasukhin Dmitry
3b62a5eb29
Configuration - Fixed issue with CSF variable overwriting #561
Include occt_csf file to define CSF variable before usage.
2025-05-24 12:27:14 +01:00
Elias Cohenca
4f2d4c1f4b
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
2025-05-23 12:24:13 +01:00
Dmitrii Kulikov
7ed396b0eb
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.
2025-05-22 11:29:54 +01:00
Dmitrii Kulikov
2398b87d36
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.
2025-05-19 19:32:46 +01:00
Pasukhin Dmitry
973259d411
Coding - Small optimization of StepData_StepReaderData #543
Refactor SetEntityNumbers to use reusable memory pool.
Update SetRecord to avoid extra map searches.
2025-05-19 12:07:31 +01:00
Pasukhin Dmitry
e668a0d228
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.
2025-05-17 21:08:49 +01:00
Pasukhin Dmitry
c5256dcf70
Draw - Update DrawDefault script to handle missing directory cases #542
Fixed "Warning: could not find DRAW directory"
2025-05-17 13:00:50 +01:00
Elias Cohenca
b29788cae0
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
2025-05-17 10:00:40 +01:00
Dmitrii Kulikov
2eeb0ed5ba
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.
2025-05-16 16:04:48 +01:00
Pasukhin Dmitry
3e80fad177
Configuration - Update minimum version of C++ to 17 #537
Update C++ standard to C++17 in build configuration and documentation
2025-05-16 10:30:25 +01:00
Dmitrii Kulikov
7b016e5c28
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.
2025-05-16 00:03:44 +01:00
Dmitrii Kulikov
a56d85bf15
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.
2025-05-15 19:35:52 +01:00
Pasukhin Dmitry
ebc3885799
Testing - IR integration enable concurrency #536
Fix concurrency cancel-in-progress condition in CI workflow for IR branch
2025-05-15 19:34:23 +01:00
Dmitrii Kulikov
66d2a06b5a
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.
2025-05-15 15:21:52 +01:00
Pasukhin Dmitry
e82126db69
Testing - IR integration enable concurrency (#531)
Fix concurrency cancel-in-progress condition in CI workflow for IR branch
2025-05-15 15:20:27 +01:00
Pasukhin Dmitry
469da02ca6
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
2025-05-15 13:04:14 +01:00
Pasukhin Dmitry
81ca522102
Testing - Target branch to compare validation of repo (#524)
Ensure latest workflow run ID is fetched from the correct repository in test summary action
2025-05-15 10:43:52 +01:00
ikochetkova
6aa605ef2f
Data Exchange - Add missed headers (#530)
Add headers missed due to enabled BUILD_USE_PCH configure setting
2025-05-14 18:11:12 +01:00
ikochetkova
1158cba0df
Modeling Algorithms - XCAFDoc_Editor::RescaleGeometry does not rescale translation of roots reference (#529)
Add processing of roots, which are transformed references of parts/assemblies.
2025-05-14 12:07:52 +01:00
ikochetkova
18a46604fc
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.
2025-05-12 17:15:58 +01:00
ikochetkova
7cd39973a4
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
2025-04-24 14:20:36 +01:00
ikochetkova
3ee97f70d0
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.
2025-04-22 18:01:06 +01:00
Pasukhin Dmitry
7aa85582ad
Coding - MSVC warning fix for STEP Rendering properties #498
Fixed warning on MSVC compiler with name overriding and type mismatching.
V8_0_0_rc1
2025-04-13 21:05:22 +01:00
Pasukhin Dmitry
be4f373d1d
Coding - Bump version to 8.0.0-rc1 #497 2025-04-13 16:31:52 +01:00
Pasukhin Dmitry
05039a1cf9
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.
2025-04-13 14:37:36 +01:00
luzpaz
a3595cb871
Documentation - Fix various typos found in codebase #495
Found via codespell
2025-04-12 15:02:50 +01:00
sshutina
db33e7a43f
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.
2025-04-12 13:40:29 +01:00
Pasukhin Dmitry
15ec314a87
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.
2025-04-11 22:08:02 +01:00
Pasukhin Dmitry
7c8a432c8e
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.
2025-04-09 12:46:48 +01:00
Pasukhin Dmitry
74176f3b21
Data Exchange - Step Direction optimization #479
Refactor direction handling in STEP files for improved clarity and performance.
Moved to use array instead of vector
2025-04-06 16:48:09 +01:00
Pasukhin Dmitry
a897fd5942
Testing - Reorganize GitHub actions by actions #480
Refactor test workflow to be based on reusable actions.
2025-04-06 15:14:23 +01:00
Pasukhin Dmitry
5e5e7f1238
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.
2025-04-06 12:40:14 +01:00
Pasukhin Dmitry
638b0bfc40
Foundation Classes - HashUtils NoExcept optimization #473
Refactor hash functions in Standard_HashUtils for improved performanceю
Optimized load_bytes functionality.
Making all hash function noexcept
2025-04-04 16:38:56 +01:00
Dmitrii Kulikov
81efe3d3ed 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.
2025-04-03 17:23:10 +01:00
Pasukhin Dmitry
00ef3523af
Testing - Inspector build error on latest CMake #477
Add CMAKE_POLICY_VERSION_MINIMUM to TInspector configuration for Windows and Linux
2025-04-03 13:25:40 +01:00
Pasukhin Dmitry
70ba51d3a8
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
2025-03-31 12:55:04 +01:00
Pasukhin Dmitry
ea34d5b2b7
Modeling - Bounding BSpline periodic tolerance issue #468
Update BndLib_Add3dCurve to check the periodic case u1-u2 matching with period
2025-03-31 11:29:38 +01:00
Pasukhin Dmitry
52a93a3bdd
Modeling - Handle void bounding box case in BRepBndLib::AddOptimal #470
In some cases face without natural bound can be not have edges on curve
2025-03-31 10:01:23 +01:00
Pasukhin Dmitry
25b12541d7
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.
2025-03-30 15:26:05 +01:00
Pasukhin Dmitry
496ffd4005 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
2025-03-27 17:42:57 +00:00