Commit Graph

6604 Commits

Author SHA1 Message Date
Kirill Gavrilov
c832b192b5 Draw - Fix message color mixing (#685)
Message color from previous message in Unix was mixed.
2025-09-06 21:18:29 +01:00
Pasukhin Dmitry
4a059a8470 Coding - Reducing relying on exceptions (#676)
- Replaced try-catch blocks with explicit validation checks in PCDM_ReadWriter_1.cxx
- Added division-by-zero protection in XSDRAWSTL.cxx using precision-based comparison
- Improved error handling for integer parsing operations
2025-09-06 21:18:29 +01:00
Pasukhin Dmitry
d2ce6b75b8 Data Exchange, STP - Crash on empty list (#671)
Added condition to always allocate an array in case of empty list
2025-09-06 21:18:29 +01:00
Pasukhin Dmitry
8ca63e78e6 Modeling, Bnd_Box - CornerMax incorrect realisation (#664)
- Fixed the logical error in `CornerMax()` method by correcting the openness condition checks
- Added comprehensive GTest suite for `Bnd_Box` class to prevent similar regressions
- Minor code formatting improvements in the `DumpJson()` method
2025-09-06 21:18:29 +01:00
Sander Adamson
b75c440830 Modeling - Fix null surface crash in fixshape (#623)
- Added null surface validation in ShapeAnalysis_Surface constructor and Init method
- Added null surface checks throughout ShapeFix_Face methods to prevent crashes
- Enhanced robustness by validating surface availability before performing surface-dependent operations
2025-09-06 21:18:29 +01:00
Sander Adamson
5faa86f3e5 Modeling - Fix null surface crash in UnifySameDomain (#624)
- Added null safety checks in the ClearRts function and IntUnifyFaces method
- Refactored ClearRts to use a more concise implementation with null handling
- Added a test case to verify the fix works with tessellated geometry
2025-09-06 21:18:29 +01:00
Dmitrii Kulikov
045c19b941 Modelling - GeomFill_CorrectedFrenet hangs in some cases (#630)
- Added parameter progression check to prevent infinite loops when step size becomes too small
- Improved code formatting and variable naming for better maintainability
- Added comprehensive test suite covering the infinite loop scenario and edge cases
2025-09-06 21:18:29 +01:00
Pasukhin Dmitry
f030c3e2d9 Configuration - Fix ARCH for older 32-bit macs (#626)
- Updates architecture detection conditions to include aarch64 and arm64 as 64-bit architectures
- Removes redundant ARCH="64" assignment for Darwin systems since it's already handled by the architecture check
- Fixes a syntax error in the existing aarch64 condition
2025-09-06 21:18:29 +01:00
Dmitrii Kulikov
1e1daf1df4 Foundation classes - Leak of WinAPI resources. (#625)
- Replaces raw IWICBitmapFlipRotator pointer with Image_ComPtr smart pointer wrapper
- Updates pointer access patterns to use smart pointer methods (.ChangePtr() and .get())
- Maintains existing functionality while improving resource management
2025-09-06 21:18:29 +01:00
Kirill Gavrilov
aa8aebebac Draw, vcomputehlr - Misprint in command leading to error if no Viewer (#526) 2025-09-06 21:18:29 +01:00
Kirill Gavrilov
189e6615cb Data Exchange, RWObj_Reader - Facets with empty normals like 'f 1// 2// 3//' (#520)
Removing an obsolete header comment in the PPM writer
Correcting the handling of facet indices when normals or texture coordinates are empty in the OBJ reader.
- In Image_AlienPixMap.cxx, the unused header comment is removed.
- In Graphic3d_Aspects.hxx, the default viewer settings comment is updated.
- In RWObj_Reader.cxx, additional checks are added
    to correctly parse OBJ face definitions with empty texture and normal indices.
2025-09-06 21:18:29 +01:00
Kirill Gavrilov
4ed2444ad2 Visualization, Image_AlienPixMap - do not write comment into binary PPM image
This comment is not skipped by some Linux image readers (including GIMP)
and display image corrupted (shifted colors, etc.).
2025-09-06 21:18:29 +01:00
sshutina
1eb67b25d3 Data Exchange, GLTF Reader - Fix indices during parsering of arrays (#602)
- Use the loop index (`anIndex` or `i`) instead of always reading `theValue[0]`.
- Preserve existing behavior of array allocation and string concatenation.
- Updated three loops in `RWGltf_GltfJsonParser.cxx` to reference the correct element.
2025-09-06 21:18:29 +01:00
dpasukhi
9e4d04920b Data Exchange, Step Export - Preserving control directives (#601)
- Introduced `CleanTextForSend` static helper with detailed documentation.
- Updated `StepData_StepWriter::Send` to use the new helper and simplified quoting/line‐wrapping logic.
- Added comprehensive GTests for `CleanTextForSend` and updated the test suite configuration.
2025-09-06 21:12:20 +01:00
Dmitrii Kulikov
f042fa319e Modeling, ShapeAnalysis_Curve - Mismatch between projected point and parameter (#600)
- Refactored `ProjectOnSegments`: renamed parameters, added early exit, and detailed doxygen-style docs.
- Updated `ProjectAct`: renamed local variables, stored initial projection values for fallback, and streamlined closed-curve handling.
- Removed `#ifdef OCCT_DEBUG` blocks in `ValidateRange`.
2025-09-06 20:57:43 +01:00
Pasukhin Dmitry
9cf1fb1d7c Foundation Classes - Matrix multiplied issue (#522)
Refactor multiplication to avoid self-correlation issues by using a temporary copy.
2025-09-06 20:56:50 +01:00
Pasukhin Dmitry
9f26baaecc 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-09-06 20:55:47 +01:00
Pasukhin Dmitry
981282a8cb Configuration - Fixed issue with CSF variable overwriting #561
Include occt_csf file to define CSF variable before usage.
2025-09-06 20:55:01 +01:00
Dmitrii Kulikov
714c81cd1d 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-09-06 20:53:58 +01:00
dpasukhi
36c80dbe7b Coding - Bump version to 7.9.1 V7_9_1 2025-05-20 12:17:10 +01:00
Pasukhin Dmitry
4e8cf250ea Testing - Add a new compilation on Clang without PCH #540
Fixed PCH issue for mac os
2025-05-20 12:17:09 +01:00
dpasukhi
7e71e01dc4 Documentation - Enable server-based search and external search options in Doxyfile 2025-05-20 12:17:08 +01:00
Pasukhin Dmitry
f7dbf42d49 Coding - Small optimization of StepData_StepReaderData #543
Refactor SetEntityNumbers to use reusable memory pool.
Update SetRecord to avoid extra map searches.
2025-05-20 12:17:08 +01:00
Dmitrii Kulikov
86c72171bf 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-19 22:22:06 +01:00
Dmitrii Kulikov
bdad8f51b4 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-19 22:21:53 +01:00
ikochetkova
275a072169 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-19 22:21:22 +01:00
ikochetkova
784bf6d4b9 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-05-19 22:21:05 +01:00
Pasukhin Dmitry
f95594f475 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-05-19 22:19:51 +01:00
Pasukhin Dmitry
7e2c56ec46 Modeling - Bounding BSpline periodic tolerance issue #468
Update BndLib_Add3dCurve to check the periodic case u1-u2 matching with period
2025-05-19 22:19:38 +01:00
Pasukhin Dmitry
ead9d038fe 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-05-19 22:19:22 +01:00
Pasukhin Dmitry
8bbfddfacf Foundation Classes - Checking for MallInfo version #459
Fix memory usage reporting for GLIBC compatibility in OSD_MemInfo
2025-05-19 22:19:08 +01:00
Pasukhin Dmitry
442c58a2d1 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).
2025-05-19 22:19:04 +01:00
Pasukhin Dmitry
ff6f6ca8ff Foundation Classes - Host resolving by itself #457
Fixed issue  when gethostbyname returns a nullptr, because the host can't resolve itself
2025-05-19 22:18:56 +01:00
Pasukhin Dmitry
51b0bdc47c Data Exchange, Step - AP242 SchemaName Remove dot #448
Fix schema format for AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF in StepAP214_Protocol.cxx
2025-05-19 22:18:34 +01:00
Pasukhin Dmitry
0deb581ba2 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.
2025-05-19 22:18:10 +01:00
Pasukhin Dmitry
abd027bb57 Modeling - Improve handling of polygon parameters in NURBS conversion (#410) 2025-05-19 22:17:58 +01:00
Pasukhin Dmitry
b7858dc463 Data Exchange - Datum Axis extraction issue (#407)
Refactor axis handling with correct positioning and handling exceptions.
2025-05-19 22:17:48 +01:00
Markus Freilinger
5569f0ac07 Modeling - Degenerated curves were not handled by Arrange function (#396) 2025-05-19 22:17:39 +01:00
jboissy-mediasofts
b4ed551f13 Visualization - Refactor mouse click handling logic for improved double-click detection (#385) 2025-05-19 22:17:27 +01:00
Pasukhin Dmitry
882d7b580e 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
2025-05-19 22:17:13 +01:00
Pasukhin Dmitry
6c179e9b63 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-19 22:15:38 +01:00
Pasukhin Dmitry
4c9aaf2300 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-05-19 22:02:11 +01:00
Pasukhin Dmitry
556fb47854 Testing - Inspector build error on latest CMake #477
Add CMAKE_POLICY_VERSION_MINIMUM to TInspector configuration for Windows and Linux
2025-05-19 22:01:31 +01:00
Pasukhin Dmitry
653bb48aca 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.
2025-05-19 21:59:07 +01:00
Pasukhin Dmitry
eab678df86 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.
2025-05-19 21:59:01 +01:00
Pasukhin Dmitry
d521ba8eaa Configuration - Checking for FILES content #424
Added checking for file in package or toolkit.
Removed not-existed files from the list
2025-05-19 21:58:52 +01:00
Pasukhin Dmitry
73031c926f Configuration - Remove BUILD_PATCH option in CMake #418
Refactor CMake configuration to remove patch handling and simplify includes
2025-05-19 21:58:16 +01:00
Pasukhin Dmitry
2524448f0a Testing - Repeating failed tests in GH Action (#412) 2025-05-19 21:58:06 +01:00
Pasukhin Dmitry
7009880a14 Configuration - Update VTK optional components (#403)
Updated missed components leaded to the issue with VCPKG
2025-05-19 21:57:51 +01:00
Pasukhin Dmitry
39d0d1c65c Configuration - Modify VTK 9x handling (#401) 2025-05-19 21:57:48 +01:00