From 60d6911d52445893f27dc5d592d9133ecbae1663 Mon Sep 17 00:00:00 2001 From: eap Date: Mon, 21 Jul 2008 09:43:48 +0000 Subject: [PATCH] [SALOME platform 0019316]: Need to have a better interface with GHS3D diagnostics improve work with algos not needeing shapes --- src/SMESH/SMESH_subMesh.cxx | 29 +++++------------------------ 1 file changed, 5 insertions(+), 24 deletions(-) diff --git a/src/SMESH/SMESH_subMesh.cxx b/src/SMESH/SMESH_subMesh.cxx index a5d5c3f9b..756a76899 100644 --- a/src/SMESH/SMESH_subMesh.cxx +++ b/src/SMESH/SMESH_subMesh.cxx @@ -497,16 +497,9 @@ const TopoDS_Shape & SMESH_subMesh::GetSubShape() const bool SMESH_subMesh::CanAddHypothesis(const SMESH_Hypothesis* theHypothesis) const { int aHypDim = theHypothesis->GetDim(); - if(_father->HasShapeToMesh()) { - int aShapeDim = SMESH_Gen::GetShapeDim(_subShape); - if ( aHypDim <= aShapeDim ) - return true; - } - else - //Only 3D hypothesis may be assigned to the mesh w/o geometry - return aHypDim == 3; -// if ( aHypDim < aShapeDim ) -// return ( _father->IsMainShape( _subShape )); + int aShapeDim = SMESH_Gen::GetShapeDim(_subShape); + if ( aHypDim <= aShapeDim ) + return true; return false; } @@ -607,9 +600,8 @@ SMESH_Hypothesis::Hypothesis_Status // check if a shape needed by algo is present // ------------------------------------------- algo = static_cast< SMESH_Algo* >( anHyp ); - if(_father->GetShapeToMesh() != SMESH_Mesh::PseudoShape()) - if ( !_father->HasShapeToMesh() && algo->NeedShape() ) - return SMESH_Hypothesis::HYP_BAD_GEOMETRY; + if ( !_father->HasShapeToMesh() && algo->NeedShape() ) + return SMESH_Hypothesis::HYP_NEED_SHAPE; // ---------------------- // check mesh conformity // ---------------------- @@ -625,17 +617,6 @@ SMESH_Hypothesis::Hypothesis_Status if ( ! CanAddHypothesis( anHyp )) // check dimension return SMESH_Hypothesis::HYP_BAD_DIM; - // EAP: __NOT__ Only NETGEN_3D and GHS3D_3D can be assigned to the Mesh w/o geometryy, - // but any algo which !NeedShape() -// if(anHyp->GetDim() == 3 && !_father->HasShapeToMesh() -// && event == ADD_ALGO) { -// //Only NETGEN_3D and GHS3D_3D can be assigned to the Mesh w/o geometryy -// bool isNetgen3D = (strcmp( "NETGEN_3D", anHyp->GetName()) == 0); -// bool isGhs3d = (strcmp( "GHS3D_3D", anHyp->GetName()) == 0); -// if( !isNetgen3D && !isGhs3d) -// return SMESH_Hypothesis::HYP_BAD_DIM; -// } - if ( /*!anHyp->IsAuxiliary() &&*/ GetSimilarAttached( _subShape, anHyp ) ) return SMESH_Hypothesis::HYP_ALREADY_EXIST; -- 2.39.2