dpasukhi [Sun, 19 Jan 2025 17:55:15 +0000 (17:55 +0000)]
Testing - Retesting step for GH Actions #268
Adding new step to retest result per each job line.
Rework logic to minimize retesting.
Creating base for splitting into actions.
Adding new TCL command to clear up test folder from skipped
dpasukhi [Fri, 17 Jan 2025 18:34:14 +0000 (18:34 +0000)]
Testing - Fix loading order of OCAF and XDE in bug tests #265
GNU compiler have some optimization leads to multiple definitions
of static global objects.
In case of static linking there are no possible issues, but in case of plug-in
application can have multiple definitions of single object.
dpasukhi [Thu, 16 Jan 2025 23:09:25 +0000 (23:09 +0000)]
Coding - Move StepData_ConfParameters to DESTEP package #261
Replace StepData_ConfParameters with DESTEP_Parameters across multiple files.
New location will help to keep any translate related stuff in one place for high level usage.
dpasukhi [Fri, 17 Jan 2025 15:29:17 +0000 (15:29 +0000)]
Coding - Separate DE Wrapper's plugins to own packages #260
Reorganize DE Wrapper classes to have single style and logic.
Each TKDE* will have own DE*_Provider and DE*_ConfigurationNode
DE* package will have all necessary classes and enums inside instead of another places.
dpasukhi [Wed, 15 Jan 2025 16:31:15 +0000 (16:31 +0000)]
Data Exchange - STP provider missed parameters #257
Update STEPCAFControl_Provider and StepData_ConfParameters for improved parameter handling.
Update the default write parameters for WriteMode_Assembly to auto
dpasukhi [Mon, 6 Jan 2025 12:35:56 +0000 (12:35 +0000)]
Coding - Add clang-format configuration #246
New clang-format configuration added to determinate code style.
The default version is 16.
Extend CMake to copy config file to build root.
Method/function separator deprecation:
In case if function/method has declaration in header,
definition must not have related comment.
Only //==== [100 chars] ==== is allowed as a not connected
separator.
In case if function/method has NOT declaration in header,
definition must have related comment in doxygen style:
// Descriptions
// @param
// @return
Or just function/method separator:
//==== [100 chars] ====
All old separators with no description must be replaced to
//==== [100 chars] ====
dpasukhi [Sun, 5 Jan 2025 12:41:34 +0000 (12:41 +0000)]
Coding - Deprecate Handle_* type usage #240
Handle_* require special processing in Windows
and it is already not needed for VS15+
In 7.9 dev will be reorginized to use typedef even for MSVC.
In 8.0 will be fully removed.
dpasukhi [Sun, 29 Dec 2024 11:20:53 +0000 (11:20 +0000)]
Coding - Disable exporting internal RWStep* includes #223
Refactor header file extensions from .hxx to .pxx and update include statements.
Enable handling by IDE gxx and pxx extensions as a cpp header files.
Introduce Standard_HIDDEN to hide symbols
dpasukhi [Fri, 27 Dec 2024 10:36:43 +0000 (10:36 +0000)]
Foundation Classes - Move Map's algo part to external file #213
Updated multiple classes to utilize the new NCollection_MapAlgo
for union, intersection, and other set operations,
improving code structure and maintainability.
Deprecated older methods in NCollection_Map in favor of the new algorithmic approaches.
dpasukhi [Fri, 20 Dec 2024 16:54:31 +0000 (16:54 +0000)]
Configuration - Add VCPKG Manifest mode support #205
The basic implementation of VCPKG as a beta version.
By default will be disabled.
To enable needs to remove CMake cache and reconfigure with BUILD_USE_VCPKG flag to ON.
The current version do not support whole list of 3rd-party, only limited.
and VCPKG_ROOT reachable as a CMake or env variable
Add vcpkg support for FFmpeg and Jemalloc, including configuration files and patches.
QtCreator supports CMake natively.
At the moment OCCT qmake configuration is out-of-date and better to clean.
In case if support of qmake will require for specific platform - can be returned.
But with requirement to be tested by test system Jenkins/GitLab or GH.
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.