mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
0026185: BRepOffsetAPI_MakeOffset: regressions on some customer's cases
Minor correction. Test-cases for issue #26185 Modifications in test-cases according to developer's notes
This commit is contained in:
@@ -303,8 +303,9 @@ static void EvalParametersBis(const Geom2dAdaptor_Curve& Bis,
|
||||
//=======================================================================
|
||||
|
||||
void BRepFill_TrimEdgeTool::IntersectWith(const TopoDS_Edge& Edge1,
|
||||
const TopoDS_Edge& Edge2,
|
||||
TColgp_SequenceOfPnt& Params)
|
||||
const TopoDS_Edge& Edge2,
|
||||
const GeomAbs_JoinType theJoinType,
|
||||
TColgp_SequenceOfPnt& Params)
|
||||
{
|
||||
Params.Clear();
|
||||
|
||||
@@ -553,6 +554,23 @@ void BRepFill_TrimEdgeTool::IntersectWith(const TopoDS_Edge& Edge1,
|
||||
Points2.Remove(Params.Length()+1, Points2.Length());
|
||||
}
|
||||
|
||||
NbPoints = Params.Length();
|
||||
|
||||
if (NbPoints > 0 && theJoinType == GeomAbs_Intersection)
|
||||
{
|
||||
//Remove all vertices with non-minimal parameter
|
||||
Standard_Integer imin = 1;
|
||||
for (i = 2; i <= NbPoints; i++)
|
||||
if (Params(i).X() < Params(imin).X())
|
||||
imin = i;
|
||||
gp_Pnt Pnt1 = Params(imin);
|
||||
gp_Pnt Pnt2 = Points2(imin);
|
||||
Params.Clear();
|
||||
Points2.Clear();
|
||||
Params.Append(Pnt1);
|
||||
Points2.Append(Pnt2);
|
||||
}
|
||||
|
||||
NbPoints = Params.Length();
|
||||
for ( i = 1; i <= NbPoints; i++) {
|
||||
PSeq = Params(i);
|
||||
|
Reference in New Issue
Block a user