]> OCCT Git - occt.git/log
occt.git
2 years ago0033032: Samples - Warning on Ubuntu 20.04
azv [Wed, 29 Jun 2022 14:32:17 +0000 (17:32 +0300)]
0033032: Samples - Warning on Ubuntu 20.04

Fix warnings:
* catching polymorphic type 'class Standard_Failure' by value [-Wcatch-value=]
* this 'if' clause does not guard... [-Wmisleading-indentation]

2 years ago0032350: Data Exchange - STEPControl_Writer.writeStream(std::ostream)
mahaidong [Fri, 14 May 2021 06:35:28 +0000 (14:35 +0800)]
0032350: Data Exchange - STEPControl_Writer.writeStream(std::ostream)

STEPCAFControl_Writer::WriteStream(), STEPControl_Writer::WriteStream() - added interface for writing into stream.
STEPCAFControl_Reader::ReadStream() - added stream reading method (similar to STEPControl_Reader::ReadStream()).

Added option -stream to commands ReadStep, WriteStep, and testwritestep.

2 years ago0032053: Mesh - Invalid mesh after shape scaling
oan [Thu, 20 Oct 2022 18:09:09 +0000 (21:09 +0300)]
0032053: Mesh - Invalid mesh after shape scaling

Added test case

2 years ago0031926: Shape Healing - ShapeAnalysis::OuterWire() considers next iteration element...
oan [Wed, 31 Aug 2022 14:40:33 +0000 (17:40 +0300)]
0031926: Shape Healing - ShapeAnalysis::OuterWire() considers next iteration element always to be a wire causing skipping of primal one

ShapeAnalysis::OuterWire(): fixed missed logic when TopoDS_Iterator notifies about more objects to iterate, but there are only vertices and no additional wires at all.

2 years ago0033050: [Regression to OCCT 7.3.0] Mesh - meshing deflection is not reached
oan [Thu, 20 Oct 2022 11:25:26 +0000 (14:25 +0300)]
0033050: [Regression to OCCT 7.3.0] Mesh - meshing deflection is not reached

Add parameter EnableControlSurfaceDeflectionAllSurfaces to IMeshTools_Parameters enabling possibility to optimize mesh even on analytical surfaces;
Add corresponding parameter -surf_def_all to incmesh Draw command.

2 years ago0029093: BOP PaveFiller hungs and constantly consumes memory
akaftasev [Fri, 14 Oct 2022 08:00:50 +0000 (11:00 +0300)]
0029093: BOP PaveFiller hungs and constantly consumes memory

Method IntWalk_PWalking::ExtendLineInCommonZone(...) now is not called if the already found intersection point is on surface boundary.
As result, the intersection line going along any boundary will never be extended. It is appropriate for high-level OCCT-algorithm because they will take the boundary (not computed line) as intersection result.

2 years ago0032691: Modeling Algorithms - Exception when trying to build solid during sweep...
akaftasev [Tue, 18 Oct 2022 06:39:03 +0000 (09:39 +0300)]
0032691: Modeling Algorithms - Exception when trying to build solid during sweep algorithm

Changed the condition for checking the correctness of the sweep algorithm. Exception is no longer raised, algorithm finishes with "Not done" status.

2 years ago0033165: Data exchange - Instance name is not saved during writing step file
vmigunov [Wed, 19 Oct 2022 09:15:09 +0000 (12:15 +0300)]
0033165: Data exchange - Instance name is not saved during writing step file

Instance name is saved also with identity location transformation

2 years ago0028500: Artifact in shaded view of the shape
oan [Wed, 30 Oct 2019 09:08:19 +0000 (12:08 +0300)]
0028500: Artifact in shaded view of the shape

Increase minimum number of discretization points by one explicitly on each iteration of model healer to cover cases degenerated to line (for cases when face consists of 2 edges only).

