mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-04 13:13:25 +03:00
0027282: [Regression to 6.9.1] smesh/bugs_00/A6: Cut produces an empty shape
1. The reason of the regression is not-closed intersection result. This problem has been solved (in this fix) by adding joint point to the both neighbors intersection lines (lines were extended to the this intersection point). It is made in IntPatch_WLineTool::ExtendTwoWlinesToEachOther(...) method. 2. Interface of IntPatch_PointLine and inherited classes has been changed. Methods ChangeVertex(...) and RemoveVertex(...) have been added. Test cases for this issue have been created. Small correction in the code.
This commit is contained in:
@@ -57,7 +57,7 @@ Standard_Boolean IntSurf_PntOn2S::IsSame( const IntSurf_PntOn2S& theOterPoint,
|
||||
if(pt.SquareDistance(theOterPoint.Value()) > theTol3D*theTol3D)
|
||||
return Standard_False;
|
||||
|
||||
if(IsEqual(theTol2D, 0.0))
|
||||
if(theTol2D < 0.0)
|
||||
{//We need not compare 2D-coordinates of the points
|
||||
return Standard_True;
|
||||
}
|
||||
|
@@ -74,8 +74,8 @@ public:
|
||||
|
||||
//! Returns TRUE if 2D- and 3D-coordinates of theOterPoint are equal to
|
||||
//! corresponding coordinates of me (with given tolerance).
|
||||
//! If theTol2D == 0.0 we will compare 3D-points only.
|
||||
Standard_EXPORT Standard_Boolean IsSame (const IntSurf_PntOn2S& theOterPoint, const Standard_Real theTol3D = 0.0, const Standard_Real theTol2D = 0.0) const;
|
||||
//! If theTol2D < 0.0 we will compare 3D-points only.
|
||||
Standard_EXPORT Standard_Boolean IsSame (const IntSurf_PntOn2S& theOterPoint, const Standard_Real theTol3D = 0.0, const Standard_Real theTol2D = -1.0) const;
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user