mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-28 18:30:35 +05:00
0051789: TC7.2.0: NoteBook cannot update study
Fix for "LayerDistribution" hypothesis + * \brief 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. + */ + void SetHolderHypothesis(in SMESH::SMESH_Hypothesis hyp); + // a published hypothesis wrapping this not published one + SMESH::SMESH_Hypothesis_var myHolder;
This commit is contained in:
parent
751c6aceb0
commit
cdff506eaf
@ -153,7 +153,10 @@ void SMESH_Hypothesis_i::SetVarParameter (const char* theParameter,
|
||||
{
|
||||
if ( SMESH_Gen_i *gen = SMESH_Gen_i::GetSMESHGen() )
|
||||
{
|
||||
gen->UpdateParameters( CORBA::Object_var( _this() ).in(), theParameter );
|
||||
SMESH::SMESH_Hypothesis_var varHolder;
|
||||
if ( myHolder->_is_nil() ) varHolder = _this();
|
||||
else varHolder = myHolder;
|
||||
gen->UpdateParameters( varHolder, theParameter );
|
||||
|
||||
const std::vector< std::string >& pars = gen->GetLastParameters();
|
||||
if ( !pars.empty() )
|
||||
@ -186,6 +189,20 @@ char* SMESH_Hypothesis_i::GetVarParameter (const char* theMethod)
|
||||
return CORBA::string_dup("");
|
||||
}
|
||||
|
||||
//================================================================================
|
||||
/*!
|
||||
* \brief 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.
|
||||
*/
|
||||
//================================================================================
|
||||
|
||||
void SMESH_Hypothesis_i::SetHolderHypothesis(const SMESH::SMESH_Hypothesis_ptr hyp)
|
||||
{
|
||||
myHolder = SMESH::SMESH_Hypothesis::_duplicate( hyp );
|
||||
}
|
||||
|
||||
//================================================================================
|
||||
/*!
|
||||
* \brief Restore myMethod2VarParams by parameters stored in an old study
|
||||
|
@ -70,29 +70,20 @@ public:
|
||||
// Get unique id of hypothesis
|
||||
CORBA::Long GetId();
|
||||
|
||||
// Set the variable parameter; method is a name of method setting this parameter.
|
||||
// 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()
|
||||
void SetVarParameter (const char* parameter, const char* method);
|
||||
|
||||
// Return the variable parameter used for Hypothesis creation by name of method
|
||||
// setting this parameter
|
||||
// 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.
|
||||
char* GetVarParameter (const char* methodName);
|
||||
|
||||
// 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();
|
||||
|
||||
// //Return list of last notebook variables used for Hypothesis creation.
|
||||
// SMESH::ListOfParameters* GetLastParameters();
|
||||
|
||||
// //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.
|
||||
void SetHolderHypothesis(const SMESH::SMESH_Hypothesis_ptr hyp);
|
||||
|
||||
//Return true if hypothesis was published in study
|
||||
bool IsPublished();
|
||||
@ -105,11 +96,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
|
||||
|
Loading…
Reference in New Issue
Block a user