]> OCCT Git - occt.git/log
occt.git
3 years ago0032922: Data Exchange, STEP - The torus is stored incorrectly in STEP format
atereshi [Fri, 8 Apr 2022 11:16:01 +0000 (14:16 +0300)]
0032922: Data Exchange, STEP - The torus is stored incorrectly in STEP format

Problem: the complete surface of the torus is not stored correctly in STEP format due to the fact that the edges are not properly ordered.
Change: added a mode for reordering edges in the wire with simultaneous use of 2d and 3d information (ShapeAnalysis_WireOrder). The new mode is used for torus-like surfaces before saving to STEP format.
 Result: Torus correctly stored.

3 years ago0032978: Visualization - AIS_ViewController::PickPoint() includes objects invisible...
kgv [Sat, 21 May 2022 14:18:43 +0000 (17:18 +0300)]
0032978: Visualization - AIS_ViewController::PickPoint() includes objects invisible in current View

SelectMgr_ViewerSelector::TraverseSensitives() now takes into account object's view affinity.
AIS_InteractiveContext::moveTo() - dropped code SelectMgr_AndOrFilter::SetDisabledObjects()
as filtering is now done by selector itself.

ViewAffinity property has been moved to PrsMgr_PresentableObject for simplicity.
Removed redundant map Graphic3d_CView::HiddenObjects().

3 years ago0032973: Modeling Algorithms - Regression in BRepExtrema_DistShapeShape compared... IR-2022-05-20
ifv [Mon, 16 May 2022 08:37:40 +0000 (11:37 +0300)]
0032973: Modeling Algorithms - Regression in BRepExtrema_DistShapeShape compared with 7.5

BRepExtrema/BRepExtrema_ExtCF.cxx - set correct using BRepAdaptor_Curve in Extrema
tests/bugs/modalg_8/bug32973 - new test case added

3 years ago0026697: BRepFeat_MakePrism returns empty compound
mgerus [Wed, 18 May 2022 06:45:05 +0000 (09:45 +0300)]
0026697: BRepFeat_MakePrism returns empty compound

Add fix in direction of prism calculation

3 years ago0032976: Visualization - AIS_InteractiveContext::FitSelected() includes objects invis...
kgv [Mon, 16 May 2022 20:02:31 +0000 (23:02 +0300)]
0032976: Visualization - AIS_InteractiveContext::FitSelected() includes objects invisible in current View

3 years ago0032975: Visualization, TKOpenGl - do not blit inactive Subview
kgv [Mon, 16 May 2022 19:28:09 +0000 (22:28 +0300)]
0032975: Visualization, TKOpenGl - do not blit inactive Subview

3 years ago0032969: Coding - get rid of unused headers [IMeshData to PLib]
aml [Fri, 14 Jan 2022 15:56:30 +0000 (18:56 +0300)]
0032969: Coding - get rid of unused headers [IMeshData to PLib]

Removed unused exception classes OSD_Exception_FLT_DIVIDE_BY_ZERO, OSD_Exception_INT_DIVIDE_BY_ZERO, OSD_Exception_FLT_DENORMAL_OPERAND, OSD_Exception_FLT_INEXACT_RESULT, OSD_Exception_FLT_INVALID_OPERATION, OSD_Exception_FLT_OVERFLOW, OSD_Exception_FLT_STACK_CHECK, OSD_Exception_FLT_UNDERFLOW.

3 years ago0032807: Modeling Algorithms - Bad result of sweep operation when the UEdges has...
mgerus [Wed, 11 May 2022 13:08:55 +0000 (16:08 +0300)]
0032807: Modeling Algorithms - Bad result of sweep operation when the UEdges has more than one intersect points

Add choosing the intersect point taking into account the tangentCross when prev UEdge and next UEdge has more than one intersect points;
Add exact correction of edge tolerance (it fix problems with edge tolerance on Linux);
Add exact check of edge tolerance in testcase

3 years ago0032970: Visualization, TKOpenGl - fix compilation on Linux: 'False' was not declared
kgv [Sat, 14 May 2022 22:11:06 +0000 (01:11 +0300)]
0032970: Visualization, TKOpenGl - fix compilation on Linux: 'False' was not declared

3 years ago0032942: Modeling Algorithms - Boolean operation Common has no result in specific... CR0-WEEK-18 IR-2022-05-06
ifv [Mon, 25 Apr 2022 15:14:18 +0000 (18:14 +0300)]
0032942: Modeling Algorithms - Boolean operation Common has no result in specific example

IntTools/IntTools_BeanFaceIntersector.cxx - calculation of deflection for surface bnd box is added
tests/bugs/modalg_8/bug32942,bug32943,bug32944,bug32945 - new test cases added

3 years ago0027081: BRepOffsetAPI_MakeOffsetShape fails on shapes with internal edges
abulyche [Sun, 17 Apr 2022 14:07:01 +0000 (17:07 +0300)]
0027081:  BRepOffsetAPI_MakeOffsetShape fails on shapes with internal edges
Added the test for this problem.
Added new draw command "mkoffsetshape".

3 years ago0032955: Draw Harness, ViewerTest - extend vcolorconvert command to print color in...
kgv [Sat, 30 Apr 2022 19:23:08 +0000 (22:23 +0300)]
0032955: Draw Harness, ViewerTest - extend vcolorconvert command to print color in hex format

3 years ago0032961: Coding - get rid of unused headers [IGESAppli to IGESToBRep]
aml [Fri, 14 Jan 2022 15:05:42 +0000 (18:05 +0300)]
0032961: Coding - get rid of unused headers [IGESAppli to IGESToBRep]

3 years ago0032908: Coding Rules - fix E0349 MSVC compilation error on VS2019/C++20
ddzama [Wed, 30 Mar 2022 08:40:11 +0000 (11:40 +0300)]
0032908: Coding Rules - fix E0349 MSVC compilation error on VS2019/C++20

