Fix bug with 2D algorithms, applied to shells (PAOUK).

This commit is contained in:
jfa 2006-10-04 13:15:19 +00:00
parent ffab2d99a0
commit 5ebb213563

View File

@ -482,9 +482,18 @@ bool SMESH_subMesh::IsApplicableHypotesis(const SMESH_Hypothesis* theHypothesis,
switch ( theShapeType ) {
case TopAbs_EDGE:
case TopAbs_FACE:
case TopAbs_SHELL:
case TopAbs_SOLID:
return SMESH_Gen::GetShapeDim( theShapeType ) == theHypothesis->GetDim();
case TopAbs_SHELL:
// Special case for algorithms, building 2D mesh on a whole shell.
// Before this fix there was a problem after restoring from study,
// because in that case algorithm is assigned before hypothesis
// (on shell in problem case) and hypothesis is checked on faces
// (because it is 2D), where we have NO_ALGO state.
// Now 2D hypothesis is also applicable to shells.
return (theHypothesis->GetDim() == 2 || theHypothesis->GetDim() == 3);
// case TopAbs_WIRE:
// case TopAbs_COMPSOLID:
// case TopAbs_COMPOUND: