1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-04 13:13:25 +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:
msv
2016-09-08 22:57:50 +03:00
committed by bugmaster
parent 4aaadad7bc
commit 14ea8abd0a
13 changed files with 81 additions and 42 deletions

View File

@@ -173,7 +173,10 @@ public:
//! Classification of an edge.
Standard_EXPORT TopAbs_State Classify (const Standard_Integer E, const HLRBRep_EdgeData& ED, const Standard_Boolean LevelFlag, Standard_Integer& Level, const Standard_Real param);
//! Returns true if the current face is bad.
Standard_EXPORT Standard_Boolean IsBadFace() const;
Standard_EXPORT void Destroy();
~HLRBRep_Data()
{