akaftasev [Fri, 9 Dec 2022 11:01:08 +0000 (14:01 +0300)]
0033247: Modeling Algorithm - BOP report small edges problem and produce empty result
Build shifted pcurve for ellipse and circle cases.
akaftasev [Fri, 9 Dec 2022 16:32:00 +0000 (19:32 +0300)]
0033265: Modeling Algorithms - Boolean operation hangs on the attached shapes
Added test case.
ifv [Tue, 6 Dec 2022 07:12:22 +0000 (10:12 +0300)]
0033244: Modeling Algorithms - Surface-surface intersection produces the double curves
IntAna_QuadQuadGeo.cxx - estimation of angular tolerance is added for case cone-cone
tests/lowalgos/intss/bug33244 - new test case added
ifv [Fri, 2 Dec 2022 08:47:37 +0000 (11:47 +0300)]
0030781: Sweep algorithm creates non-planar edges (orig. BOPAlgo_MakerVolume fails to build a solid)
BRepFill/BRepFill_AdvancedEvolved.cxx - estimation of angular tolerance is added in method GetLids()
tests/evolved/voluved/bug30781 - new test added
dpasukhi [Fri, 2 Dec 2022 09:14:38 +0000 (09:14 +0000)]
0033246: Data Exchange, DE Wrapper - Checking license leads to performance problem
ReWork UpdateLoad functionality:
UpdateLoad calls only if provider is found.
UpdateLoad calls only for chosen type of translation (read/write)
Add new method to UpdateLoad all registered nodes.
nunomsil [Wed, 7 Dec 2022 14:45:36 +0000 (14:45 +0000)]
0031919: Modeling Algorithms - General Fuse raises exception on attempt to imprint a contour to a shell
Exception no longer occurs in current version. However, fuzzyvalue should be set to 1 for the result of the operation to make sense (result of common is 1 wire). Test case added
dpasukhi [Tue, 29 Nov 2022 21:27:40 +0000 (21:27 +0000)]
0033235: Configuration - Solving the problem with static building of ExpToCasExe
Added new dependency to ExpToCasExe - CSF_wsock32 (on Win only)
dpasukhi [Fri, 2 Dec 2022 16:08:06 +0000 (16:08 +0000)]
0033250: Configuration - Missing Limits header file
Added new include limits to fix build problem
stv [Thu, 24 Nov 2022 09:48:22 +0000 (12:48 +0300)]
0033218: Data Exchange - XCAFPrs_Texture not allow to use classes inherited from Image_Texture
Type of field XCAFPrs_Texture::myImageSource was changed from Image_Texture to Handle(Image_Texture)
dpasukhi [Tue, 29 Nov 2022 15:43:56 +0000 (15:43 +0000)]
0033232: Data Exchange, DE_Wrapper - Implement ability to change global session
Add ability to set/get global session
dpasukhi [Tue, 29 Nov 2022 14:38:48 +0000 (14:38 +0000)]
0033230: Data Exchange, DE Wrapper - Update API to find CAD provider
Moved FindProvider method to public section
Made FindProvider as virtual to make it possible to overwrite.
dpasukhi [Tue, 29 Nov 2022 09:36:58 +0000 (09:36 +0000)]
0033228: Data Exchange, DE Wrapper - Make the document argument of the method Read const handle
Rewrite document argument for DE_Wrapper Read method
sshutina [Mon, 16 May 2022 09:11:15 +0000 (12:11 +0300)]
0032965: PMIVis - PMIVis_TOT_Vectorized text regressions
Added the ability to draw a shaded shape in the required group.
oan [Mon, 21 Nov 2022 17:04:09 +0000 (20:04 +0300)]
0031865: Mesh - triangulation fails with large deflection values due to unhandled Standard_OutOfRange, BRepMesh_PairOfIndex::Append()
Define minimum number of points for specific types of curves like it was done for circular edges.
knosulko [Fri, 28 Oct 2022 13:38:45 +0000 (16:38 +0300)]
0033156: Modeling Algorithms - Planar face creation problem
BRepLib_MakeFace::BRepLib_MakeFace: deleted degenerative edges from the input wire;
add test tests\mkface\mkplane\bug33156.
ddzama [Fri, 21 Oct 2022 13:28:30 +0000 (16:28 +0300)]
0022821: Crash with BRepFilletAPI_MakeFillet
test bugs modalg_7 bug22821 failed on fillet shape with 5-th edge.
Experimentally has been found that reducing of parameter
ChFi3d_Builder::tolesp for this task solves the issue.
So, as soluton it is proposed to link parameter toleps with parameter range of
spine curve. So, production coefficient has been set to pass all tests and
2 teset was extended: tests/blend/complex/A6, tests/bugs/modalg_7/bug22821
first has been extended to test different scaling factors,
second has been extended to make fillet on all edges from 12.
Additionally:
- fixed misusage of tolesp in contexts where tolerance of point in 3d is excepted;
In some context usage of tol_esp is irrelevant, because its essentiality - tolerance of the parameter on the 3d curve.
So, in such context it has been replaced with new parameter tol3d (with fix value 1.0e-4).
Get rid of tolapp3d duplication constant - tol_3d
- tolesp = 5.0e-5 * (umax - umin)
- tolesp replaced by tolpoint2d/tolpoint3d in several classes.
Blend_Walking
BRepBlend_SurfRstLineBuilder
BRepBlend_RstRstLineBuilder
Blend_CSWalking
Instead `tolesp` - `tolgui` is employed in contexts where tolerance of guide curve parameter is excepted.
Instead `tolesp` - `tolpoint2d` or `tolpoint3d` is employed in contexts where tolerance of point in 2d or 3d space is excepted.
- Replace tolesp with tolpoint2d/tolpoint3d in BBPP function argument.
- Use tolapp3d instead tolesp in BonVoisin function,
ddzama [Thu, 24 Nov 2022 13:24:14 +0000 (16:24 +0300)]
0032934: Modelling Algorithms - BRepExtrema_DistShapeShape returns two solutions instead of one
distmini of two edges returns two solution points instead one.
Second unneeded solution point is the same as first.
The problem was in fact that second edge has continuity C0.
In this case additional extremas analysis performed in special procedure
PERFORM_C0
And second point found in this procedure.
Folowing code of
BRepExtrema_DistanceSS::Perform (variant for Edge/Edge)
we should this additional solution extremas set
to be object of test TRI_SOLUTION before pushing
into main list of solution.
This solves the problem.
Corresponding test and compound with edges has been created.
Additionally, in the function
PERFORM_C0
an obvious error has fixed.
akaftasev [Thu, 17 Nov 2022 07:25:36 +0000 (10:25 +0300)]
0033180: We had a problem calling the OCC library at the customer site, and the program crashed
Added status for thrusection operations and changed throw constructions to set of the status and break the function.
smoskvin [Sat, 26 Nov 2022 12:37:37 +0000 (15:37 +0300)]
0033225: Changing the status of tests on Ubuntu 20.04 and Windows 64 VC142
atereshi [Tue, 22 Nov 2022 13:46:06 +0000 (16:46 +0300)]
0033217: DRAW - Missed Standard_EXPORT attribute in DrawTrSurf_Set* functions
gelin [Wed, 9 Feb 2022 05:26:39 +0000 (13:26 +0800)]
0032818: Modeling Algorithms - Result of sweep operation is invalid
BRepFill_TrimShellCorner.cxx - setting correct orientation for NewEdge
tests/pipe/bugs/bug32818 - new test case added
ika [Thu, 6 Oct 2022 09:39:03 +0000 (12:39 +0300)]
0030256: ACIS Import - crash while importing SAT file on constructing a pipe
Fix for thin section with both first and last parameters located in one segment.
ifv [Sat, 12 Nov 2022 17:45:36 +0000 (20:45 +0300)]
0033193: Modeling Algorithms - Regression: UnifySameDomain raises SIGSEGV
ShapeUpgrade_UnifySameDomain.cxx - method ReconstructMissedSeam is improved.
tests/bugs/heal/bug33193 - new test case added
atereshi [Fri, 15 Jul 2022 11:09:09 +0000 (14:09 +0300)]
0027122: Data Exchange - invalid shapes are produced during model translation due to huge face tolerance
Problem: The shape has two faces that dimensions are less than tolerance in the specified STEP file. This situation produces the invalid shape.
Change: Shape process has operator FixFaceSize, that is exactly suitable for this shape. The only option of FixFaceSize operator was added to InterfaceStatic, to manage the operator from DRAW command.
Result: The shape without artifacts can be reproduced from STEP file with an extra healing procedure.
ifv [Mon, 24 Oct 2022 09:25:03 +0000 (12:25 +0300)]
0033179: Modeling Algorithms - Crash in ShapeFix_Shape with the attached object, when healing for fixing SameParameterFlag
BSplCLib_2.cxx - method MergeBSplineKnots is modified in order to have always not empty result.
Geom2dConvert.cxx - in static function MultNumandDenom tolerance for comparing knots is decreased.
tests/bugs/modalg_8/bug33179 test case added
ifv [Fri, 30 Sep 2022 12:45:10 +0000 (15:45 +0300)]
0026441: Modeling Algorithms - BRepOffset_MakeOffset affects original shape
BRepOffset_MakeOffset.cxx - tolerance control for building planar faces is implemented,
updating tolerance for initial entities is avoided
BRepAlgo_Loop.cxx - "total" setting tolerance 0.001 is removing
BRepLib.cxx - checking of "locked" for vertex is removing in static function UpdShTol
QABugs_20.cxx - add new command OCC26441 for checking tolerance differenses between two "identical" shapes
tests/bugs/modalg_7/bug30054 - case now is "BAD", because really result shape is invalid: many faces has not closed wires with huge gaps between ends of edges. Result was "OK" only because tolerances of vertices were increased by algorithm to cover all gaps.
tests/bugs/modalg_8/bug26441 - new test case added
Other test: B3, C8, A7, C8: they were "BAD" and now are "BAD", only some problems are changed.
ifv [Mon, 17 Oct 2022 14:22:44 +0000 (17:22 +0300)]
0033173: Modeling Algorithms - Regression in BRepExtrema_DistShapeShape causing Standard_OutOfRange exception
Extrema/Extrema_ExtCC.cxx - checking number of solutions is added
tests/bugs/modalg_8/bug33173 - test case added
atereshi [Wed, 26 Oct 2022 13:59:54 +0000 (16:59 +0300)]
0033187: Modeling Algorithms - Crash in postprocessing of imported shape
Problem: Desynchronization of behaviors of GeomAdaptor_Curve::NbIntervals and
GeomAdaptor_Curve::Intervals functions. First calculates number of intervals, then
array is created and second fills the array. In some cases the size of array
is less than need for filling.
Change:
1. Added function BSplCLib::Intervals that calculates number of interval and fills
the array with its (if needed).
2. Simplified the algorithm of intervals calculation.
3. GeomAdaptor_Curve::NbIntervals/Intervals and Geom2dAdaptor_Curve::NbIntervals/Intervals
use BSplCLib::Intervals.
4. When creating an adapter for the base curve, the boundaries of the adapter for the offset curve are applied.
5. Test for problem shape was created: bugs modalg_8 bug33187.
Result: The new approach eliminates the problem of writing outside the array bounds.
knosulko [Thu, 20 Oct 2022 10:15:07 +0000 (13:15 +0300)]
0033144: Modeling Algorithms - Wrong result of Shape Proximity
Added step of refinement the coarser of the two shapes meshes to produce two meshes with approximately the same density.
Added tests lowalgos/proximity.
Fixed accounting of parameters to adjust number of initial sample points
ifv [Fri, 14 Oct 2022 09:59:06 +0000 (12:59 +0300)]
0033170: Modeling Algorithms - Checking for canonical geometry: plane detection problems
GeomLib_IsPlanarSurface.cxx - using poles for checking BSpline, Bezier curves and surface changed
on checking by curve, surface points.
BRepOffset_MakeOffset.cxx - set normal of plane surface according to normal of initial face surface
tests/cr/bugs/bug33170 - new test case added
ona [Tue, 11 Oct 2022 12:43:39 +0000 (15:43 +0300)]
0032977: OCC V7.5, V7.6 cannot read STEP color correctly for the root label, but v6.8 can
- color overriding mechanism is implemented for assembles, parts and instances
Eugeny Maltchikov [Thu, 13 Oct 2022 14:44:47 +0000 (17:44 +0300)]
0033171: Modeling Algorithms - Invalid result of faces unification
Avoid unification of the faces belonging to the different shells.
smoskvin [Wed, 2 Nov 2022 10:27:07 +0000 (13:27 +0300)]
Increment OCCT version up to 7.8.0dev
dpasukhi [Fri, 11 Nov 2022 17:04:00 +0000 (17:04 +0000)]
0033198: Using a third-party Draco to compile in DEBUG mode
Added new CMake variables to build using DRACO
Windows OS works with Debug and Release configuration DRACO
Linux works with Release configuration DRACO
smoskvin [Wed, 9 Nov 2022 15:27:55 +0000 (18:27 +0300)]
fixed compilation by the genproj tool
atychini [Wed, 2 Nov 2022 19:10:10 +0000 (22:10 +0300)]
0033190: Error on de_wrapper/configuration/A3
Removing provider.VRML.OCC.read.memory.limit from the test because this parameter doesn't exist inside the Vrml_ConfigurationNode class
aba [Mon, 8 Feb 2016 11:47:57 +0000 (14:47 +0300)]
0027142: Data Exchange - add possibility to set location in XCAFDoc_ShapeTool interface
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]
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.
oan [Thu, 20 Oct 2022 18:09:09 +0000 (21:09 +0300)]
0032053: Mesh - Invalid mesh after shape scaling
Added test case
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.
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.
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.
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.
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
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).
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
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
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
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.
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.
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
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.
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.
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
kgv [Wed, 28 Sep 2022 16:56:48 +0000 (19:56 +0300)]
0033149: Mesh - misprint in BRepMesh_NURBSRangeSplitter::computeGrainAndFilterParameters()
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.
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.
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)
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