BRepLib_MakeWire.cxx:
in method BRepLib_BndBoxVertexSelector::Accept() accepting tolerance criterion is changed
BRepLib_MakeWire.hxx:
correctionof class field name
bug31611: test case added
const TopTools_IndexedMapOfShape& myMapOfShape; //vertices
gp_Pnt myP;
- Standard_Real mySTol;
+ Standard_Real myTolP;
Standard_Integer myVInd;
Bnd_Box myVBox;
NCollection_List<Standard_Integer> myResultInd;
Standard_Real aTolV = BRep_Tool::Tolerance(aV);
Standard_Real aL = myP.SquareDistance(aVPnt);
+ Standard_Real aSTol = aTolV + myTolP;
+ aSTol *= aSTol;
- if (aL < Max(aTolV*aTolV, mySTol))
+ if (aL <= aSTol)
{
myResultInd.Append(theObj);
return Standard_True;
myP = theP;
myVBox.Add(myP);
myVBox.Enlarge(theTol);
- mySTol = theTol*theTol;
+ myTolP = theTol;
myVInd = theVInd;
}
--- /dev/null
+puts "============================================================================================="
+puts "OCC31611: BRepOffsetAPI_NormalProjection - can't build wire in 720 but it was possible in 691"
+puts "============================================================================================="
+
+restore [locate_data_file bug31611.brep] d
+
+plane p 0 0 0 1 1 1 0
+mkface f p -200 200 -200 200
+nproject r d f
+eval wire w -unsorted [explode r]
+
+checknbshapes w -vertex 20 -edge 20 -wire 1
+checkprops w -l 342.576