0031449: Mesh - BRepMesh works too long and produces many free nodes on a valid face
Description
The shape analyzed in context of #31301 exhibits problems in meshing occuring after export of the original shape (initially imported from STEP) to STEP and importing back, in a case when parameter xstep.cascade.unit is set to meters during last import. The meshing takes enormous time (effectively hangs) and (when suceeds) produces a lot of free nodes.
Originally detected in CAD Assistant which just hangs and eats all available memory when reading the exported STEP file if unit settings are "M".
Steps To Reproduce
1. Full variant of original sequence in DRAW (hang or too long to wait for):
pload XDE AISV
ReadStep D [locate_data_file bug31301.stp]
WriteStep D bug31301_exported.stp
param xstep.cascade.unit M
ReadStep Q bug31301_exported.stp
XShow Q
----> WAIT (forever?)!
2. Simplified variant (prototype of test case) using single face (one that caused problems in #31301) already passed through all import - export steps:
pload MODELING MESH
restore [locate_data_file bug31301_face_loopback_M.brep] a
checkshape a
tolerance a
dchrono s restart
incmesh a 0.0001
dchrono s stop show
# meshing must be fraction of second, takes ~ 30 sec
tricheck a
# 6.000+ free nodes
3. Reproduction of the situation of CAD Assistant that eats ~ 30 GB of memory in ~ 3 min (on 6-core CPU):
pload MODELING
restore [locate_data_file bug31301_2_exported.brep] a
incmesh a 0.00039624 -a 20 -min 0.0001 -parallel