mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-29 10:50:34 +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() )
|
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();
|
const std::vector< std::string >& pars = gen->GetLastParameters();
|
||||||
if ( !pars.empty() )
|
if ( !pars.empty() )
|
||||||
@ -186,6 +189,20 @@ char* SMESH_Hypothesis_i::GetVarParameter (const char* theMethod)
|
|||||||
return CORBA::string_dup("");
|
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
|
* \brief Restore myMethod2VarParams by parameters stored in an old study
|
||||||
|
@ -70,29 +70,20 @@ public:
|
|||||||
// Get unique id of hypothesis
|
// Get unique id of hypothesis
|
||||||
CORBA::Long GetId();
|
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()
|
// This method must be called by the hypothesis creator just before calling hyp->method()
|
||||||
void SetVarParameter (const char* parameter, const char* method);
|
void SetVarParameter (const char* parameter, const char* method);
|
||||||
|
|
||||||
// Return the variable parameter used for Hypothesis creation by name of method
|
// Return the variable parameter used at Hypothesis Creation by the name of method
|
||||||
// setting this parameter
|
// setting this parameter. The returned variable name is used at Hypothesis Edition.
|
||||||
char* GetVarParameter (const char* methodName);
|
char* GetVarParameter (const char* methodName);
|
||||||
|
|
||||||
// Set list of parameters separated by ":" symbol, used for Hypothesis creation
|
// Store a hypothesis wrapping this not published one. This hyp, which has
|
||||||
// void SetParameters (const char* theParameters);
|
// 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
|
||||||
// // Return list of notebook variables used for Hypothesis creation separated by ":" symbol
|
// of this hypothesis.
|
||||||
// char* GetParameters();
|
void SetHolderHypothesis(const SMESH::SMESH_Hypothesis_ptr hyp);
|
||||||
|
|
||||||
// //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();
|
|
||||||
|
|
||||||
//Return true if hypothesis was published in study
|
//Return true if hypothesis was published in study
|
||||||
bool IsPublished();
|
bool IsPublished();
|
||||||
@ -105,11 +96,16 @@ public:
|
|||||||
virtual void LoadFrom( const char* theStream );
|
virtual void LoadFrom( const char* theStream );
|
||||||
virtual void UpdateAsMeshesRestored(); // for hyps needing full data restored
|
virtual void UpdateAsMeshesRestored(); // for hyps needing full data restored
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
::SMESH_Hypothesis* myBaseImpl; // base hypothesis implementation
|
|
||||||
|
|
||||||
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:
|
public:
|
||||||
// Methods for backward compatibility of notebook variables
|
// Methods for backward compatibility of notebook variables
|
||||||
|
Loading…
Reference in New Issue
Block a user