- if a scale transform with scale = 0 is passed to
BRepBuilderAPI_Transform, it will loop forever.
If Page.keepUpdated is false, and Views have not yet
been executed (ex at load time), Views will have a
0.0 x 0.0 bbox and if Autoscale is true, a scale of
0.0 will be used in fit-to-page.
Some "valid" shapes are being passed to findShapeOutline where edges
that should be connected are in fact separated 10x the expected tolerance
(2*Precision::Confusion) for 2 overlapping TopoDS_Vertex.
IntTools_Tools:ComputeVV also reports these Vertices as further apart than
their combined tolerances should allow.
This change introduces a tolerance into DrawUtil and EdgeWalker vertex
comparisions that is quite "sloppy" (0.00001) but which handles the sample
objects correctly. This tolerance is adequate for drawings. Other uses
should be considered on case by case basis.