2 years ago0033163: Bad definition of values in IMeshData_Status
oan [Tue, 18 Oct 2022 21:49:02 +0000 (00:49 +0300)]
0033163: Bad definition of values in IMeshData_Status

Corrected value of status enum

2 years ago0031476: Wrong shading of a toroidal face from a SAT file
oan [Tue, 18 Oct 2022 12:50:59 +0000 (15:50 +0300)]
0031476: Wrong shading of a toroidal face from a SAT file

Added test case

2 years ago0033141: BVH_BaseBox<T, 3, BVH_Box>::Transformed() returns empty box for identity...
kgv [Tue, 13 Sep 2022 10:01:00 +0000 (13:01 +0300)]
0033141: BVH_BaseBox<T, 3, BVH_Box>::Transformed() returns empty box for identity matrix

2 years ago0033138: [Foundation Classes] - NCollection_IncAllocator- Decrease the default block...
Eugeny Maltchikov [Mon, 12 Sep 2022 08:00:49 +0000 (11:00 +0300)]
0033138: [Foundation Classes] - NCollection_IncAllocator- Decrease the default block size

Set default memory block size for IncAllocator to 12KB to make sure the Low Fragmentation Heap is used for memory allocations on Windows platform.

2 years ago0023954: Modeling Algorithms - BRepPrimAPI_MakeRevol fails to recognize a torus case
abulyche [Fri, 9 Sep 2022 10:21:03 +0000 (13:21 +0300)]
0023954: Modeling Algorithms - BRepPrimAPI_MakeRevol fails to recognize a torus case

Fixed the Toroidal surface recognition;
The test case bugs/moddata_1/bug22296: the result is a torus with parameters: u [0, 2*PI], v [PI, 3*PI];
The test case bugs/modalg_5/bug23954: BAD -> OK.

2 years ago0033153: Configuration: Linker error when building from source for VS2022 x64.
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

0033153: Fix cotire bug, causing impossibility of compilation targets depending from Qt.

Solution is proposed in:
https://gitlab.kitware.com/cmake/cmake/-/issues/18353

