X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH_I%2FSMESH_Hypothesis_i.cxx;h=4383564a75db5b425c67e8e5c507a113bd9ee1f2;hp=b3e4e48325a354797167f1a2e8973ca85d028712;hb=0fc0831670e27a5611b941c52dc152fd63964515;hpb=41b3e4433388f439856c3b0bb3725e9c81179c24 diff --git a/src/SMESH_I/SMESH_Hypothesis_i.cxx b/src/SMESH_I/SMESH_Hypothesis_i.cxx index b3e4e4832..4383564a7 100644 --- a/src/SMESH_I/SMESH_Hypothesis_i.cxx +++ b/src/SMESH_I/SMESH_Hypothesis_i.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2020 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -20,7 +20,7 @@ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // -// SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses +// SMESH SMESH_I : idl implementation based on 'SMESH' unit's classes // File : SMESH_Hypothesis_i.cxx // Author : Paul RASCLE, EDF // Module : SMESH @@ -34,6 +34,8 @@ #include #include +#include + using namespace std; //============================================================================= @@ -126,10 +128,9 @@ CORBA::Long SMESH_Hypothesis_i::GetId() bool SMESH_Hypothesis_i::IsPublished() { bool res = false; - if ( SMESH_Gen_i *gen = SMESH_Gen_i::GetSMESHGen()) + if ( SMESH_Gen_i::GetSMESHGen() ) { - SALOMEDS::Study_var study = gen->GetCurrentStudy(); - SALOMEDS::SObject_wrap SO = SMESH_Gen_i::ObjectToSObject( study, _this()); + SALOMEDS::SObject_wrap SO = SMESH_Gen_i::ObjectToSObject( _this()); res = !SO->_is_nil(); } return res; @@ -327,3 +328,24 @@ void SMESH_Hypothesis_i::UpdateAsMeshesRestored() { // for hyps needing full data restored } + +//================================================================================ +/*! + * \brief Check if a shape includes sub-shapes of a given dimension + */ +//================================================================================ + +bool GenericHypothesisCreator_i::IsShapeOfDim( const TopoDS_Shape & S, + int dim ) +{ + TopAbs_ShapeEnum shapeType; + switch ( dim ) + { + case 0: shapeType = TopAbs_VERTEX; break; + case 1: shapeType = TopAbs_EDGE; break; + case 2: shapeType = TopAbs_FACE; break; + case 3: shapeType = TopAbs_SOLID; break; + default: return true; + } + return TopExp_Explorer( S, shapeType ).More(); +}