{
_hypothesis = static_cast<const BLSURFPlugin_Hypothesis*> (theHyp);
ASSERT(_hypothesis);
- aStatus = SMESH_Hypothesis::HYP_OK;
+ if ( _hypothesis->GetPhysicalMesh() == BLSURFPlugin_Hypothesis::DefaultSize &&
+ _hypothesis->GetGeometricMesh() == BLSURFPlugin_Hypothesis::DefaultGeom )
+ // hphy_flag = 0 and hgeo_flag = 0 is not allowed (spec)
+ aStatus = SMESH_Hypothesis::HYP_BAD_PARAMETER;
+ else
+ aStatus = SMESH_Hypothesis::HYP_OK;
}
else
aStatus = SMESH_Hypothesis::HYP_INCOMPATIBLE;
enum PhysicalMesh
{
- DefaultSize,
+ DefaultSize = 0,
PhysicalUserDefined
};
enum GeometricMesh
{
- DefaultGeom,
+ DefaultGeom = 0,
UserDefined
};
break;
}
myPhySize->setValue( aPhySize );
+ // hphy_flag = 0 and hgeo_flag = 0 is not allowed (spec)
+ if ( myGeometricMesh->currentItem() == DefaultGeom ) {
+ myGeometricMesh->setCurrentItem( UserDefined );
+ onGeometricMeshChanged();
+ }
}
}
}
myAngleMeshS->setValue( aAngleMeshS );
myGradation->setValue( aGradation );
+ // hphy_flag = 0 and hgeo_flag = 0 is not allowed (spec)
+ if ( myPhysicalMesh->currentItem() == DefaultSize ) {
+ myPhysicalMesh->setCurrentItem( PhysicalUserDefined );
+ onPhysicalMeshChanged();
+ }
}
}