Get rid of raw C strings in error code to avoid error 0349.
Use std::string instead.

3 years ago0032919: Coding Rules - suppress useless MSVC warning C26812 on VS2019/C++20 (prefer...
ddzama [Thu, 31 Mar 2022 13:18:19 +0000 (16:18 +0300)]
0032919: Coding Rules - suppress useless MSVC warning C26812 on VS2019/C++20 (prefer 'enum class' over 'enum')

CMake and genproj scripts have been updated to suppress this misleading warning that cannot be fixed without breaking existing API.

3 years ago0032958: Coding - problem compile OCCT on Debian80-64 and MacOS-x86_64 with debugging...
aml [Wed, 4 May 2022 08:11:00 +0000 (11:11 +0300)]
0032958: Coding - problem compile OCCT on Debian80-64 and MacOS-x86_64 with debugging mode

Add missing include.

3 years ago0032953: Coding - add missing references where applicable
aml [Fri, 29 Apr 2022 12:21:24 +0000 (15:21 +0300)]
0032953: Coding - add missing references where applicable

3 years ago0032959: Visualization, OpenVR - add Oculus Touch controller bindings
kgv [Wed, 4 May 2022 09:54:52 +0000 (12:54 +0300)]
0032959: Visualization, OpenVR - add Oculus Touch controller bindings

3 years ago0032920: Coding - fix checking of std::stringstream buffer size on VS2019/C++20 CR0-WEEK-17 IR-2022-04-29
ddzama [Mon, 4 Apr 2022 04:29:42 +0000 (07:29 +0300)]
0032920: Coding - fix checking of std::stringstream buffer size on VS2019/C++20

Use tellp() instead of in_avail() for testing non-empty std::stringstream state.

3 years ago0032951: Coding - get rid of unused headers [GeomConvert to IGESBasic]
aml [Fri, 14 Jan 2022 13:37:13 +0000 (16:37 +0300)]
0032951: Coding - get rid of unused headers [GeomConvert to IGESBasic]

3 years ago0032917: Coding Rules - eliminate MSVS warning C26440 on VS2019/C++20 (If your functi...
ddzama [Thu, 31 Mar 2022 06:21:08 +0000 (09:21 +0300)]
0032917: Coding Rules - eliminate MSVS warning C26440 on VS2019/C++20 (If your function may not throw, declare it noexcept)

Microsoft Visual Studio Professional 2019
Version 16.11.11
std=c++20

Get rid of warning C26440: "If your function may not throw, declare it noexcept"

"If code is not supposed to cause any exceptions,
it should be marked as such by using the 'noexcept' specifier.
This would help to simplify error handling on the client code side,
as well as enable compiler to do additional optimizations."

3 years ago0032903: Coding Rules - eliminate MSVC warning C26451 on VS2019/C++20
ddzama [Tue, 29 Mar 2022 13:32:46 +0000 (16:32 +0300)]
0032903: Coding Rules - eliminate MSVC warning C26451 on VS2019/C++20

Put explicit type casting to avoid:
Warning C26451 Arithmetic overflow: Using operator '-' on a 4 byte
value and then casting the result to a 8 byte value.
Cast the value to the wider type before calling operator '-' to avoid overflow (io.2).

3 years ago0032907: Coding Rules - eliminate MSVC warning C5054 on VS2019/C++20 (operator &...
ddzama [Wed, 30 Mar 2022 07:06:01 +0000 (10:06 +0300)]
0032907: Coding Rules - eliminate MSVC warning C5054 on VS2019/C++20 (operator &,|: deprecated between enumerations of different types)

operator `&`,`|`: deprecated between enumerations of different types

3 years ago0032914: Data Exchange - Some parts of compound are lost while writing STEP in nonman...
snn [Wed, 20 Apr 2022 11:56:21 +0000 (14:56 +0300)]
0032914: Data Exchange - Some parts of compound are lost while writing STEP in nonmanifold mode

Code related to supporting of single SDR for a non-manifold group, which prevents writing all translation results except the first one, is removed.
SDRs with null used representation object are excluded from writing.

3 years ago0028866: Modeling Data - Problem with GeomAPI_ProjectPointOnSurf IR-2022-04-22
ifv [Sun, 17 Apr 2022 12:38:34 +0000 (15:38 +0300)]
0028866: Modeling Data - Problem with GeomAPI_ProjectPointOnSurf

Extrema/Extrema_GenExtPS.cxx - adaptive setting of sample points is implemented
bugs/moddata_3/bug28866 - test case added

3 years ago0032864: Modeling Algorithms - Normal projection of a wire on a cylinder produces...
jgv [Thu, 21 Apr 2022 07:02:51 +0000 (10:02 +0300)]
0032864: Modeling Algorithms - Normal projection of a wire on a cylinder produces wrong result

Minor correction in method BRepAlgo_NormalProjection::Build: correct mixed up first and last parameters of the projected curve.

3 years ago0032906: Coding Rules - get rid of std::iterator inheritance (deprecated since C...
ddzama [Wed, 30 Mar 2022 06:24:49 +0000 (09:24 +0300)]
0032906: Coding Rules - get rid of std::iterator inheritance (deprecated since C++17)

3 years ago0032721: Modeling Algorithms - BOP wrong results on a cone and an extrusion
jgv [Wed, 30 Mar 2022 01:28:02 +0000 (04:28 +0300)]
0032721: Modeling Algorithms - BOP wrong results on a cone and an extrusion

1. Modify method IntPatch_ALineToWLine::MakeWLine: add correction of end points of each line on 2 surfaces if an end point is a pole on a surface.
2. Modify method IntPatch_WLine::ComputeVertexParameters: adjust a point on curve to corresponding vertex the following way: set 3D point as the point of the vertex and 2D points as the points of the point on curve.

3 years ago0032882: Modeling Data - Extrema curve/curve cannot find all solutions
ifv [Mon, 21 Mar 2022 13:55:55 +0000 (16:55 +0300)]
0032882: Modeling Data - Extrema curve/curve cannot find all solutions

Extrema/Extrema_GenExtCC.gxx - estimation of Lipchitz constant is improved
Extrema_GlobOptFuncCC.cxx - function value is changed

LocOpe/LocOpe_WiresOnShape.cxx - small correction to fix regression

lowalgos/extcc/bug32882 - new test case is added

some test were updated according new behavior of extrema algo

3 years ago0032935: Visualization, TKOpenGles - use size window within OpenGl_Window::init()
kgv [Mon, 18 Apr 2022 01:27:35 +0000 (04:27 +0300)]
0032935: Visualization, TKOpenGles - use size window within OpenGl_Window::init()

3 years ago0031437: Modeling Data - Offset surface throws exception when trying to evaluate...
azv [Sat, 16 Apr 2022 19:29:47 +0000 (22:29 +0300)]
0031437: Modeling Data - Offset surface throws exception when trying to evaluate at singularity point

Add test case to prove the exception is avoided.

3 years ago0032886: Visualization, V3d_View - introduce interface for creating a subview CR0-WEEK-15 IR-2022-04-15
kgv [Mon, 11 Apr 2022 17:00:39 +0000 (20:00 +0300)]
0032886: Visualization, V3d_View - introduce interface for creating a subview

V3d_View/Graphic3d_CView pair has been extended to define subview within the other V3d_View instance.
The initialization is done in form of V3d_View::SetWindow() taking parent V3d_View instance on input.

Subview definition includes dimensions defined as a fraction of a parent view and offset from a corner.
This scheme allows splitting window into several subviews automatically occupying entire viewport,
like splitting window into two vertial subviews (100%x50% + 100%x50%),
three horizontal subviews (33%x100% + 30%x100% + 30%x100%),
1 + 2 stacked subviews (50%x100% + 50%x50% + 50%x50%),
as well as thumbnail-alike subviews displayed on top of another larger view.

OpenGl_View::Redraw() blits content of subviews into the window within immediate redraw step.

AIS_ViewController::FlushViewEvents() has been extended
to re-calculate mouse input into local subview coordinates.
AIS_ViewController::handleViewRedraw() first redraws subviews and then parent views.
Introduced new callback AIS_ViewController::OnSubviewChanged()
to switch input focus to another subview on mouse click,
implemented by ViewerTest_EventManager (has to be done at application level).

vinit command has been extended with parameters -subview and -parent to create a subview.
In addition, view dimension arguments now can be defined as a fraction of screen size instead of pixels.

3 years ago0029435: Data Exchange - Exporting wires consisting of more than one edge results...
atychini [Fri, 4 Feb 2022 16:14:16 +0000 (19:14 +0300)]
0029435: Data Exchange - Exporting wires consisting of more than one edge results in loss of color data in IGES

Colors wasn't read correctly because of incorrect curve transfers in IGESToBRep_TopoCurve.cxx
I added new calls to SetShapeResult() at the necessary places.
Also in the IGESCAFControl_Writer.cxx I added new condition because of the possible NULL exception.

3 years ago0032924: Configuration, CMake - export INTERFACE_INCLUDE_DIRECTORIES within targets
kgv [Fri, 8 Apr 2022 18:11:59 +0000 (21:11 +0300)]
0032924: Configuration, CMake - export INTERFACE_INCLUDE_DIRECTORIES within targets

Add 'INCLUDES' property within INSTALL targets.

3 years ago0032842: Modeling Data - a regression in conversion of a face to bspline
ifv [Sun, 10 Apr 2022 13:56:46 +0000 (16:56 +0300)]
0032842: Modeling Data - a regression in conversion of a face to bspline

GeomConvert/GeomConvert_1.cxx - forbid using CheckAndSegment if trim is out of base period when converting
                                trimmed torus

tests/bugs/moddata_3/bug32842 - test case added

3 years ago0032926: Coding, StdPrs_ToolTriangulatedShape::Normal() - range of "for" not correspo...
kgv [Sat, 9 Apr 2022 12:04:23 +0000 (15:04 +0300)]
0032926: Coding, StdPrs_ToolTriangulatedShape::Normal() - range of "for" not correspond to the NCollection index which run in "for"

Obsolete method has been removed.

3 years ago0032909: Coding Rules - replace (removed from C++17) `std::random_shuffle` with ... CR0-WEEK-14 IR-2022-04-08
ddzama [Wed, 30 Mar 2022 09:30:01 +0000 (12:30 +0300)]
0032909: Coding Rules - replace (removed from C++17) `std::random_shuffle` with `std::shuffle` for random permutation algorithm

Since C++17 the accessible version of permutation function left the function:

template< class RandomIt, class URBG >
void shuffle( RandomIt first, RandomIt last, URBG&& g );

See details and example of use: https://en.cppreference.com/w/cpp/algorithm/random_shuffle

3 years ago0032918: Coding Rules - suppress MSVS warnings from 3rdparty `rapidjson` on VS2019...
ddzama [Thu, 31 Mar 2022 07:46:02 +0000 (10:46 +0300)]
0032918: Coding Rules - suppress MSVS warnings from 3rdparty `rapidjson` on VS2019/C++20

Microsoft Visual Studio Professional 2019
Version 16.11.11
std=c++20

Disable warning messages, occures in rapidjson library.

3 years ago0032916: Coding Rules - eliminate MSVS warning C26451 on VS2019/C++20 (Arithmetic...
ddzama [Thu, 31 Mar 2022 06:19:35 +0000 (09:19 +0300)]
0032916: Coding Rules - eliminate MSVS warning C26451 on VS2019/C++20 (Arithmetic overflow: Using operator '+' on a 4 byte value...)

Microsoft Visual Studio Professional 2019
Version 16.11.11
std=c++20

Get rid of `Warning C26451 Arithmetic overflow: Using operator '+' on a 4 byte value
and then casting the result to a 8 byte value.
Cast the value to the wider type before calling operator '+' to avoid overflow (io.2)`

3 years ago0032910: Coding Rules - fix uninitialized class fields in constructor initialization...
ddzama [Thu, 31 Mar 2022 04:26:39 +0000 (07:26 +0300)]
0032910: Coding Rules - fix uninitialized class fields in constructor initialization block reported by VS2019/C++20

Microsoft Visual Studio Professional 2019
Version 16.11.11
std=c++20

Get rid of warnings about uninitialized class fields in constructor initialization block.

3 years ago0032874: IsParallel() method of Extrema_ExtCC does not give same results in OCC 7...
azv [Thu, 7 Apr 2022 11:28:03 +0000 (14:28 +0300)]
0032874: IsParallel() method of Extrema_ExtCC does not give same results in OCC 7.6.0 vs OCC 7.5.0

Use precision depending on radii of participating circles.

3 years ago0032870: Tests - bugs/caf/bug31918_1 is unstable
mpv [Wed, 6 Apr 2022 08:08:20 +0000 (11:08 +0300)]
0032870: Tests - bugs/caf/bug31918_1 is unstable

# Make the compared values more stable.

3 years ago0032809: Sweep algorithm with Round Corner mode failed
azv [Wed, 6 Apr 2022 19:49:01 +0000 (22:49 +0300)]
0032809: Sweep algorithm with Round Corner mode failed

Fix indentation within GeomFill_Sweep.cxx

0032809: Sweep algorithm with Round Corner mode failed

Add fix what repair shipping at corner after circle edge at path
Add fix test for bug 24909_3

3 years ago0032912: Visualization - crash when displaying an OBJ file with missing texture file
kgv [Tue, 5 Apr 2022 22:26:00 +0000 (01:26 +0300)]
0032912: Visualization - crash when displaying an OBJ file with missing texture file

Fix NULL dereference within Graphic3d_TextureRoot::convertToCompatible() due to wrong order of checks.

3 years ago0030160: DBRep_IsoBuilder builds wrong isolines for planar faces
azv [Tue, 5 Apr 2022 05:55:29 +0000 (08:55 +0300)]
0030160: DBRep_IsoBuilder builds wrong isolines for planar faces

Add test case

3 years ago0024657: 2dintersect returns different number of intersect points in curve intersecti...
AndreyLA [Thu, 24 Mar 2022 14:36:11 +0000 (17:36 +0300)]
0024657: 2dintersect returns different number of intersect points in curve intersecting the polygon points is never replaced by line

Test for 2d intersection is added

3 years ago0031361: Modeling algorithms - An exception arise when building tube
mgerus [Mon, 4 Apr 2022 07:00:24 +0000 (10:00 +0300)]
0031361: Modeling algorithms - An exception arise when building tube

* Add status flag to GeomFill_Pipe
* Add myIsPerform flag to GeomFill_Pipe
* Add checking vectors in GeomFill_CorrectedFrenet
* Add boolean return to SetCurve virtual methods
* Add test case

3 years ago0032861: Visualization - Separate rotate and move the object behavior in AIS_ViewCont...
sshutina [Mon, 4 Apr 2022 19:53:18 +0000 (22:53 +0300)]
0032861: Visualization - Separate rotate and move the object behavior in AIS_ViewController

Added the flag in Dragging structure that defines perform dragging (ToMove).

3 years ago0031661: Modeling Data - Exception when projecting parabola or hyperbola to plane
ifv [Thu, 3 Mar 2022 12:05:23 +0000 (15:05 +0300)]
0031661: Modeling Data - Exception when projecting parabola or hyperbola to plane

ProjLib/ProjLib_ProjectOnPlane.cxx - formatting

0031661: Modeling Data - Algorithm crashes when projecting parabola or hyperbola to plane

ProjLib/ProjLib_ProjectOnPlane.cxx - building of analytical parabola and hyperbola is added
bugs/moddata_3/bug31661_* - new test cases are added

3 years ago0031009: Modeling Algorithms - leak reported by Clang address sanitizer in IntCurvesF...
AndreyLA [Tue, 8 Feb 2022 15:53:18 +0000 (18:53 +0300)]
0031009: Modeling Algorithms - leak reported by Clang address sanitizer in IntCurvesFace_ShapeIntersector

Refactor IntCurvesFace_ShapeIntersector. Use handles and std::unique_ptr instead of raw pointers.

3 years ago0032897: Tests - include elapsed time into test log IR-2022-04-01
kgv [Wed, 30 Mar 2022 18:38:14 +0000 (21:38 +0300)]
0032897: Tests - include elapsed time into test log

Added "ELAPSED TIME" to test case log.
Improved syntax of chrono/dchrono command:
added -elapsed, -userCPU, -sysCPU options printing individual values in seconds.

OSD_Chronometer::IsThisThreadOnly() - added missing accessors to the property.

3 years ago0029745: Modeling Data - GeomAdaptor_Surface::VIntervals fails on periodic surfaces
abulyche [Tue, 14 Dec 2021 22:58:57 +0000 (01:58 +0300)]
0029745: Modeling Data - GeomAdaptor_Surface::VIntervals fails on periodic surfaces
Fixed GeomAdaptor_Curve::LocalContinuity() for periodic curves.
Fixed GeomAdaptor_Curve::NbIntervals() for periodic curves.
Fixed GeomAdaptor_Curve::Intervals() for periodic curves.
Improved definition of length in tests.
Update Geom2dAdaptor_Curve to the same behavior.

3 years ago0032863: Cone surface returns wrong v derivative IR-2022-03-25
azv [Thu, 24 Mar 2022 19:21:06 +0000 (22:21 +0300)]
0032863: Cone surface returns wrong v derivative

* Fix error on computing V first derivative on a cone (take into account the slope of the conical generatrix).
* Add DRAW command 'sderivative' to compute certain derivative on a surface.

3 years ago0024772: Modeling Algorithms - Intersection of cylinder and cone produces incorrect...
knosulko [Wed, 16 Mar 2022 10:13:15 +0000 (13:13 +0300)]
0024772: Modeling Algorithms - Intersection of cylinder and cone produces incorrect results

GeomInt/GeomInt_IntSS.cxx - handle flat cone case
IntPatch/IntPatch_Intersection.hxx, IntPatch/IntPatch_Intersection.cxx - method for preparing surfaces is added
bugs/lowalgos/intss/bug24772 - test case is changed according new behavior

3 years ago0032874: IsParallel() method of Extrema_ExtCC does not give same results in OCC 7...
azv [Fri, 18 Mar 2022 20:46:44 +0000 (23:46 +0300)]
0032874: IsParallel() method of Extrema_ExtCC does not give same results in OCC 7.6.0 vs OCC 7.5.0

Improve tolerance criteria to check values of extremas for equality: use multiplier, which depends on the value, instead of magic number

3 years ago0023820: Wrong result of projection algorithm when a polygon geometry is projected...
AndreiLA [Thu, 17 Mar 2022 12:10:01 +0000 (15:10 +0300)]
0023820: Wrong result of projection algorithm when a polygon geometry is projected on a set of multiple faces

The tests are added to verify the correctness of the projection algorithm's work in two cases.

3 years ago0032442: Application Framework - Problems of testing on MacOS arm64 platform IR-2022-03-18
mpv [Thu, 10 Mar 2022 08:57:41 +0000 (11:57 +0300)]
0032442: Application Framework - Problems of testing on MacOS arm64 platform

Fixed the problem of reading XML files on MacOS. 'errno' was not reseted
even the 'strtol' function produced a good value. So, now it is erased
forcibly before the call.

3 years ago0032817: Data Exchange - Step export - writing untrimmed Curve
atychini [Mon, 7 Feb 2022 12:57:38 +0000 (15:57 +0300)]
0032817: Data Exchange - Step export - writing untrimmed Curve

Incorrect curve handling.
If curve doesn't have trims and vertexes, we handle it such as trimmed curve, but it should be a simple curve.
Curves with only one vertex and one trim should handle by another way, such as a curve that has trims but doesn't have vertexes.
So I added conditions which handles these cases

3 years ago0032066: Modeling Algorithms - Incorrect result of Boolean CUT operation
azv [Fri, 19 Feb 2021 19:34:56 +0000 (22:34 +0300)]
0032066: Modeling Algorithms - Incorrect result of Boolean CUT operation

Do not limit the normalization factor of the highly anisotropic parametric space when filtering start points in the algorithm of walking line construction.
Additionally check the knots are in the increasing orders when merging two B-spline curves

3 years ago0032870: Tests - bugs/caf/bug31918_1 is unstable
mpv [Mon, 14 Mar 2022 15:03:59 +0000 (18:03 +0300)]
0032870: Tests - bugs/caf/bug31918_1 is unstable

Improved the test stability: created 10 iterations of measurements and take the minimum to
minimize the affect of other processes and threads; increased the compare range of
the quarter and the whole of the document load.

3 years ago0032719: Modelling Algorithms - UnifySameDomain result has incorrect triangulation
jgv [Sat, 12 Mar 2022 19:35:55 +0000 (22:35 +0300)]
0032719: Modelling Algorithms - UnifySameDomain result has incorrect triangulation

Correct method ShapeUpgrade_UnifySameDomain::UnionPCurves: reparametrize unified pcurves to fit the new range of 3D-curve.

3 years ago0032866: Visualization, TKOpenGles - FitAll() is broken when performance counters... IR-2022-03-11
kgv [Sun, 6 Mar 2022 23:13:22 +0000 (02:13 +0300)]
0032866: Visualization, TKOpenGles - FitAll() is broken when performance counters are displayed

OpenGl_View::MinMaxValues() - added missing theToIncludeAuxiliary check.

3 years ago0032796: Modeling Data - Calculation of distance between two circles crashes IR-2022-03-05
vro [Tue, 22 Feb 2022 14:00:09 +0000 (17:00 +0300)]
0032796: Modeling Data - Calculation of distance between two circles crashes

Modified:
- Extrema_ExtCC.cxx, the method PrepareParallelResult() - angular tolerance is increased.

Added:
- A test: lowalgos extcc bug32796

3 years ago0032862: Visualization, Graphic3d_TextureMap - add 3D texture definition
kgv [Wed, 2 Mar 2022 12:21:22 +0000 (15:21 +0300)]
0032862: Visualization, Graphic3d_TextureMap - add 3D texture definition

Image_PixMap has been extended to support definition of 3D bitmap (as an array of 2D slices).

Graphic3d_TypeOfTexture enumeration values have been renamed to include full enum prefix.
Added Graphic3d_TypeOfTexture_3D redirecting to GL_TEXTURE_3D.
OpenGl_Texture::Init() has been extended to allow initialization of 3D texture.

Graphic3d_Texture2Dmanual merged into Graphic3d_Texture2D and marked as deprecated alias.
Graphic3d_TOT_2D_MIPMAP has been deprecated in favor of dedicated Graphic3d_TextureRoot::SetMipMaps().

Added Graphic3d_Texture3D class.
vtexture - added argument -3d for uploading 3D texture.

3 years ago0032837: Documentation, Geom_Surface - add references to GeomLib::NormEstim() for...
kgv [Wed, 2 Mar 2022 05:58:10 +0000 (08:58 +0300)]
0032837: Documentation, Geom_Surface - add references to GeomLib::NormEstim() for Normal computations

References to GeomLib::NormEstim() have been put to Geom_Surface, Adaptor3d_Surface and BRepAdaptor_Surface.
Improved documentation of GeomLib::NormEstim().

3 years ago0032841: Visualization - add 16-bit grayscale pixel format to Image_PixMap
kgv [Tue, 1 Mar 2022 19:34:31 +0000 (22:34 +0300)]
0032841: Visualization - add 16-bit grayscale pixel format to Image_PixMap

Added Image_Format_Gray16 pixel format definition, which could be uploaded into GL_R16 texture.
Added Image_Format_GrayF_half mapped to GL_R16F texture.

3 years ago0032860: Coding Rules, Extrema_GenExtPS - add exported destructor
kgv [Wed, 2 Mar 2022 05:18:29 +0000 (08:18 +0300)]
0032860: Coding Rules, Extrema_GenExtPS - add exported destructor

Added eplicit destructors to classes Extrema_GenExtCS, Extrema_GenExtPS and Extrema_GenExtSS.

3 years ago0032856: Configuration, CMake - SONAME should include minor version in addition to...
kgv [Sat, 26 Feb 2022 16:29:44 +0000 (19:29 +0300)]
0032856: Configuration, CMake - SONAME should include minor version in addition to major to reflect ABI compatibility

Added option BUILD_SOVERSION_NUMBERS to manage SOVERSION length.
Default option value is set to 2 (major.minor) instead of previously used 1 (major),
excluding Android/Emscripten/Windows platforms that use 0 by default.

3 years ago0032849: Modeling Algorithms - Intersection algorithm returns incomplete result.
ifv [Tue, 1 Feb 2022 09:17:52 +0000 (12:17 +0300)]
0032849: Modeling Algorithms - Intersection algorithm returns incomplete result.

GeomInt/GeomInt_IntSS.cxx, IntTools/IntTools_FaceFace.cxx - setting deflection 0.01
for case of two bspline surfaces
IntPolyh/IntPolyh_Intersection.cxx, IntPolyh/IntPolyh_Intersection.hxx - status IsParallel is added

BndLib/BndLib_Add3dCurve.cxx, IntTools/IntTools_TopolTool.cxx - fix small bugs

Correction of test scripts according to current behavior of algorithms

lowalgos/intss/bug32849 - test case added

3 years ago0032834: Configuration, CMake - DESTDIR ignored for OpenCASCADECompileDefinitionsAndF...
kgv [Sat, 26 Feb 2022 18:52:21 +0000 (21:52 +0300)]
0032834: Configuration, CMake - DESTDIR ignored for OpenCASCADECompileDefinitionsAndFlags-${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake

Replace redundant configure_file() with normal file copy for installing OpenCASCADECompileDefinitionsAndFlags- files.

3 years ago0032854: Documentation - minor clean-up of User Guide for XDE module IR-2022-02-25
kgv [Wed, 23 Feb 2022 17:50:40 +0000 (20:50 +0300)]
0032854: Documentation - minor clean-up of User Guide for XDE module

Applied minor formatting improvements to `xde.md`.
Fixed small misprints and artifacts in text.
Removed redundant section "Working with XDE".

3 years ago0029219: Application Framework - XML document is written with CRLF on Windows
vro [Mon, 21 Feb 2022 07:41:05 +0000 (10:41 +0300)]
0029219: Application Framework - XML document is written with CRLF on Windows

The last symbol of a line is synchronized with external products.
Also, XML ends by LF now.

Modified:
XML: XmlLDrivers_DocumentStorageDriver::Write() ends by LF
BREP: BRepTools::Write(), Draw_VariableCommands::save() ends by LF
STEP: StepSelect_WorkLibrary::WriteFile() ends by LF
IGES: IGESSelect_WorkLibrary::WriteFile(), IGESControl_Writer::Write(), XSDRAWIGES::WriteShape() ends by LF
VRML: VrmlAPI_Writer::write_v2() ends by LF

0029219: Application Framework - XML document is written with CRLF on Windows

The last symbol of a line is synchronized with external products.
Also, XML ends by LF now.

Modified:
XML: XmlLDrivers_DocumentStorageDriver::Write() ends by LF
BREP: BRepTools::Write(), Draw_VariableCommands::save() ends by LF
STEP: StepSelect_WorkLibrary::WriteFile() ends by LF
IGES: IGESSelect_WorkLibrary::WriteFile(), IGESControl_Writer::Write(), XSDRAWIGES::WriteShape() ends by LF
VRML: VrmlAPI_Writer::write_v2() ends by LF
STL: RWStl::WriteAscii() ends by CR LF (to synchronize with Blender)

0029219: Application Framework - XML document is written with CRLF on Windows

The last symbol of a line is synchronized with external products.
Also, XML ends by LF now.

Modified:
XML: XmlLDrivers_DocumentStorageDriver::Write() ends by LF
BREP: BRepTools::Write(), Draw_VariableCommands::save() ends by LF
STEP: StepSelect_WorkLibrary::WriteFile() ends by LF
IGES: IGESSelect_WorkLibrary::WriteFile(), IGESControl_Writer::Write(), XSDRAWIGES::WriteShape() ends by LF
VRML: VrmlAPI_Writer::write_v2() ends by LF

3 years ago0032785: Application Framework - CDF_Store::SetFolder incorrectly processes relative...
vro [Fri, 18 Feb 2022 15:08:24 +0000 (18:08 +0300)]
0032785: Application Framework - CDF_Store::SetFolder incorrectly processes relative paths on Linux

The code is simplified - it checks the last character and if it is a folder separator, it removes it.

Modified file:
- CDF_Store.cxx, the method SetFolder().

0032785: Application Framework - CDF_Store::SetFolder incorrectly processes relative paths on Linux

The code is simplified - it checks the last character and if it is a folder separator, it removes it.

Modified file:
- CDF_Store.cxx, the method SetFolder().

0032785: Application Framework - CDF_Store::SetFolder incorrectly processes relative paths on Linux

The code is simplified - it checks the last character and if it is a folder separator, it removes it.
// Also, variable 'l' is renamed to 'aLen'.
// And a check on the number of characters is added to avoid removal of the root folder ('/').

Modified file:
- CDF_Store.cxx, the method SetFolder().

3 years ago0024418: Modeling Algorithms - Wrong section curves when intersecting analytical...
knosulko [Mon, 15 Nov 2021 14:02:03 +0000 (17:02 +0300)]
0024418: Modeling Algorithms - Wrong section curves when intersecting analytical surfaces

IntPatch_ALineToWLine.cxx - setting minimal number of points in a WLine depending on step size
IntPatch_WLineTool.cxx - fix WLines connecting check condition
test cases has been changed according to new behavior

3 years ago0032814: Modeling algorithms - Unifysamedom produces invalid result IR-2022-02-18
jgv [Mon, 14 Feb 2022 21:41:00 +0000 (00:41 +0300)]
0032814: Modeling algorithms - Unifysamedom produces invalid result

Minor correction in ShapeUpgrade_UnifySameDomain::IntUnifyFaces: correct collecting splitting vertices in the new wire

3 years ago0032840: Application Framework, copying of a scaled shape fails
vro [Thu, 17 Feb 2022 05:35:26 +0000 (08:35 +0300)]
0032840: Application Framework, copying of a scaled shape fails

A flag not to raise an exception is set for a copying shape. A reason: if a shape is already in the model, the user should have an opportunity to copy it.

Modified files:
TNaming_CopyShape.cxx, the method Translate(). A false-flag is used on copying of location of the shape.

3 years ago0032715: Modelling Algorithms - UnifySameDomain does incomplete union
jgv [Mon, 14 Feb 2022 13:36:39 +0000 (16:36 +0300)]
0032715: Modelling Algorithms - UnifySameDomain does incomplete union

    Add the case of closed, smooth but not periodic surface (unification of faces lying on it if the flag "myConcatBSplines" is true - modify the underlying surface to make it periodic).

3 years ago0032838: Coding - get rid of unused forward declarations (misc)
aml [Wed, 16 Feb 2022 09:59:22 +0000 (12:59 +0300)]
0032838: Coding - get rid of unused forward declarations (misc)

3 years ago0032832: Coding - get rid of unused headers [FairCurve to GeomAPI]
aml [Wed, 12 Jan 2022 16:28:12 +0000 (19:28 +0300)]
0032832: Coding - get rid of unused headers [FairCurve to GeomAPI]

3 years ago0031585: Access Violation while creating fillet - ChiFi3d_Builder::PerformIntersectio...
Chris Hennes [Sun, 13 Feb 2022 00:52:19 +0000 (18:52 -0600)]
0031585: Access Violation while creating fillet - ChiFi3d_Builder::PerformIntersectionAtEnd

There is one case in PerformIntersectionAtEnd that did not test whether
an array access exceeded the length of the array, in rare cases
resulting in a segmentation fault. That error-handling behavior is
replaced by the exception code used elsewhere in the function. For
consistency, the code is copied exactly as implemented elsewhere. This
code has the same effect as that proposed by the bug submitter.

3 years ago0032831: Documentation - drop misleading "FreeType 2.4.10 - 2.5.3" version range
kgv [Fri, 11 Feb 2022 20:45:11 +0000 (23:45 +0300)]
0032831: Documentation - drop misleading "FreeType 2.4.10 - 2.5.3" version range

Removed duplicating information about supported versions of 3rdparty libraries from `building_3rdparty.md`.

3 years ago0032827: Configuration - compilation error on Emscripten SDK IR-2022-02-11
kgv [Wed, 9 Feb 2022 21:48:57 +0000 (00:48 +0300)]
0032827: Configuration - compilation error on Emscripten SDK

3 years ago0032826: Data Exchange - use OSD_FileSystem within RWStl::ReadAscii() and StepFile_Read()
kgv [Wed, 9 Feb 2022 18:16:26 +0000 (21:16 +0300)]
0032826: Data Exchange - use OSD_FileSystem within RWStl::ReadAscii() and StepFile_Read()

3 years ago0029325: Modeling Algorithms - add tool BRepLib_PointCloudShape for generation point...
gka [Wed, 8 Nov 2017 14:13:53 +0000 (17:13 +0300)]
0029325: Modeling Algorithms - add tool BRepLib_PointCloudShape for generation point cloud for specified shape

Added PLY writing tools RWPly_CafWriter and RWPly_PlyWriterContext.

Added tool BRepLib_PointCloudShape generating point cloud from shape in two ways:
- random points on surface with specified density;
- points from triangulation nodes.

StdPrs_ToolTriangulatedShape::ComputeNormals() has been moved to
BRepLib_ToolTriangulatedShape for reusing outside of AIS.

Command vpointcloud has been extended to use new generation tool.
Command writeply has been added to write triangulation or point set into PLY format.

3 years ago0032813: Units: ToSI and FromSI return cached dimension from previous request when... IR-2022-02-04
oan [Thu, 3 Feb 2022 10:20:59 +0000 (13:20 +0300)]
0032813: Units: ToSI and FromSI return cached dimension from previous request when parsing of unit sentence is failed

Cache value only if all necessary preparation steps are done.

3 years ago0032731: Data Exchange, Step Import - Incorrect PMI text location
dpasukhi [Mon, 31 Jan 2022 08:09:20 +0000 (11:09 +0300)]
0032731: Data Exchange, Step Import - Incorrect PMI text location

Added new complex Entity for representation of PMI
Added moving the presentation with new entity

3 years ago0032767: Mesh - incorrect splitting of edges of seams leading to hang [since OCCT...
knosulko [Thu, 13 Jan 2022 00:17:50 +0000 (03:17 +0300)]
0032767: Mesh - incorrect splitting of edges of seams leading to hang [since OCCT 7.4.0]

- fix step by parameter of the edge while split curve in case of seam edges

3 years ago0032810: Coding - missing Standard_EXPORT in Standard_ErrorHandler
aml [Fri, 28 Jan 2022 15:39:49 +0000 (18:39 +0300)]
0032810: Coding - missing Standard_EXPORT in Standard_ErrorHandler

3 years ago0032812: Coding - problem after integration 32806
aml [Mon, 31 Jan 2022 04:01:49 +0000 (07:01 +0300)]
0032812: Coding - problem after integration 32806

3 years ago0032806: Coding - get rid of unused headers [Contap to Extrema] IR-2022-01-28
aml [Wed, 12 Jan 2022 15:48:35 +0000 (18:48 +0300)]
0032806: Coding - get rid of unused headers [Contap to Extrema]

3 years ago0032748: Data Exchange, Step Import - xstep.cascade.unit doesn't work [regression...
atychini [Fri, 21 Jan 2022 18:55:45 +0000 (21:55 +0300)]
0032748: Data Exchange, Step Import - xstep.cascade.unit doesn't work [regression since OCCT 7.6.0]
Added new condition in STEPControl_ActorRead::Transfer: if StepData_StepModel is not an initialized Unit - we set unit to this step model

3 years ago0032795: Documentation - clarify indexation range within Poly_Triangulation/Graphic3d...
kgv [Mon, 24 Jan 2022 18:57:26 +0000 (21:57 +0300)]
0032795: Documentation - clarify indexation range within Poly_Triangulation/Graphic3d_ArrayOfPrimitives classes

3 years ago0032701: Modeling Algorithms - 2d curve has bending near the degenerated edge of...
ifv [Thu, 2 Dec 2021 14:02:17 +0000 (17:02 +0300)]
0032701: Modeling Algorithms - 2d curve has bending near the degenerated edge of the face

ApproxInt_Approx, ApproxInt_KnotTools, BRepApprox_Approx,
GeomInt_IntSS, IntTools_FaceFace:
  Analysis of curvature is added for adjusting ParametrizationType

IntPatch_Intersection.cxx - adding methods for estimation of UV max step depending on used surfaces

GeomInt_IntSS.cxx, IntTools_FaceFace.cxx - using methods for max step estimation

Approx_SameParameter.cxx - adding control against big values.

BOPAlgo_PaveFiller_6.cxx - adjusting position of faces before intersection

3 years ago0032783: Documentation - Doxygen 1.9.3 generates corrupted HTML for dox/samples/ocaf.md IR-2022-01-21
kgv [Tue, 18 Jan 2022 12:28:02 +0000 (15:28 +0300)]
0032783: Documentation - Doxygen 1.9.3 generates corrupted HTML for dox/samples/ocaf.md

Fix incorrect/fragile Markdown syntax in samples/ocaf and user_guides/modeling_data.

3 years ago0032781: Coding - get rid of unused headers [BRepCheck to ChFiKPart]
aml [Wed, 12 Jan 2022 14:16:00 +0000 (17:16 +0300)]
0032781: Coding - get rid of unused headers [BRepCheck to ChFiKPart]

3 years ago0032784: BinXCAF fails to load documents containing the shapes with scaled/mirrored...
Dzmitry Razmyslovich [Tue, 18 Jan 2022 13:52:39 +0000 (14:52 +0100)]
0032784: BinXCAF fails to load documents containing the shapes with scaled/mirrored location

A flag not to raise an exception is used on reading of an XCAF document. If such a shape with scaling transformation is stored in the document, it should be read.

3 years ago0032668: Documentation - add tutorial for creating a custom AIS Interactive Object
kgv [Thu, 13 Jan 2022 12:51:40 +0000 (15:51 +0300)]
0032668: Documentation - add tutorial for creating a custom AIS Interactive Object

3 years ago0032780: Visualization, TKOpenGl - add smoothing to row interlaced stereoscopic output
kgv [Sun, 16 Jan 2022 15:20:45 +0000 (18:20 +0300)]
0032780: Visualization, TKOpenGl - add smoothing to row interlaced stereoscopic output

Added new option Graphic3d_RenderingParams::ToSmoothInterlacing enabled by default.
Added -smooth   option to vstereo command.
Added -dpiAware option to vinit   command (Windows).

3 years ago0032779: Visualization, TKOpenGl - support using a wide color window buffer format...
kgv [Fri, 14 Jan 2022 22:39:19 +0000 (01:39 +0300)]
0032779: Visualization, TKOpenGl - support using a wide color window buffer format (10bit per component / 30bit RGB)

Added new flag OpenGl_Caps::buffersDeepColor disabled by default.
OpenGl_Window now tries to find a RGB10_A2 pixel format using wglChoosePixelFormatARB().
OpenGl_TextureFormat::FindSizedFormat() - added handling of GL_RGB10_A2 internal format.
OpenGl_View::SetWindow() now selects preferred FBO color format basing on parameters.
OpenGl_Context::DiagnosticInformation()/OpenGl_View::DiagnosticInformation() now include
information about window pixel format / FBO texture format.

3 years ago0028642: BRepOffsetAPI_ThruSections/BRepFill_Generator are modifying the input shape...
isn [Wed, 5 Apr 2017 12:16:40 +0000 (15:16 +0300)]
0028642: BRepOffsetAPI_ThruSections/BRepFill_Generator are modifying the input shape sections

1) BRepFill_Generator and BRepOffsetAPI_ThruSections now support 'non-destructive' mode for the input shapes (sections wires). The shape history of this algorithms also has been modified.
2) New test grids (based on the previous ones) have been added. These new cases use locked shapes as input arguments
3) The option '-safe' has been added to 'thrusections' command