bos #29143 [CEA] Compute takes too much time in polyhedron per solid use case

more optimization: don't try to find more local algos if uniDimAlgoShapes is empty
This commit is contained in:
eap 2022-02-28 14:38:20 +03:00
parent f85bc0ab6f
commit a065ed143c
2 changed files with 42 additions and 39 deletions

View File

@ -390,6 +390,8 @@ bool SMESH_Gen::Compute(SMESH_Mesh & aMesh,
const TopAbs_ShapeEnum shapeType = sm->GetSubShape().ShapeType();
if ( !uniDimAlgoShapes.IsEmpty() )
{
// get a shape the algo is assigned to
if ( !GetAlgo( sm, & algoShape ))
continue; // strange...
@ -433,6 +435,7 @@ bool SMESH_Gen::Compute(SMESH_Mesh & aMesh,
Compute( aMesh, aSubShape, aFlags | SHAPE_ONLY_UPWARD, aDim, aShapesId, localAllowed );
}
}
}
// --------------------------------
// apply the all-dimensional algo
// --------------------------------

View File

@ -237,6 +237,6 @@ private:
int _MessInfo;
};
}; // namespace SMESHHOMARDImpl
} // namespace SMESHHOMARDImpl
#endif