mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-09-13 14:27:08 +03:00
0027391: BRepLib::EnsureNormalConsistency() raises exception in case of asynchronious PolygonOnTriangulation problem
additional check have been added to BRepLib::EnsureNormalConsistency() func. Any edges with two adjacent faces will be skipped (while updating of their normals) if the number of discretization points (nodes) will be different for each of this faces on this edge. test case
This commit is contained in:
@@ -1899,6 +1899,10 @@ Standard_Boolean BRepLib::
|
||||
TShort_Array1OfShortReal& aNormArr1 = aPT1->ChangeNormals();
|
||||
TShort_Array1OfShortReal& aNormArr2 = aPT2->ChangeNormals();
|
||||
|
||||
if (aPTEF1->Nodes().Lower() != aPTEF2->Nodes().Lower() ||
|
||||
aPTEF1->Nodes().Upper() != aPTEF2->Nodes().Upper())
|
||||
continue;
|
||||
|
||||
for(Standard_Integer anEdgNode = aPTEF1->Nodes().Lower();
|
||||
anEdgNode <= aPTEF1->Nodes().Upper(); anEdgNode++)
|
||||
{
|
||||
|
10
tests/bugs/modalg_6/bug27391
Normal file
10
tests/bugs/modalg_6/bug27391
Normal file
@@ -0,0 +1,10 @@
|
||||
puts "============"
|
||||
puts "OCC27391"
|
||||
puts "============"
|
||||
puts ""
|
||||
######################################################
|
||||
# BRepLib::EnsureNormalConsistency() raises exception in case of asynchronious PolygonOnTriangulation problem
|
||||
######################################################
|
||||
|
||||
restore [locate_data_file bug27391_Ficomirrors_ExportBinMoldflow.brep] a
|
||||
correctnormals a
|
Reference in New Issue
Block a user