0021893: EDF 2133 SMESH : Improvement of 3D extrusion algorithm

In Compute(), do not call Compute() of a more local algo if this
!algo->NeedDiscreteBoundary() also
This commit is contained in:
eap 2013-02-01 10:52:04 +00:00
parent a4a38b2fb4
commit ed7d4ac971

View File

@ -322,6 +322,7 @@ bool SMESH_Gen::Compute(SMESH_Mesh & aMesh,
.And( SMESH_HypoFilter::IsMoreLocalThan( algoShape, aMesh )); .And( SMESH_HypoFilter::IsMoreLocalThan( algoShape, aMesh ));
if ( SMESH_Algo* subAlgo = (SMESH_Algo*) aMesh.GetHypothesis( aSubShape, filter, true )) { if ( SMESH_Algo* subAlgo = (SMESH_Algo*) aMesh.GetHypothesis( aSubShape, filter, true )) {
if ( ! subAlgo->NeedDiscreteBoundary() ) continue;
SMESH_Hypothesis::Hypothesis_Status status; SMESH_Hypothesis::Hypothesis_Status status;
if ( subAlgo->CheckHypothesis( aMesh, aSubShape, status )) if ( subAlgo->CheckHypothesis( aMesh, aSubShape, status ))
// mesh a lower smToCompute starting from vertices // mesh a lower smToCompute starting from vertices