1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-09-03 14:10:33 +03:00

0027302: Invalid curves number in intersection result

1. In frame of the fix for #27282 issue, we have obtained several prolonged curves, which have common point(s). Fix for this issue joins these curves if it is possible.

2. ElCLib::InPeriod(...) method has been improved. Now it has become more faster (in general cases) and more reliable (in frame of  FLT_OVERFLOW and DIVISION_BY_ZERO cases processing).

Creation of test case for issue #27302
Test case tests\bugs\modalg_6\bug27282_2 has been adjusted in accordance with its new behavior.
This commit is contained in:
nbv
2016-03-29 16:38:53 +03:00
committed by bugmaster
parent 8b9a309b48
commit b8f67cc236
11 changed files with 645 additions and 278 deletions

View File

@@ -19,9 +19,13 @@
#include <IntPatch_Point.hxx>
inline void IntPatch_WLine::AddVertex (const IntPatch_Point& Pnt)
inline void IntPatch_WLine::AddVertex (const IntPatch_Point& thePnt,
const Standard_Boolean theIsPrepend)
{
svtx.Append(Pnt);
if(theIsPrepend)
svtx.Prepend(thePnt);
else
svtx.Append(thePnt);
}
inline void IntPatch_WLine::Replace (const Standard_Integer Index,