X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESH_I%2FSMESH_Gen_i_1.cxx;h=c3123b3f5a79293b2f7b5fd0c563799bbdb73615;hb=e5ed5aa5ac8420179aa37e3bf3a175e22ef3f69a;hp=99e43275d2f193c19e7a7e1f9d4771e06ed95415;hpb=53254ff3edd4c9494d3c47d7ec8f9d62981c0da8;p=modules%2Fsmesh.git diff --git a/src/SMESH_I/SMESH_Gen_i_1.cxx b/src/SMESH_I/SMESH_Gen_i_1.cxx index 99e43275d..c3123b3f5 100644 --- a/src/SMESH_I/SMESH_Gen_i_1.cxx +++ b/src/SMESH_I/SMESH_Gen_i_1.cxx @@ -749,6 +749,9 @@ SALOMEDS::SObject_ptr SetName( aHypSO, theName, aHypName ); } + if( SMESH_Hypothesis_i* aServant = dynamic_cast( GetServant( theHyp ).in() ) ) + aServant->UpdateStringAttribute(); + if(MYDEBUG) MESSAGE("PublishHypothesis--END") return aHypSO._retn(); } @@ -885,101 +888,3 @@ bool SMESH_Gen_i::RemoveHypothesisFromShape(SALOMEDS::Study_ptr theStudy } return true; } - -//======================================================================= -//function : UpdateParameters -//purpose : -//======================================================================= -void SMESH_Gen_i::UpdateParameters(CORBA::Object_ptr theObject, const char* theParameters) -{ - - if(VARIABLE_DEBUG) - cout<<"UpdateParameters : "<_is_nil() || CORBA::is_nil(theObject)) - return; - - SALOMEDS::SObject_var aSObj = ObjectToSObject(aStudy,theObject); - if(aSObj->_is_nil()) - return; - - SALOMEDS::StudyBuilder_var aStudyBuilder = aStudy->NewBuilder(); - - SALOMEDS::GenericAttribute_var aFindAttr; - bool hasAttr = aSObj->FindAttribute(aFindAttr, "AttributeString"); - if(VARIABLE_DEBUG) - cout<<"Find Attribute "<FindOrCreateAttribute( aSObj, "AttributeString"); - SALOMEDS::AttributeString_var aStringAttr = SALOMEDS::AttributeString::_narrow(anAttr); - - TCollection_AsciiString aNewParams; - TCollection_AsciiString aOldParameters(aStringAttr->Value()); - TCollection_AsciiString anInputParams(ParseParameters(theParameters)); - - if(!hasAttr) - aNewParams = anInputParams; - else - aNewParams = aOldParameters+"|"+anInputParams; - - if(VARIABLE_DEBUG) - { - cout<<"Input Parameters : "<SetValue( aNewParams.ToCString() ); -} - -//======================================================================= -//function : ParseParameters -//purpose : -//======================================================================= -char* SMESH_Gen_i::ParseParameters(const char* theParameters) -{ - const char* aParameters = CORBA::string_dup(theParameters); - TCollection_AsciiString anInputParams; - SALOMEDS::Study_ptr aStudy = GetCurrentStudy(); - if( !aStudy->_is_nil() ) { - SALOMEDS::ListOfListOfStrings_var aSections = aStudy->ParseVariables(aParameters); - for(int j=0;jlength();j++) { - SALOMEDS::ListOfStrings aVars= aSections[j]; - for(int i=0;iIsVariable(aVars[i].in()) ? - TCollection_AsciiString(aVars[i].in()) : TCollection_AsciiString(""); - if(i != aVars.length()-1) - anInputParams+=":"; - } - if(j!=aSections->length()-1) - anInputParams+="|"; - } - } - return CORBA::string_dup(anInputParams.ToCString()); -} - -//======================================================================= -//function : GetParameters -//purpose : -//======================================================================= -char* SMESH_Gen_i::GetParameters(CORBA::Object_ptr theObject) -{ - TCollection_AsciiString aResult; - - SALOMEDS::Study_ptr aStudy = GetCurrentStudy(); - SALOMEDS::SObject_var aSObj = ObjectToSObject(aStudy,theObject); - - if(!aStudy->_is_nil() && - !CORBA::is_nil(theObject) && - !aSObj->_is_nil()){ - - SALOMEDS::GenericAttribute_var anAttr; - if ( aSObj->FindAttribute(anAttr, "AttributeString")) { - aResult = TCollection_AsciiString(SALOMEDS::AttributeString::_narrow(anAttr)->Value()); - } - } - - return CORBA::string_dup( aResult.ToCString() ); -}