2 years ago0033155: Regression [0033117] Coding, relocation R_X86_64_PC32 against symbol `TT_Run...
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.

2 years ago0033147: [Regression to 7.6.3] Coding, Configuration - CMake Error TBB "Directory...
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.

2 years ago0028414: Data Exchange, STEP - Face on a closed surface with single inner wire and...
atereshi [Tue, 20 Sep 2022 08:48:14 +0000 (11:48 +0300)]
0028414: Data Exchange, STEP - Face on a closed surface with single inner wire and without natural bound not correctly read

Problem: From the point of view of the STEP format (and others), it is allowed
to describe a face on a surface with natural boundaries (torus, sphere) without
specifying these boundaries. Thus, a face on a closed surface and containing
an inner wire (or several) is correctly defined and describes a face with a
cutout defined by this wire. At the same time, there is a function
(ShapeFix_Face::FixOrientation) in the ShapeHealing procedure that corrects the
orientation of the wires, and it starts before the function of adding natural
boundaries (ShapeFix_Face::FixAddNaturalBound). There are many shapes that have
incorrectly oriented wires and this procedure successfully heals them, but on a
correctly specified face with single inner wire on closed surface, we do not get
the entire surface with a cutout, but a part of the surface defined by the wire.
This fix is intended to resolve this ambiguity.

Change:
1. Added function isNeedAddNaturalBound that returns TRUE if face needs to add
 natural bounds.
2. Corrected condition in FixOrientation to ignoring faces that needs to add
 natural bounds.
3. For tests in which one wire was incorrectly oriented on a closed surface,
flag AddNaturalBound was disabled.
5. Test with cutout from torus was created: bugs step bug28414.

Result: By default, it is correct to add natural boundaries, because this case
 is correct from the point of view of the STEP format and others.

2 years ago0032850: Modeling Algorithms - Surface Surface Intersect Lost one line
gelin [Mon, 28 Feb 2022 06:13:31 +0000 (09:13 +0300)]
0032850: Modeling Algorithms - Surface Surface Intersect Lost one line

IntStart_SearchOnBoundaries.gxx - improving tangent criteria

2 years ago0033149: Mesh - misprint in BRepMesh_NURBSRangeSplitter::computeGrainAndFilterParamet...
kgv [Wed, 28 Sep 2022 16:56:48 +0000 (19:56 +0300)]
0033149: Mesh - misprint in BRepMesh_NURBSRangeSplitter::computeGrainAndFilterParameters()

2 years ago0028024: Data Exchange - create a convenient mechanism for managing shape healing...
atereshi [Mon, 16 May 2022 13:17:12 +0000 (16:17 +0300)]
0028024: Data Exchange - create a convenient mechanism for managing shape healing options when reading STEP or IGES file

Problem: There is no possibility to change shape healing options from DRAW without rewriting resource file.
Change: Shape healing parameters from STEP and IGES resource files were duplicated to InterfaceStatic. Resource manager initialize from InterfaceStatic if resource file name is empty.
Result: User can operationally change shape healing parameters from DRAW command using "param" command.

2 years ago0033152: Fix searching tbb in 3rdparty directory.
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.

2 years ago0028640: Modeling Algorithms - BRepBuilderAPI_Transform builds invalid shape
nmanchen [Tue, 27 Sep 2022 06:46:43 +0000 (09:46 +0300)]
0028640: Modeling Algorithms - BRepBuilderAPI_Transform builds invalid shape

Adapt test case, the problem is not reproduced any more.
Problem is fixed by the commit: 46478ffe32cfca537a35b744700e082f59ec4c4c (0030008: BRepMesh does not respect angular deflection in internal area of bspline surface)

2 years agoUpdate version up to 7.7.0 V7_7_0_beta
smoskvin [Mon, 26 Sep 2022 17:06:01 +0000 (20:06 +0300)]
Update version up to 7.7.0

2 years ago0033117: migration to intel oneTBB 2021.5.0 (c++20 ready) IR-2022-09-23
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.

2 years ago0031992: Modeling Algorithms - Offset of closed B-spline edge fails
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

2 years ago0032820: Data Exchange - add VRML reader to XCAF document
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.

2 years ago0032239: Data Exchange, STEP import - bounding box is too large
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

2 years ago0033114: Visualization - AIS_Animation returns 0 elapsed time after finishing playback
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

2 years ago0031853: Mesh - holes in triangulation with large linear deflection IR-2022-09-16
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.

2 years ago0032241: Mesh - wrong shading display of thrusections [regression since OCCT 7.4.0]
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.

2 years ago0031449: Mesh - BRepMesh works too long and produces many free nodes on a valid face
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

2 years ago0033017: Implement an algorithm to find a proximity between a pair of shapes
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.

2 years ago0033142: Configuration, genproj - ExpToCasExe building fails with generated VS projects
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.

2 years ago0032960: Wrong result of BRepExtrema_DistShapeShape after translation.
ddzama [Mon, 29 Aug 2022 14:27:16 +0000 (17:27 +0300)]
0032960: Wrong result of BRepExtrema_DistShapeShape after translation.

Add corresponding test.

2 years ago0032859: Modeling Algorithms - BRepLib_FindSurface not return an expect plane IR-2022-09-09
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

2 years ago0033137: Updating minimal supported Microsoft Visual Studio version up to 2015 (VC140).
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.

2 years ago0032982: [Regression to 7.3.0] Mesh - Meshing the shape takes too long and visualizat...
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.

2 years ago0033058: JT Import - perform XT translation in multiple threads
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.

2 years ago0032921: Configuration, CMake - allow selecting C++ standard.
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.

2 years ago0032214: Modeling Algorithms - 2d Offset produces wrong result
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

2 years ago0031481: Data Exchange - provide parser of STEP EXPRESS schema for generation of...
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

2 years ago0032986: Samples - csharp sample is crashed on compilation with VC++ 2022
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.

2 years ago0032876: Modeling algorithms - BRepClass_FaceClassifier issue
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

2 years ago0033104: Modeling Algorithms - Checking for canonical geometry: surface, close to...
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

2 years ago0033112: Visualization - AIS_InteractiveContext::RecomputeSelectionOnly() may should...
mzernova [Fri, 2 Sep 2022 07:43:19 +0000 (10:43 +0300)]
0033112: Visualization - AIS_InteractiveContext::RecomputeSelectionOnly() may should handle selection tolerance changes

2 years ago0030955: [Regression to 7.3.0] Modeling Algorithms - Incorrect result of fuse operation CR0-WEEK-35 IR-2022-09-02
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.

2 years ago0032172: Visualization, TKOpenGl - implement simple shadow mapping for a spot light...
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

2 years ago0033053: Data Exchange, Step Export - Compound with vertex is ignored IR-2022-08-26
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.

2 years ago0032547: Visualization, Select3D_SensitiveCylinder - implement picking of a hollow...
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

2 years ago0032782: Visualization, TKD3DHost - improve robustness of test case opengl/drivers...
ngavrilo [Fri, 19 Aug 2022 09:33:52 +0000 (12:33 +0300)]
0032782: Visualization, TKD3DHost - improve robustness of test case opengl/drivers/d3dhost

2 years ago0033101: Data Exchange - STEP reader makes unexpected enormous scaling of some parts
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

2 years ago0032957: Add Standard_Noexcept definition CR0-WEEK-33 IR-2022-08-19
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.

2 years ago0033100: Modeling Algorithms - XCAFDoc_Editor::RescaleGeometry does not rescale trian... IR-2022-08-12
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.

2 years ago0032979: Data Exchange, RWGltf_CafWriter - support multi-threaded Draco compression
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.

2 years ago0033095: Data Exchange, Step Import - Wrong PMI values when loading a *.stp file...
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

2 years ago0033084: Visualization - Cylindrical prism is selectable only by its base when extrud... IR-2022-08-05
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.

2 years ago0032992: Visualization - Font_TextFormatter should wrap words when possible
ngavrilo [Thu, 14 Jul 2022 13:53:58 +0000 (16:53 +0300)]
0032992: Visualization - Font_TextFormatter should wrap words when possible

2 years ago0033006: Modelling Algorithms - UnifySameDomain raises exception IR-2022-07-29
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

2 years ago0033080: Wrong projection point from ShapeAnalysis_Surface
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.

2 years ago0033068: Draw Harness, XDEDRAW - improve XGetProperties command to work with all...
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

2 years ago0033074: Visualization, TKOpenGl - PBR shader compilation error on Mesa OpenGL 3... IR-2022-07-22
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.

2 years ago0033073: Coding Rules, RWGltf_CafWriter - suppress CLang warning coming from Draco...
kgv [Fri, 22 Jul 2022 06:53:33 +0000 (09:53 +0300)]
0033073: Coding Rules, RWGltf_CafWriter - suppress CLang warning coming from Draco library

2 years ago0033072: Configuration - ViewerTest_EventManager.cxx compilation error due to missing...
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>`.

