mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
0027830: Infinite HLR looping
Make protection of HLR algo against garbage data in faces. In particular case, there are faces built on a periodical surfaces, which U bounds exceed period thousands times. Such faces are excluded from the process of edges hiding. In addition, while fitting the intersection point in period for periodical faces, replace looping with the single call to AdjustPeriodic method. - Add new test case. - Update tests of HLR according to new numbers of subshapes. Update of test cases according to the new behavior
This commit is contained in:
@@ -103,6 +103,8 @@ void HLRBRep_Hider::Hide(const Standard_Integer FI,
|
||||
myDS->InitEdge(FI,MST);
|
||||
if (!myDS->MoreEdge()) // there is nothing to do
|
||||
return; // **********************
|
||||
if (myDS->IsBadFace())
|
||||
return;
|
||||
HLRBRep_EdgeInterferenceTool EIT(myDS); // List of Intersections
|
||||
HLRBRep_Array1OfEData& myEData = myDS->EDataArray();
|
||||
|
||||
|
Reference in New Issue
Block a user