X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH_I%2FSMESH_Hypothesis_i.hxx;h=85f1d01964e6fe6d89d8ed771132247748d4f6a4;hp=c8ff51ab3886d9afc09ed4ce0b9f0e3dd8360bae;hb=88141f757b048eaa5aae0be49faaf274448bbcaf;hpb=f5016d85b7b4b88623723027a1585c6414c4dc66 diff --git a/src/SMESH_I/SMESH_Hypothesis_i.hxx b/src/SMESH_I/SMESH_Hypothesis_i.hxx index c8ff51ab3..85f1d0196 100644 --- a/src/SMESH_I/SMESH_Hypothesis_i.hxx +++ b/src/SMESH_I/SMESH_Hypothesis_i.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2016 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 @@ -6,7 +6,7 @@ // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -59,40 +59,34 @@ public: virtual ~SMESH_Hypothesis_i(); // Get type name of hypothesis - char* GetName(); + virtual char* GetName(); // Get plugin library name of hypothesis - char* GetLibName(); + virtual char* GetLibName(); // Set plugin library name of hypothesis void SetLibName( const char* theLibName ); // Get unique id of hypothesis - CORBA::Long GetId(); - - // Set the variable parameter; method is a name of method setting this parameter. - // This method must be called by the hypothesis creator just before calling hyp->method() - void SetVarParameter (const char* parameter, const char* method); + virtual CORBA::Long GetId(); - // Return the variable parameter used for Hypothesis creation by name of method - // setting this parameter - char* GetVarParameter (const char* methodName); + // Return true if a hypothesis has parameters + virtual CORBA::Boolean HasParameters(); - // Set list of parameters separated by ":" symbol, used for Hypothesis creation - // void SetParameters (const char* theParameters); - - // // Return list of notebook variables used for Hypothesis creation separated by ":" symbol - // char* GetParameters(); + // Set the variable parameter (a variable name or a parameter value); \a method is a name + // of method setting this parameter. + // This method must be called by the hypothesis creator just before calling hyp->method() + virtual void SetVarParameter (const char* parameter, const char* method); - // //Return list of last notebook variables used for Hypothesis creation. - // SMESH::ListOfParameters* GetLastParameters(); + // Return the variable parameter used at Hypothesis Creation by the name of method + // setting this parameter. The returned variable name is used at Hypothesis Edition. + virtual char* GetVarParameter (const char* methodName); - // //Set last parameters for not published hypothesis - - // void SetLastParameters(const char* theParameters); - - // // Clear parameters list - // void ClearParameters(); + // Store a hypothesis wrapping this not published one. This hyp, which has + // no own parameters but is published, is used to store variables defining parameters + // of this hypothesis. This method is to be called before setting parameters + // of this hypothesis. + virtual void SetHolderHypothesis(const SMESH::SMESH_Hypothesis_ptr hyp); //Return true if hypothesis was published in study bool IsPublished(); @@ -105,11 +99,16 @@ public: virtual void LoadFrom( const char* theStream ); virtual void UpdateAsMeshesRestored(); // for hyps needing full data restored -protected: - ::SMESH_Hypothesis* myBaseImpl; // base hypothesis implementation + protected: - std::map< std::string, std::string > myMethod2VarParams; // variable parameters + // base hypothesis implementation + ::SMESH_Hypothesis* myBaseImpl; + // a published hypothesis wrapping this not published one + SMESH::SMESH_Hypothesis_var myHolder; + + // variable parameters + std::map< std::string, std::string > myMethod2VarParams; public: // Methods for backward compatibility of notebook variables @@ -136,8 +135,11 @@ public: virtual SMESH_Hypothesis_i* Create(PortableServer::POA_ptr thePOA, int theStudyId, ::SMESH_Gen* theGenImpl) = 0; + virtual ~GenericHypothesisCreator_i() {} + // return the name of IDL module virtual std::string GetModuleName() = 0; + virtual bool IsApplicable( const TopoDS_Shape &S, bool toCheckAll ) {return true;} }; //=============================================================================