dkulikov [Fri, 13 Dec 2024 17:42:09 +0000 (17:42 +0000)]
Shape Healing interface update #189
New class XSAlgo_ShapeProcessor is added. It reimplements functionality
of XSAlgo_AlgoContainer and makes it more convenient to use.
XSAlgo_AlgoContainer is now internally uses methods of
XSAlgo_ShapeProcessor when possible.
New overload of Perform() method is added to class ShapeProcess. It
accepts a set of flags that defines required operations instead of
string.
dpasukhi [Sat, 14 Dec 2024 13:55:07 +0000 (13:55 +0000)]
Documentation - Issue Template update #193
Update issue templates to include '0. New' label for bug reports and feature requests.
The new labels helps to mark not checked issues from development side.
dpasukhi [Thu, 12 Dec 2024 10:22:07 +0000 (10:22 +0000)]
Revert "0023638: Data Exchange - Reading IGES file produced invalid shape" #186
This reverts commit c479c4f6d89ed7c5e33dd35a5e110f13776b7cab.
The problem related with no changes on the ShapeHealing stage.
ReShape do not propagated well for all scenarios.
The test case update is not relevant.
dkulikov [Mon, 9 Dec 2024 17:06:33 +0000 (17:06 +0000)]
GLTF Import - Metadata support #184
Limited support of metadata import is added to RWGltf_GltfJsonParser.
Following Json data types are currently supported: int32, double, string,
array of int32, array of double, array of strings, Json object.
Notable unsupported types are: binary data, array of Json objects.
Metadata is processed for nodes and meshes.
Tests "gltf_export" are updated with import testing and renamed to "gltf".
Method RWGltf_GltfJsonParser::gltfParseSceneNode() is slightly
refactored: parsing of transformations and transformation matrices is
moved into separate functions.
dpasukhi [Mon, 18 Nov 2024 12:11:18 +0000 (12:11 +0000)]
Configuration - Removing '.gxx' from installation #165
Refactor file extension filters in CMake and QMake configurations.
Gxx extension used as a "old-way-template" to repeat .cxx content.
Marking gxx as a source file instead of header.
Moving to absolute path for the gxx integrations.
dpasukhi [Sun, 17 Nov 2024 20:22:51 +0000 (20:22 +0000)]
Documentation - Update parameter annotations for consistency #161
Reorganized style for param to the next templates:
- "@param theParameter description ..."
- "@param[in] theParameter description ..."
- "@param[out] theParameter description ..."
- "@param[in][out] theParameter description ..."
The replacement was with keeping spacing, no removing of extra spaces.
In some files '/' was used instead of '@', that was not updated yet.
dpasukhi [Sat, 16 Nov 2024 19:05:55 +0000 (19:05 +0000)]
Coding - PCH improvements #160
Refactor precompiled headers and improve Windows compatibility.
Extend TKernel, TKMath and TKBRep pch with more usage headers.
Implement PCH for TKDEIGES, TKDESTEP, TKMesh, and TKXSBase.
dpasukhi [Tue, 5 Nov 2024 19:45:59 +0000 (19:45 +0000)]
Testing - Update tests with direct VIS loading #148
XShow and XDisplay XDE require VISUALIZATION for correct work.
In some scenario DRAWEXE can generate a duplicates of the internal static singletons.
This means each dynamic library will have their own instance of the static singleton.
Update all direct library loading to use the XDE plugin mechanism.
This will ensure that the XDE plugin is loaded only once and that the correct instance is used.
Originally issue is reproduced only Linux with dlopen with "RTLD_LAZY".
Can be resolved additionally adding "RTLD_LAZY | RTLD_GLOBAL" for dlopen
dpasukhi [Tue, 5 Nov 2024 16:56:11 +0000 (16:56 +0000)]
Testing - Removing direct DCAF loading #147
DCAF require VISUALIZATION for correct work.
In some scenario DRAWEXE can generate a dublicates of the
internal static singletons. This means each dynamic library
will have their own instance of the static singleton.
Update all direct library loading to use the DCAF plugin
mechanism. This will ensure that the DCAF plugin is loaded
only once and that the correct instance is used.
Originally issue is reproduced only Linux with dlopen with "RTLD_LAZY".
Can be resolved additionally adding "RTLD_LAZY | RTLD_GLOBAL" for dlopen
dpasukhi [Sat, 26 Oct 2024 21:07:56 +0000 (22:07 +0100)]
Testing - Extend GH Actions to compare results #119
Implement new logic to compare test result with target branch.
The compare results are stored in single archive contained .html file per job.
Tests results stored as an artefact per job separately.
Extend the jobs with new 3rd-party and new use_* flags
dpasukhi [Sun, 20 Oct 2024 14:08:26 +0000 (15:08 +0100)]
Tests - DRAWEXE Testing integration into GH #109
Introduced a comprehensive multi-platform build and
test workflow for OCCT, supporting Windows, macOS, and Linux.
Added a new workflow for automated documentation building.
Reorganized a code analysis workflow using CodeQL
and Microsoft C++ Code Analysis.
dpasukhi [Mon, 7 Oct 2024 22:04:51 +0000 (22:04 +0000)]
Configuration - CMake extension with PCH and symlink #90
Removed cotire PCH
Integrated native PCH by CMake with the same BUILD_USE_PCH flag
Added new option to avoid extra files in 'build/include' folder and replace it by symlink
Symlink creates link to the origin file, it has some benefits from debug and build side.
The CMake parameter for symlink is 'BUILD_INCLUDE_SYMLINK'
dpasukhi [Mon, 7 Oct 2024 21:55:58 +0000 (21:55 +0000)]
Coding - Non-dependency include update #89
Removed or reorganized include that are not a part of the project dependency.
The new file for typedef is added because Select is not direct dependency.
0033498: Data Exchange, Step Export - Meshed pretessellated geometry is skipped on write
Processing of complex_triangulated_surface_set is added to
STEPCAFControl_GDTProperty::GetTessellation().
Processing of tessellated_curve_set is refactored and moved to a
separate function.
Problems related to normals list are fixed in
RWStepVisual_RWComplexTriangulatedSurfaceSet::WriteStep():
Normals list is now checked for nullptr. It is a valid situation that
occurs when complex_triangulated_surface_set in STEP file has no
normals.
Traversing of normals list is performed in correct order. Previously
rows and columns were switched, which led to crashes or incorrect data.
Windows, Linux builds now starts checking the warning.
In warning case the job will be failed.
MacOS having too much warnings related with sprintf.
Linux Clang having a problem with Flex and Bison.
0033665: Data Exchange, Step Import - TransferRoots crashes for invalid STEP files
Fixed exception in RWStepShape_RWEdgeCurve::Check() thrown when trying
to access step entity in Interface_EntityIterator with zero entities.
Fixed a crash in StepToTopoDS_TranslateFace::Init() caused by
dereferencing nullptr.
RWStepShape_RWEdgeCurve and RWStepShape_RWEdgeCurve are refactored.
Test bug33665 is added to check the fixed behavior.
Precision.hxx optimized to have compiler-time
constants for the most common floating-point values.
Reorganized code to avoid static jumping for parametric.
reciprocal [Thu, 16 May 2024 14:29:06 +0000 (16:29 +0200)]
0033319: Coding - Static linking fails with unresolved symbols due to linking order and missing transitive dependencies
The absence of target_link_libraries calls for static libraries caused CMake to fail
in modeling the link dependencies correctly.
This fix ensures that CMake correctly exports the dependencies in OpenCASCADEConfig.cmake and
resolves downstream linking errors for projects that link against static OpenCASCADE libraries.
astromko [Wed, 7 Aug 2024 14:15:43 +0000 (15:15 +0100)]
0033648: Modeling Algorithms - Bad partition result
Removed unnecessary tolerance increase for Line\Line intersection.
Tolerance increasing logic for some specific curve types
was added with #26619.
Original fix had no test for Line/Line case and
theoretically was added as a possible issue.
After research Line/Line case doesn't need a special tolerance case.
oan [Thu, 8 Aug 2024 18:33:52 +0000 (19:33 +0100)]
0033791: Shape Healing - ShapeCustom not take location of source shape for the cached context and misses root one
Pass ShapeBuild_ReShape to recursive call to retrieve complete change history.
Update history of changes by the source shape (if changed), not only by its subshapes.
Check the context for a cached shape using a reference shape without location.