mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-27 15:40:32 +05:00
Author: Roman Lygin, roman.lygin@gmail.com
fixS020 - Summary: Invalid computation of edge length on periodic curve leads to wrong tessellation - Detailed description: SMESH_Algo returns incorrect edge length (1e-08) for an edge lying beyond periodic curve range. Afterwards the number of segments is computed as ~ 1/lentgh and becomes 1.9M leading to running out of memory or failure to produce 2D mesh. - Reproducer: Try to mesh f-percrvedge.brep with 1D Wire Discretization and default MaxSize hypothesis.
This commit is contained in:
parent
7cbe130467
commit
4dcb416ea4
@ -171,7 +171,7 @@ double SMESH_Algo::EdgeLength(const TopoDS_Edge & E)
|
||||
return 0;
|
||||
TopLoc_Location L;
|
||||
Handle(Geom_Curve) C = BRep_Tool::Curve(E, L, UMin, UMax);
|
||||
GeomAdaptor_Curve AdaptCurve(C);
|
||||
GeomAdaptor_Curve AdaptCurve(C, UMin, UMax); //range is important for periodic curves
|
||||
double length = GCPnts_AbscissaPoint::Length(AdaptCurve, UMin, UMax);
|
||||
return length;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user