2 years ago0024049: Modeling Algorithms - crash in BRepOffsetAPI_MakePipe
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.

2 years ago0033060: [Regression to 7.4.0] Mesh - Sub-precisional links provoke failure on face
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.

2 years ago0032940: Canonical Recognition: Some surfaces are not recognized as cylindrical surfaces
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

3 years ago0033055: Data Exchange, RWPly_Provider - remove dependency from BRepLib_PointCloudShape
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.

3 years ago0033066: Visualization - null pointer dereference in MeshVS_ElementalColorPrsBuilder... CR0-WEEK-28 IR-2022-07-15
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.

3 years ago0031080: Data Exchange, STL reader - improve API for reading multi-domain STL files
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

3 years ago0031479: Modeling Algorithms - exception on geometry transformation of triangulation... IR-2022-07-08
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).

3 years ago0032716: Modeling Algorithms - BRepBuilderAPI_Transform discards triangulation
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.

3 years ago0033049: Command 'tclean -geom' does not remove all geometric objects from the shape
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

3 years ago0032995: Modeling algorithms - Interface for checking canonical 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.

3 years ago0032952: Coding Rules, Graphic3d_DisplayPriority - rename inconsistent Below2/Above1...
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

3 years ago0033056: Visualization - add front face culling option
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.

