X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESH%2FSMESH_Gen.hxx;h=f2887c0443a22986355b7b6da4d7346c6b23e141;hb=refs%2Ftags%2FT3_2_0b2;hp=17dbe35e63070eb57b0dbbd36bdd81b74d7ed242;hpb=36409e98c921c2a34fa81b0e006a49b62c9821d0;p=modules%2Fsmesh.git diff --git a/src/SMESH/SMESH_Gen.hxx b/src/SMESH/SMESH_Gen.hxx index 17dbe35e6..f2887c044 100644 --- a/src/SMESH/SMESH_Gen.hxx +++ b/src/SMESH/SMESH_Gen.hxx @@ -17,7 +17,7 @@ // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // // // @@ -60,7 +60,7 @@ class SMESH_Gen // SMESH_Hypothesis *CreateHypothesis(const char *anHyp, int studyId) // throw(SALOME_Exception); - SMESH_Mesh* CreateMesh(int studyId) + SMESH_Mesh* CreateMesh(int theStudyId, bool theIsEmbeddedMode) throw(SALOME_Exception); bool Compute(::SMESH_Mesh & aMesh, const TopoDS_Shape & aShape); @@ -68,6 +68,28 @@ class SMESH_Gen // notify on bad state of attached algos, return false // if Compute() would fail because of some algo bad state + + enum TAlgoStateErrorName { NONE=0, MISSING_ALGO, MISSING_HYPO, NOT_CONFORM_MESH }; + struct TAlgoStateError + { + TAlgoStateErrorName _name; + const SMESH_Algo* _algo; + int _algoDim; + bool _isGlobalAlgo; + + TAlgoStateError(): _algoDim(0),_algo(0),_name(NONE) {} + void Set(TAlgoStateErrorName name, const SMESH_Algo* algo, bool isGlobal) + { _name = name; _algo = algo; _algoDim = algo->GetDim(); _isGlobalAlgo = isGlobal; } + void Set(TAlgoStateErrorName name, const int algoDim, bool isGlobal) + { _name = name; _algo = 0; _algoDim = algoDim; _isGlobalAlgo = isGlobal; } + }; + + bool GetAlgoState(SMESH_Mesh& aMesh, const TopoDS_Shape& aShape, + std::list< SMESH_Gen::TAlgoStateError > & theErrors); + // notify on bad state of attached algos, return false + // if Compute() would fail because of some algo bad state + // theErrors list contains problems description + StudyContextStruct *GetStudyContext(int studyId);