From c9232a63490b9317aee83da7841a7e202a64ae82 Mon Sep 17 00:00:00 2001 From: asuraven Date: Fri, 26 Feb 2021 15:12:04 +0300 Subject: [PATCH] * rebasing changes --- src/BRepCheck/BRepCheck_Analyzer.cxx | 37 +++++++++++++++++-------- src/BRepCheck/BRepCheck_Edge.hxx | 2 ++ src/BRepCheck/BRepCheck_Status.hxx | 1 + src/BRepTest/BRepTest_CheckCommands.cxx | 28 +------------------ 4 files changed, 30 insertions(+), 38 deletions(-) diff --git a/src/BRepCheck/BRepCheck_Analyzer.cxx b/src/BRepCheck/BRepCheck_Analyzer.cxx index 68e9b82183..c16e211bb6 100644 --- a/src/BRepCheck/BRepCheck_Analyzer.cxx +++ b/src/BRepCheck/BRepCheck_Analyzer.cxx @@ -164,6 +164,24 @@ void BRepCheck_Analyzer::Perform(const TopoDS_Shape& S) if (MapS.Add(aVertex)) myMap(aVertex)->InContext(S); } + catch (Standard_Failure) + { +#ifdef DEB + cout << "BRepCheck_Analyzer : "; + Standard_Failure::Caught()->Print(cout); + cout << endl; +#endif + if (!myMap(S).IsNull()) + myMap(S)->SetFailStatus(S); + + Handle(BRepCheck_Result) aVertexRes = myMap(aVertex); + + if (!aVertexRes.IsNull()) + { + aVertexRes->SetFailStatus(aVertex); + aVertexRes->SetFailStatus(S); + } + } } try { @@ -182,21 +200,18 @@ void BRepCheck_Analyzer::Perform(const TopoDS_Shape& S) std::cout<SetFailStatus(S); + } - Handle(BRepCheck_Result) aRes = myMap(aVertex); - - if ( ! aRes.IsNull() ) - { - aRes->SetFailStatus(aVertex); - aRes->SetFailStatus(S); - } - + if ( ! aRes.IsNull() ) + { + aRes->SetFailStatus(S); + } } - TopTools_MapOfShape MapS; + TopTools_MapOfShape avertexMap; for (exp.Init(S,TopAbs_VERTEX);exp.More(); exp.Next()) { @@ -204,7 +219,7 @@ void BRepCheck_Analyzer::Perform(const TopoDS_Shape& S) try { OCC_CATCH_SIGNALS - if (MapS.Add(aVertex)) + if (avertexMap.Add(aVertex)) myMap(aVertex)->InContext(S); } catch(Standard_Failure const& anException) { diff --git a/src/BRepCheck/BRepCheck_Edge.hxx b/src/BRepCheck/BRepCheck_Edge.hxx index 3051c17673..d319f5b4ff 100644 --- a/src/BRepCheck/BRepCheck_Edge.hxx +++ b/src/BRepCheck/BRepCheck_Edge.hxx @@ -48,6 +48,8 @@ public: Standard_EXPORT void GeometricControls (const Standard_Boolean B); Standard_EXPORT Standard_Real Tolerance(); + + Standard_EXPORT BRepCheck_Status CheckTolerance(const TopoDS_Edge& theEdge); //! Sets status of Edge; Standard_EXPORT void SetStatus (const BRepCheck_Status theStatus); diff --git a/src/BRepCheck/BRepCheck_Status.hxx b/src/BRepCheck/BRepCheck_Status.hxx index 1990d2873d..46114f8e86 100644 --- a/src/BRepCheck/BRepCheck_Status.hxx +++ b/src/BRepCheck/BRepCheck_Status.hxx @@ -56,6 +56,7 @@ BRepCheck_BadOrientationOfSubshape, BRepCheck_InvalidPolygonOnTriangulation, BRepCheck_InvalidToleranceValue, BRepCheck_EnclosedRegion, +BRepCheck_CollapsedEdge, BRepCheck_CheckFail }; diff --git a/src/BRepTest/BRepTest_CheckCommands.cxx b/src/BRepTest/BRepTest_CheckCommands.cxx index c1eecc34e2..150e4b32b2 100644 --- a/src/BRepTest/BRepTest_CheckCommands.cxx +++ b/src/BRepTest/BRepTest_CheckCommands.cxx @@ -516,32 +516,6 @@ void ContextualDump(Draw_Interpretor& theCommands, static void FillProblems(const BRepCheck_Status stat, Handle(TColStd_HArray1OfInteger)& NbProblems) { - case BRepCheck_CollapsedEdge: - NbProblems->SetValue(13,NbProblems->Value(13)+1); break; - NbProblems->SetValue(14,NbProblems->Value(14)+1); break; - NbProblems->SetValue(15,NbProblems->Value(15)+1); break; - NbProblems->SetValue(16,NbProblems->Value(16)+1); break; - NbProblems->SetValue(17,NbProblems->Value(17)+1); break; - NbProblems->SetValue(18,NbProblems->Value(18)+1); break; - NbProblems->SetValue(19,NbProblems->Value(19)+1); break; - NbProblems->SetValue(20,NbProblems->Value(20)+1); break; - NbProblems->SetValue(21,NbProblems->Value(21)+1); break; - NbProblems->SetValue(22,NbProblems->Value(22)+1); break; - NbProblems->SetValue(23,NbProblems->Value(23)+1); break; - NbProblems->SetValue(24,NbProblems->Value(24)+1); break; - NbProblems->SetValue(25,NbProblems->Value(25)+1); break; - NbProblems->SetValue(26,NbProblems->Value(26)+1); break; - NbProblems->SetValue(27,NbProblems->Value(27)+1); break; - NbProblems->SetValue(28,NbProblems->Value(28)+1); break; - NbProblems->SetValue(29,NbProblems->Value(29)+1); break; - NbProblems->SetValue(30,NbProblems->Value(30)+1); break; - NbProblems->SetValue(31,NbProblems->Value(31)+1); break; - NbProblems->SetValue(32,NbProblems->Value(32)+1); break; - case BRepCheck_InvalidToleranceValue: - NbProblems->SetValue(33,NbProblems->Value(33)+1); break; - case BRepCheck_CheckFail: - NbProblems->SetValue(34,NbProblems->Value(34)+1); break; - const Standard_Integer anID = static_cast (stat); if((NbProblems->Upper() < anID) || (NbProblems->Lower() > anID)) @@ -549,7 +523,7 @@ static void FillProblems(const BRepCheck_Status stat, NbProblems->SetValue(anID, NbProblems->Value(anID)+1); - } +} //======================================================================= -- 2.39.5