3 years ago0033046: Modeling algorithms - improve performance of per-facet shape construction
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.

3 years ago0028243: Bad result of the canonical recognition
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

3 years ago0033054: Configuration - link errors due to missing references to new TKXDE toolkit
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.

3 years ago0033048: Foundation Classes - math_ComputeKronrodPointsAndWeights indexation goes...
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.

3 years ago0032867: Data Exchange - Implement Draco compression for writing glTF
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.

3 years ago0033011: Data Exchange - Backward compatibility XBF format
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.

3 years ago0029854: XCAF GD&T: Clear contents of reserved labels only IR-2022-07-01
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

3 years ago0029415: Data Exchange - Step reader cannot read the surfaces of the main body of...
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

3 years ago0033040: Coding - get rid of unused headers [Storage to TopOpeBRepTool]
aml [Mon, 27 Jun 2022 16:20:41 +0000 (19:20 +0300)]
0033040: Coding - get rid of unused headers [Storage to TopOpeBRepTool]

3 years ago0030398: Modeling Algorithms - thrusection produces twisted solid
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

3 years ago0032446: BRepOffsetAPI_MakePipeShell crash when using -DT mode and DT_ShapeDivide...
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

3 years ago0032445: BRepOffsetAPI_MakePipeShell crash when using -DT mode and DT_ShapeDivide...
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

3 years ago0032999: Modeling Algorithms - New option in ShapeUpgrade_ShapeDivide algorithm:...
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.

3 years ago0033041: Coding - get rid of unused headers [TopTools to Xw]
aml [Mon, 27 Jun 2022 16:46:53 +0000 (19:46 +0300)]
0033041: Coding - get rid of unused headers [TopTools to Xw]

3 years ago0032692: Mesh - In BRepMesh_ModelPreProcessor avoid crashes with problematic topology
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.

3 years ago0033029: Warning on Windows 32 and 64 with VC14 after the integration of ticket 32821
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.

3 years ago0033039: Coding - get rid of unused headers [StepData to StlAPI]
aml [Mon, 27 Jun 2022 16:15:13 +0000 (19:15 +0300)]
0033039: Coding - get rid of unused headers [StepData to StlAPI]

3 years ago0033028: Standard_ConstructionError while using ShapeUpgrade_UnifySameDomain
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.

3 years ago0033025: Coding - get rid of unused Standard_TooManyUsers class
aml [Wed, 22 Jun 2022 15:59:47 +0000 (18:59 +0300)]
0033025: Coding - get rid of unused Standard_TooManyUsers class

3 years ago0032915: Geom2dAPI_InterCurveCurve, The algorithm lost an intersection point. CR0-WEEK-25 IR-2022-06-24
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.

3 years ago0032877: Modeling algorithms - Sweeping issue
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

3 years ago0032821: DEWrapper - Implementation of a common toolkit for importing and exporting...
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

3 years ago0033022: Coding - get rid of unused headers [ShapeBuild to STEPControl]
aml [Tue, 21 Jun 2022 14:03:20 +0000 (17:03 +0300)]
0033022: Coding - get rid of unused headers [ShapeBuild to STEPControl]

3 years ago0032894: Application Framework - Regressions on Ubuntu 20.04
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.