ddzama [Mon, 17 Oct 2022 13:43:39 +0000 (16:43 +0300)]
Revert "rename tolesp -> tol_esp"
This reverts commit
2589eb528d35b58bf07f4bf2b75f1cd9b05ab9b0.
ddzama [Mon, 17 Oct 2022 10:23:04 +0000 (13:23 +0300)]
rename tolesp -> tol_esp
ddzama [Mon, 17 Oct 2022 09:51:08 +0000 (12:51 +0300)]
[ ChFi3d_Builder: update tolesp from ChFiDS_Spine's ]
ddzama [Mon, 17 Oct 2022 07:01:27 +0000 (10:01 +0300)]
[ ChFi3d_Builder: misusage of tolesp (-> tolapp3d) ]
ddzama [Wed, 12 Oct 2022 21:52:29 +0000 (00:52 +0300)]
[ ChFiDS_Spine: update tolesp ]
ddzama [Fri, 7 Oct 2022 10:29:00 +0000 (13:29 +0300)]
0033153: Fix cotire bug, causing impossibility of compilation targets depending from Qt.
Solution is proposed in:
https://gitlab.kitware.com/cmake/cmake/-/issues/18353
ddzama [Thu, 6 Oct 2022 10:29:08 +0000 (13:29 +0300)]
0033153: Configuration: Linker error when building from source for VS2022 x64.
With enabled flag BUILD_USE_PCH we get an error of compilation of TKService:
1>Image_VideoRecorder.obj :
error LNK2019:
unresolved external symbol
"int __cdecl av_strerror(int,char *,unsigned __int64)"
(?av_strerror@@YAHHPEAD_K@Z) referenced in function
"protected: class TCollection_AsciiString __cdecl Image_VideoRecorder::formatAvError(int)const "
(?formatAvError@Image_VideoRecorder@@IEBA?AVTCollection_AsciiString@@H@Z)
1>Media_FormatContext.obj :
error LNK2001:
unresolved external symbol
"int __cdecl av_strerror(int,char *,unsigned __int64)" (?av_strerror@@YAHHPEAD_K@Z)
And many other similar errors. Similar errors occures in some other projects too:
TKService
TKOpenGl
TKOpenGles
TKXCAF
TKXDEDRAW
TKDFBrowser
TKMessageModel
TKMessageView
TKShapeView
TKTInspector
TKTreeModel
TKVInspector
TKView
Proposed solution: turn off cotire from targets, whose compilation cause error while applying cotire tool.
In this ticket migration to cotire 1.8.1 (from 1.7.9) is done.
COTIRE_PREFIX_HEADER_IGNORE_PATH does not apply here, because its employing
causes some errors in 3rdparty libraries (for example, in TKService project).
Projects (TKDFBrowser TKMessageModel TKMessageView TKShapeView TKTInspector TKTreeModel TKVInspector TKView)
which use Qt may be proceeded by cotire tool, but after fixing a bug of cotire:
https://gitlab.kitware.com/cmake/cmake/-/issues/18353
ddzama [Tue, 4 Oct 2022 10:40:57 +0000 (13:40 +0300)]
0033155: Regression [
0033117] Coding, relocation R_X86_64_PC32 against symbol `TT_RunIns' can not be used.
After emploing intel oneTBB of version 2021.5 on NEXT platforms arises error on OCC Pr.:
`
*/ld: */libfreetype.a(truetype.o): relocation R_X86_64_PC32 against symbol `TT_RunIns' can not be used when making a shared object; recompile with -fPIC
*/ld: final link failed: bad value
`
Proposed solution: linking with shared object of libfreetype, rather than with archive library.
Despite that error occurred only in OCC Pr., it is worth to accept changes for OCCT too.
ddzama [Mon, 3 Oct 2022 07:37:14 +0000 (10:37 +0300)]
0033147: [Regression to 7.6.3] Coding, Configuration - CMake Error TBB "Directory is not set".
Previous approach do not taking into account, that oneTBB library may be installed in the system folder
on Linux. So, solve the problem it is proposed to employ find_package utility, that works great
as on Windows, as on Linux.
ddzama [Mon, 3 Oct 2022 07:34:39 +0000 (10:34 +0300)]
0033152: Fix searching tbb in 3rdparty directory.
Currently directory containing tbb 3rdparty installation should match the template tbb*.
But after using oneTbb of version 2021.5 standard installation directory is onetbb*.
So, for this 3rdparty modify searching template.
smoskvin [Mon, 26 Sep 2022 17:06:01 +0000 (20:06 +0300)]
Update version up to 7.7.0
ddzama [Thu, 15 Sep 2022 06:40:48 +0000 (09:40 +0300)]
0033117: migration to intel oneTBB 2021.5.0 (c++20 ready)
MSVC 2022/c++20.
After employed c++20 language standard errors of compilation in intel oneTBB occurred.
To get rid of compilation errors proposed moving on actual (2021.5.0) intel oneTBB occ products and occt.
After migration errors of compilation of TKernel and TMath have been occurred...
...Error occurred if using c++20 standard with new oneTBB 2021.5.0.
The error was:
Error C2672 'tbb::v1::parallel_for_each': no matching overloaded function found TKernel
could be 'void tbb::detail::d2::parallel_for_each(Iterator,Iterator,const Body &)' TKernel
'tbb::detail::d2::parallel_for_each': the associated constraints are not satisfied TKernel
Note, that if we use c++14 or c++17, all ok, error does not occures.
To solve the problem, i have to modify `UniversalIterator` class:
`value_type` instead `UniversalIterator` converted to `IteratorInterface*`
`pointer` = `reference` = `value_type`
Method `DownCast` moved into `FunctorInterface` abstract class.
argument `UniversalIterator& item` of the unary fuctions converted to `IteratorInterface*`.
The proposed solution removes compilation error.
Affected projects: TKernel, TMath
Affected sources: src/OSD/OSD_Parallel.hxx, src/OSD/OSD_Parallel_Threads.cxx
Affected classes: class OSD_Parallel, OSD_Parallel::UniversalIterator, OSD_Parallel::FunctorInterface, OSD_Parallel::FunctorWrapperIter, OSD_Parallel:;FunctorWrapperInt.
jgv [Thu, 22 Sep 2022 09:51:18 +0000 (12:51 +0300)]
0031992: Modeling Algorithms - Offset of closed B-spline edge fails
1. Increase the tolerance of approximation.
2. Update auxiliary Draw command "topoload" for usage of option "-approx".
Add missing comment
atychini [Tue, 12 Jul 2022 20:48:02 +0000 (23:48 +0300)]
0032820: Data Exchange - add VRML reader to XCAF document
Implementing VRML reader into XCAF document.
Updating DE_Wrapper according to VRML Reader.
ona [Wed, 7 Sep 2022 15:48:09 +0000 (18:48 +0300)]
0032239: Data Exchange, STEP import - bounding box is too large
- ShapeFix_Face::FixMissingSeam method is fixed in order to handle degenerated torus
- Calculation of degenerated torus bounding box is fixed
- Test reference data is changed
mzernova [Fri, 2 Sep 2022 15:08:46 +0000 (18:08 +0300)]
0033114: Visualization - AIS_Animation returns 0 elapsed time after finishing playback
Added -elapsedTime option to DRAW vanim command
oan [Fri, 16 Sep 2022 14:28:22 +0000 (17:28 +0300)]
0031853: Mesh - holes in triangulation with large linear deflection
0030442: Mesh - broken triangulation on pipe shape
Scale down min size parameter for NURBS taking into account its U and V resolution in order to prevent comparison of 2d parameters with 3d value involved in filtering process.
oan [Fri, 9 Sep 2022 08:29:38 +0000 (11:29 +0300)]
0032241: Mesh - wrong shading display of thrusections [regression since OCCT 7.4.0]
0032422: Mesh - Weird rendering
0029641: Mesher produce 'bad' result for extruded spline with given deviation coefficient
Added method BRepMesh_NURBSRangeSplitter::getUndefinedInterval() intended to compute checkpoint parameters for those NURBS surfaces which have no intervals at all. In this case number of poles is used to produce artificial regular grid which can be refined further. Add at least one midpoint for surfaces with one interval and only two poles.
Added BRepMesh_ExtrusionRangeSplitter and BRepMesh_UndefinedRangeSplitter derivatives from BRepMesh_NURBSRangeSplitter intended to handle special cases of extrusion surfaces and general surfaces with undefined parameters.
oan [Thu, 1 Sep 2022 10:49:19 +0000 (13:49 +0300)]
0031449: Mesh - BRepMesh works too long and produces many free nodes on a valid face
Added test cases
knosulko [Fri, 5 Aug 2022 09:44:29 +0000 (12:44 +0300)]
0033017: Implement an algorithm to find a proximity between a pair of shapes
Extend "proximity" command to be able to compute the proximity value;
Implement classes for calculate proximity value between two shapes;
Add possibility to set up the number of sample points for the input shapes;
Add tests lowalgos/proximity.
kgv [Tue, 13 Sep 2022 11:31:47 +0000 (14:31 +0300)]
0033142: Configuration, genproj - ExpToCasExe building fails with generated VS projects
Generate executable single MSVC project per-Unit instead of per-source file.
ddzama [Mon, 29 Aug 2022 14:27:16 +0000 (17:27 +0300)]
0032960: Wrong result of BRepExtrema_DistShapeShape after translation.
Add corresponding test.
ifv [Thu, 8 Sep 2022 11:08:00 +0000 (14:08 +0300)]
0032859: Modeling Algorithms - BRepLib_FindSurface not return an expect plane
BRepLib/BRepLib_FindSurface.cxx = removing very small values from coordinate of normal
bug32859 - test case added
ddzama [Fri, 9 Sep 2022 06:29:27 +0000 (09:29 +0300)]
0033137: Updating minimal supported Microsoft Visual Studio version up to 2015 (VC140).
Microsoft Visual C++ compiler of version 2015 or higher should used to compile OCCT and Products on Windows.
oan [Fri, 26 Aug 2022 15:54:33 +0000 (18:54 +0300)]
0032982: [Regression to 7.3.0] Mesh - Meshing the shape takes too long and visualization is bad
New formula to calculate number of points along V axis of a cone depending on ratio of its size along V and U.
atychini [Tue, 5 Jul 2022 15:39:08 +0000 (18:39 +0300)]
0033058: JT Import - perform XT translation in multiple threads
Creating mutex for proper parallel processing.
ddzama [Wed, 4 May 2022 09:57:51 +0000 (12:57 +0300)]
0032921: Configuration, CMake - allow selecting C++ standard.
Make C++ standard to be enable from cmake settings:
User will be able choosing C++ language standard by selecting cmake variable BUILD_CPP_STANDARD.
For correct working, CMAKE_CXX_STANDARD cmake built-in variable should be available.
To enable CMAKE_CXX_STANDARD, minimum CMAKE version has been updated to 3.1.
Available next standard items:
C++11
C++14
C++17
C++20
C++23
This issue consists from several steps to achive main goal:
1) Configuratiuon, CMake - allow selecting C++ standard.
2) Require minimum CMAKE version 3.1 (for enabling CMAKE_CXX_STANDARD).
3) More flexible CMAKE_CXX_COMPILER_ID identification (fixups previous commit!)
4) Add description of new CMAKE variable `BUILD_CPP_STANDARD` into documentation.
5) Update CMAKE requirements in documentation.
6) Set C++11 standard for several projects.
jgv [Mon, 22 Aug 2022 09:15:42 +0000 (12:15 +0300)]
0032214: Modeling Algorithms - 2d Offset produces wrong result
Add new option to convert input contours into ones consisting of 2D circular arcs and 2D linear segments only.
Update documentation
abv [Wed, 1 Apr 2020 22:21:08 +0000 (01:21 +0300)]
0031481: Data Exchange - provide parser of STEP EXPRESS schema for generation of new STEP entities
Integration of ExpToCas tool ported to modern state of OCCT:
- new package Express and toolkit TKExpress for EXPRESS data structures and OCCT class generator
- executable ExpToCasExe including lax/yacc parsers, for parsing a Part 21 file and generating classes
Formatting added files from package Express following OCCT Coding Rules
Changes for correspondence generated files to OCCT Code Rules.
Add generation hxx files with declaration of arrays.
If field is a HArray1 method for get length of array and method for get element of array by its index are generated.
Changes for generation parser from Lex and YACC files.
Update description file ReadMe.md
ddzama [Fri, 19 Aug 2022 11:41:49 +0000 (14:41 +0300)]
0032986: Samples - csharp sample is crashed on compilation with VC++ 2022
While demanding c++ language standard c++20, the error of OCCTProxy compilation is occured:
warning C4857: C++/CLI mode does not support C++ versions newer than C++17; setting language to /std:c++17
error C7681: two-phase name lookup is not supported for C++/CLI or C++/CX; use /Zc:twoPhase-
Officially, C++/CLI mode does not support C++ version newer than C++17, so we should not demand C++20 to compile csharp samples.
Alternative solution - using /permissive (ConformanceMode = false), rather than default value /permissive- (ConformanceMode = true)
option to compile OCCTProxy. But alternative solution has been denied.
So, here is nothing to do to fix compilation of OCCTProxy project.
Nevertheless, error occures in IE_WPF_WinForms and IE_WinForms - if we trying to compile with VC++ 2022 (not demanding c++20):
warning MSB3274: The primary reference "*\OCCTProxy.dll" could not be resolved because it was built against the ".NETFramework,Version=v4.7.2" framework.
This is a higher version than the currently targeted framework ".NETFramework,Version=v4.0".
To solve the problem it is proposed to demand by default the highest version of NETFramework - 4.8.
So, demanding NETFramework v4.8 does not crashing compilation of csharp samples with VC++ 2015.
abulyche [Thu, 1 Sep 2022 12:41:59 +0000 (15:41 +0300)]
0032876: Modeling algorithms - BRepClass_FaceClassifier issue
Modification of checking points for the state "ON" in BRepClass_Intersector.cxx;
Added the test for this ticket;
test case lowalgos/classifier/bug377: BAD -> OK
ifv [Wed, 24 Aug 2022 06:14:05 +0000 (09:14 +0300)]
0033104: Modeling Algorithms - Checking for canonical geometry: surface, close to a cylinder, is not recognized
Adjusting parameters of algorithm for recognizing cylindrical surfaces.
Test case added
mzernova [Fri, 2 Sep 2022 07:43:19 +0000 (10:43 +0300)]
0033112: Visualization - AIS_InteractiveContext::RecomputeSelectionOnly() may should handle selection tolerance changes
akaftasev [Wed, 31 Aug 2022 14:35:00 +0000 (17:35 +0300)]
0030955: [Regression to 7.3.0] Modeling Algorithms - Incorrect result of fuse operation
Added test case.
mzernova [Wed, 24 Aug 2022 12:04:10 +0000 (15:04 +0300)]
0032172: Visualization, TKOpenGl - implement simple shadow mapping for a spot light source
added test: opengl/data/shadows/spotlight
dpasukhi [Tue, 5 Jul 2022 13:10:36 +0000 (16:10 +0300)]
0033053: Data Exchange, Step Export - Compound with vertex is ignored
Fixed problem with deep compound including with vertex group.
mzernova [Thu, 18 Aug 2022 14:12:03 +0000 (17:12 +0300)]
0032547: Visualization, Select3D_SensitiveCylinder - implement picking of a hollow cylinder
Select3D_SensitiveCircle now inherits directly from Select3D_SensitiveEntity.
The sensitive circle sector is created using the Select3D_SensitivePoly class directly.
Added appropriate methods for selecting sensitive circles.
Added parameter myIsHollow to Select3D_SensitiveCylinder class.
It allows you to search for intersections with cylinders without covers.
The Draw vcircle command has been extended with UStart and UEnd parameters
to create a sector of a circle.
Added tests: vselect/cone_cylinder/circle_sector
vselect/cone_cylinder/circle_wire
vselect/cone_cylinder/filled_circle
vselect/cone_cylinder/transformed
vselect/cone_cylinder/hollow_cone_cyl
ngavrilo [Fri, 19 Aug 2022 09:33:52 +0000 (12:33 +0300)]
0032782: Visualization, TKD3DHost - improve robustness of test case opengl/drivers/d3dhost
gka [Wed, 17 Aug 2022 13:58:24 +0000 (16:58 +0300)]
0033101: Data Exchange - STEP reader makes unexpected enormous scaling of some parts
Modification to apply units scale factor for faces based on the triangulation
ddzama [Wed, 17 Aug 2022 08:11:26 +0000 (11:11 +0300)]
0032957: Add Standard_Noexcept definition
into Standard_Macro.hxx and
employ Standard_Noexcept.
msv [Thu, 11 Aug 2022 20:46:23 +0000 (23:46 +0300)]
0033100: Modeling Algorithms - XCAFDoc_Editor::RescaleGeometry does not rescale triangulations
Make XCAFDoc_Editor::RescaleGeometry to pass the flag theCopyMesh==true
in call to BRepBuilderAPI_Transform::Perform.
Correct the help of the command XRescaleGeometry.
ichesnok [Tue, 26 Jul 2022 11:06:58 +0000 (14:06 +0300)]
0032979: Data Exchange, RWGltf_CafWriter - support multi-threaded Draco compression
'MultiThread' field was added to structure RWGltf_DracoParameters for using multithreading.
Class CafWriter_DracoEncodingFunctor was added for multithreaded compression.
dpasukhi [Wed, 10 Aug 2022 12:17:13 +0000 (15:17 +0300)]
0033095: Data Exchange, Step Import - Wrong PMI values when loading a *.stp file in m
Fixed problem with dimension tolerance values (upper/lower)
- Update supported type for tolerance measure unit, now we can handle base class
mzernova [Wed, 3 Aug 2022 09:46:53 +0000 (12:46 +0300)]
0033084: Visualization - Cylindrical prism is selectable only by its base when extruded in some directions
Fixed bounding boxes for Select3D_SensitiveCylinder.
Added display of Select3D_SensitiveCylinder presentation using the "vsensdis" command.
Added test vselect/bugs/bug33084.
ngavrilo [Thu, 14 Jul 2022 13:53:58 +0000 (16:53 +0300)]
0032992: Visualization - Font_TextFormatter should wrap words when possible
jgv [Sat, 23 Jul 2022 14:22:30 +0000 (17:22 +0300)]
0033006: Modelling Algorithms - UnifySameDomain raises exception
Correct processing cases where a group of faces lies on U-periodic and V-periodic (torus-like) surface.
Add comments according to the remarks
jgv [Thu, 28 Jul 2022 13:11:45 +0000 (16:11 +0300)]
0033080: Wrong projection point from ShapeAnalysis_Surface
Correct Draw command "projface" so that it really finds only projection points belonging to the face.
dpasukhi [Mon, 20 Jun 2022 13:28:50 +0000 (16:28 +0300)]
0033068: Draw Harness, XDEDRAW - improve XGetProperties command to work with all document labels
Upgrade DRAW function XGetProperties to work with all document labels or sequence of labels
kgv [Fri, 22 Jul 2022 07:55:28 +0000 (10:55 +0300)]
0033074: Visualization, TKOpenGl - PBR shader compilation error on Mesa OpenGL 3.
10033074
Graphic3d_ShaderManager::getPBREnvBakingProgram() - fix setting Graphic3d_ShaderProgram::SetPBR()
before defining GLSL version via defaultGlslVersion() that relies on this property.
kgv [Fri, 22 Jul 2022 06:53:33 +0000 (09:53 +0300)]
0033073: Coding Rules, RWGltf_CafWriter - suppress CLang warning coming from Draco library
kgv [Thu, 21 Jul 2022 20:30:00 +0000 (23:30 +0300)]
0033072: Configuration - ViewerTest_EventManager.cxx compilation error due to missing header on Emscripten
Added missing `#include <Message.hxx>`.
abulyche [Tue, 5 Jul 2022 23:14:57 +0000 (02:14 +0300)]
0024049: Modeling Algorithms - crash in BRepOffsetAPI_MakePipe
Added the test for this ticket.
oan [Fri, 8 Jul 2022 10:49:11 +0000 (13:49 +0300)]
0033060: [Regression to 7.4.0] Mesh - Sub-precisional links provoke failure on face
Slightly increase exact resolution so to cover links with approximate length equal to resolution itself on sub-resolution differences.
ifv [Mon, 11 Jul 2022 08:09:33 +0000 (11:09 +0300)]
0032940: Canonical Recognition: Some surfaces are not recognized as cylindrical surfaces
New method for recognizing cylindrical surfaces based on analysis Gaussian field of initial surface is added in
class GeomConvert_SurfToAnaSurf
atychini [Mon, 11 Jul 2022 13:07:23 +0000 (16:07 +0300)]
0033055: Data Exchange, RWPly_Provider - remove dependency from BRepLib_PointCloudShape
Removing PointCloud writing feature from the RWPly_Provider class.
Getting rid of Pointcloud-related parameters in the RWPly_ConfigurationNode.
kgv [Fri, 15 Jul 2022 13:06:02 +0000 (16:06 +0300)]
0033066: Visualization - null pointer dereference in MeshVS_ElementalColorPrsBuilder::Build() function
Added missing Boolean flag check.
ona [Fri, 1 Jul 2022 08:30:01 +0000 (11:30 +0300)]
0031080: Data Exchange, STL reader - improve API for reading multi-domain STL files
reading of multidomain stl files into separate Poly_Triangulation objects
azv [Fri, 1 Jul 2022 13:46:55 +0000 (16:46 +0300)]
0031479: Modeling Algorithms - exception on geometry transformation of triangulation-only shapes (without geometry surface)
* Avoid crash in BRepBuilderAPI_GTransform algorithm. The crash in BRepBuilder_Transform has been solved by
0032716.
* Move copying modifier to BRepTools package.
* Implement copying of triangulation in BRepTools_NurbsConvertModification.
* Implement transformation of a triangulation in BRepTools_GTrsfModification.
* Update test case bugs/mesh/bug22778 to clean the triangulation after conversion to NURBS (reproduce the same behavior as before).
abulyche [Wed, 20 Apr 2022 14:14:07 +0000 (17:14 +0300)]
0032716: Modeling Algorithms - BRepBuilderAPI_Transform discards triangulation
* Implement methods for copying tessellation to BRepTools_TrsfModification to keep the triangulation during transformation.
* Add tests to reproduce the problem.
azv [Fri, 1 Jul 2022 12:59:40 +0000 (15:59 +0300)]
0033049: Command 'tclean -geom' does not remove all geometric objects from the shape
Remove unused P-curves when cleaning the geometry
ifv [Sun, 15 May 2022 05:04:58 +0000 (08:04 +0300)]
0032995: Modeling algorithms - Interface for checking canonical geometry
GeomConvert_CurveToAnaCurve, GeomConvert_SurfToAnaSurf - geometrical algorithms
for converting geometrical curve and surfaces in canonical geometry with given tolerance.
ShapeAnalysis_CanonicalRecognition - interface for checking canonical geometry.
kgv [Wed, 6 Jul 2022 19:12:52 +0000 (22:12 +0300)]
0032952: Coding Rules, Graphic3d_DisplayPriority - rename inconsistent Below2/Above1 enties
Below/Below2/Below3 triplet has been renamed to Below/Below1/Below2
for consistency with Above/Above1/Above2
kgv [Wed, 6 Jul 2022 20:39:14 +0000 (23:39 +0300)]
0033056: Visualization - add front face culling option
Added Graphic3d_TypeOfBackfacingModel_FrontCulled enumeration value.
OpenGl_Context::SetFaceCulling() now supports GL_FRONT in addition to GL_BACK.
Added -faceCulling option to vaspects Draw command.
aml [Thu, 30 Jun 2022 08:47:41 +0000 (11:47 +0300)]
0033046: Modeling algorithms - improve performance of per-facet shape construction
Add new class (BRepBuilderAPI_MakeShapeOnMesh) to reconstruct shape from triangulation on per-facet basis.
ifv [Tue, 5 Jul 2022 14:30:35 +0000 (17:30 +0300)]
0028243: Bad result of the canonical recognition
LProp/LProp_CLProps.gxx - minor modification to avoid floating overflow because of multiplication of large values
kgv [Wed, 6 Jul 2022 18:32:46 +0000 (21:32 +0300)]
0033054: Configuration - link errors due to missing references to new TKXDE toolkit
src/OS/DataExchange.tcl - added missing new toolkits.
TKRWMesh - added missing reference to TKTopAlgo (for using BRepLib_PointCloudShape).
Removed redundant dependency from TKBinXCAF.
DRAWEXE - added missing references for a static build.
THE_CONFIGURATION_SCOPE definition has been corrected to postpoine calling constructor till the first variable usage.
Fixed compiler warning at SelectMgr_Frustum<3>::DumpJson() due to misleading Standard_EXPORT for an inline template method definition.
aml [Mon, 4 Jul 2022 09:41:15 +0000 (12:41 +0300)]
0033048: Foundation Classes - math_ComputeKronrodPointsAndWeights indexation goes beyond the limit
Add test and explanatory comment.
ichesnok [Tue, 29 Mar 2022 14:02:02 +0000 (17:02 +0300)]
0032867: Data Exchange - Implement Draco compression for writing glTF
Draco compression added in RWGltf_CafWriter class.
dpasukhi [Tue, 28 Jun 2022 13:10:13 +0000 (16:10 +0300)]
0033011: Data Exchange - Backward compatibility XBF format
Fixed problem with moving the attribute position.
Made the same positions as version 7.5 with adding to the end.
ona [Mon, 27 Jun 2022 14:12:11 +0000 (17:12 +0300)]
0029854: XCAF GD&T: Clear contents of reserved labels only
Clear attributes from reserved child labels only
ona [Wed, 29 Jun 2022 07:14:53 +0000 (10:14 +0300)]
0029415: Data Exchange - Step reader cannot read the surfaces of the main body of the shape
Test for model reading check is added
aml [Mon, 27 Jun 2022 16:20:41 +0000 (19:20 +0300)]
0033040: Coding - get rid of unused headers [Storage to TopOpeBRepTool]
mgerus [Wed, 29 Jun 2022 06:27:09 +0000 (09:27 +0300)]
0030398: Modeling Algorithms - thrusection produces twisted solid
Change FirstBary to PrevBary to correct Offset calculation relative prev wire instead of first wire
akaftasev [Wed, 29 Jun 2022 07:33:37 +0000 (10:33 +0300)]
0032446: BRepOffsetAPI_MakePipeShell crash when using -DT mode and DT_ShapeDivide on the spine
Added test case
akaftasev [Wed, 29 Jun 2022 07:32:52 +0000 (10:32 +0300)]
0032445: BRepOffsetAPI_MakePipeShell crash when using -DT mode and DT_ShapeDivide on the spine
Added test case
jgv [Sat, 30 Apr 2022 20:05:07 +0000 (23:05 +0300)]
0032999: Modeling Algorithms - New option in ShapeUpgrade_ShapeDivide algorithm: splitting into N parts, into N*M parts
1. Multiple changes in ShapeUpgrade_ShapeDivideArea, ShapeUpgrade_FaceDivide, ShapeUpgrade_FaceDivideArea, ShapeUpgrade_SplitSurface, ShapeUpgrade_SplitSurfaceArea: new methods NbParts and SetSplittingByNumber, changes in ShapeUpgrade_FaceDivideArea::Perform and ShapeUpgrade_SplitSurfaceArea::Compute concerning new modes of splitting.
2. New Draw command "DT_SplitByNumber" for testing new modes of splitting.
3. New subgroups "split_number" and "split_two_numbers" in the group of tests "heal" for testing new modes of splitting.
aml [Mon, 27 Jun 2022 16:46:53 +0000 (19:46 +0300)]
0033041: Coding - get rid of unused headers [TopTools to Xw]
oan [Tue, 28 Jun 2022 08:43:49 +0000 (11:43 +0300)]
0032692: Mesh - In BRepMesh_ModelPreProcessor avoid crashes with problematic topology
Improved the processing for the case where Failure flag for the meshing face is set. Specific tests added.
Check triangulation consistency even for shapes with problematic topology given that they are suitable for keeping it.
atychini [Sun, 26 Jun 2022 17:03:59 +0000 (20:03 +0300)]
0033029: Warning on Windows 32 and 64 with VC14 after the integration of ticket 32821
Warning has been fixed by adding condition.
aml [Mon, 27 Jun 2022 16:15:13 +0000 (19:15 +0300)]
0033039: Coding - get rid of unused headers [StepData to StlAPI]
azv [Mon, 27 Jun 2022 06:57:42 +0000 (09:57 +0300)]
0033028: Standard_ConstructionError while using ShapeUpgrade_UnifySameDomain
Additional check if the sequence of circular edges is a closed chain.
aml [Wed, 22 Jun 2022 15:59:47 +0000 (18:59 +0300)]
0033025: Coding - get rid of unused Standard_TooManyUsers class
azv [Fri, 8 Apr 2022 08:03:53 +0000 (11:03 +0300)]
0032915: Geom2dAPI_InterCurveCurve, The algorithm lost an intersection point.
Get rid of strange code: preliminary check of self-intersections is made on a polygonal representation of a curve, it is able to find possible intersections, but after that it filter out segments neighbor to the pair of non-intersected segments.
Test case de step_4 I1 has been marked BAD, because the self-intersection is treated correctly, but the projection algorithm generates such crooked 2D curve.
Reference data in test cases heal split_angle_advanced ZA5 and ZA6 has been updated, because those shapes have self-intersected edges, which are being detected now.
mgerus [Thu, 23 Jun 2022 05:35:33 +0000 (08:35 +0300)]
0032877: Modeling algorithms - Sweeping issue
Add fix at sweeping algorithm: sweeping happens in the opposite direction as expected
Add test case tests/bugs/modalg_7/bug32877
atychini [Wed, 16 Feb 2022 10:22:23 +0000 (13:22 +0300)]
0032821: DEWrapper - Implementation of a common toolkit for importing and exporting CAD files
Implementing DE_Wrapper and its formats
aml [Tue, 21 Jun 2022 14:03:20 +0000 (17:03 +0300)]
0033022: Coding - get rid of unused headers [ShapeBuild to STEPControl]
mpv [Mon, 20 Jun 2022 14:45:27 +0000 (17:45 +0300)]
0032894: Application Framework - Regressions on Ubuntu 20.04
Updated corrupted file reading error management, make memory unit-tests more stable.
aml [Fri, 17 Jun 2022 06:20:51 +0000 (09:20 +0300)]
0032653: Modeling Data - misprint in Geom2d_Conic.hxx api SetYAxis(const gp_Ax2d& theAY)
Fix misprint.
aml [Tue, 14 Jun 2022 14:02:28 +0000 (17:02 +0300)]
0033019: Coding - get rid of unused classes
aml [Tue, 14 Jun 2022 13:21:00 +0000 (16:21 +0300)]
0033018: Coding - get rid of unused headers [Plugin to ShapeAnalysis]
kgv [Tue, 14 Jun 2022 06:48:09 +0000 (09:48 +0300)]
0033016: Documentation - Draw Harness User Guide mentions removed commands 'meshdispmode'
Updated description of MeshVS commands in User's Guide.
akondrat [Fri, 10 Jun 2022 11:33:15 +0000 (14:33 +0300)]
0033009: Foundation Classes - Bnd_OBB::ReBuild() expects point array starting from 0
Add test. Update OBBTool constructor for any bounds of array of points.
snn [Fri, 13 May 2022 09:53:03 +0000 (12:53 +0300)]
0032954: Tool for applying transformation to OCAF document
New XCAFDoc classes:
- XCAFDoc_AssemblyIterator: iterator in depth along the assembly tree
- XCAFDoc_AssemblyGraph: assembly graph with iterator
- XCAFDoc_AssemblyTool: provides generic methods for traversing assembly tree and graph
A method for re-scaling (sub-)assembly geometry is added to XCAFDoc_Editor.
New DRAW commands:
- XDumpAssemblyTree: iterates through the assembly tree in depth up to the specified level, if any
- XDumpAssemblyGraph: prints assembly graph structure
- XDumpNomenclature: prints number of (sub-)assembly/part instances
- XRescaleGeometry: applies geometrical scale to (sub-)assembly
aml [Fri, 3 Jun 2022 09:30:22 +0000 (12:30 +0300)]
0030492: Foundation Classes - math_BFGS fails if starting point is exactly the minimum
Fix affects BFGS optimization methods by checking convergence as the first step on each iteration. FRPR works well, but it is updated as well since its logic potentially dangerous.
Charlemagne Lasse [Wed, 13 Apr 2022 09:54:30 +0000 (11:54 +0200)]
0032929: Modeling Algorithms - Crash in PerformIntersectionAtEnd after deletion of surfdata
When creating a fillet, num is calculated via ChFi3d_IndexOfSurfData. If it
returns just the number of entries in surfdata, it can happen that this
value becomes invalid when handling the case "two faces common to the edge
are found". When both components are on an arc, there will be num removed
from the surfdata.
num would then be larger than the number of entries surfdata. The derived
num1 is therefore also incorrect. The subsequent usage of this
value will either:
* Debug build: cause an out of bounds exception in ChangeValue
(`SeqFil.ChangeValue(num)`)
* Release build: cause a segfault when retrieving it via index num1
(`SeqFil(num1)`)
num + num1 must be recalculated after the deletion happens to correctly
calculate the fillet.
Signed-off-by: Charlemagne Lasse <charlemagnelasse@gmail.com>
Charlemagne Lasse [Wed, 13 Apr 2022 09:54:30 +0000 (11:54 +0200)]
0032930: Modeling Algorithms - Crash in PerformIntersectionAtEnd when no face was found
The PerformIntersectionAtEnd code is currently not handling all the faces
correctly. If it retrieves Face[0] as F, it can happen that the previously
ran code didn't actually retrieve any faces in this array at all.
For example when:
* "if (nface==3)" is true
- "if (!findonf1)" is true (doesn't assign any faces to this array)
- "if (!findonf2)" is true (doesn't assign any faces to this array)
- "if (state == ChFiDS_OnSame)" is not true (because it is
ChFiDS_AllSame)
- "if (findonf1 && !isOnSame1)" cannot be true (see above, but would
handle faces)
- "if (findonf2 && !isOnSame2)" cannot be true (see above, but would
handle faces)
- "if (isOnSame2)" is false (but would also handle faces)
Since no faces were assigned here, F would be a NULL face. As result, the
function will crash when trying to access the Surface behind the face via
`BRep_Tool::Surface(F);`.
While the best approach would be to identify the implementation bug in the
algorithm behind PerformIntersectionAtEnd, a check + exception is used
instead because the actual algorithm is not known.
Signed-off-by: Charlemagne Lasse <charlemagnelasse@gmail.com>
Charlemagne Lasse [Wed, 13 Apr 2022 09:54:30 +0000 (11:54 +0200)]
0032931: Modeling Algorithms - Crash in ChFi3d_IsInFront when no face was found
The ChFi3d_IsInFront code is currently not handling all the combinations
correctly. For example, if `if(fd1->IndexOfS2() == fd2->IndexOfS2())` is
true, it can happen that the `TopoDS::Face(DStr.Shape(fd1->Index(jf1)))`
returns a Face with entity == NULL. The subsequent usage of this NULL face
in `BRep_Tool::Parameters( Vtx, face )` will then cause a segfault.
While the best approach would be to identify the implementation bug in the
algorithm behind PChFi3d_IsInFron, a check + exception is used instead
because the actual algorithm is not known.
Signed-off-by: Charlemagne Lasse <charlemagnelasse@gmail.com>
snn [Mon, 4 Apr 2022 15:08:34 +0000 (18:08 +0300)]
0030024: Data Exchange - STEP, IGES export support of BRep shapes based on tessellated geometry
Support of reading and writing tessellated geometry is added for the following STEP entities:
- triangulated face
- complex triangulated face
- tessellated shell
- tessellated solid
- tessellated shape representation
Models without BRep geometry (mesh formats like STL, OBJ and so on) are supported for writing to STEP.
New parameters are added to enable/disable tessellated geometry reading and writing:
- read.step.tessellated (On/Off/OnNoBRep) (On by default)
- write.step.tessellated (On/Off/OnNoBRep) (OnNoBRep by default)
OnNoBRep - tessellation is read/written only for entities for which there is no BRep representation.
Faces with poly triangulation are written in STEP as triangulated face entities with one coordinates list per face.
Only one poly triangulation per face (returned by BRep_Tool::Triangulation) is written to STEP.
kgv [Wed, 25 May 2022 18:19:43 +0000 (21:19 +0300)]
0032989: Data Exchange, RWGltf_CafReader - fill in metadata map from asset.extras
kgv [Fri, 27 May 2022 22:04:31 +0000 (01:04 +0300)]
0032991: Visualization, TKOpenGl - OpenGl_Window::Resize() ignores window virtual flag on macOS
Added handling of Aspect_Window::IsVirtual() flag on macOS platform.