X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGEOM_I%2FGEOM_Gen_i.cc;h=b36a652f7981dab7152f75e29e12ebb7b078a979;hb=1d552bfd2c0e1b0262a5ea5d0e1dd03b16ea90a8;hp=75d163a218ad305499cf415179fd642fb2017f63;hpb=66713229be98e86a3f5d71d14bf24bd68fc81824;p=modules%2Fgeom.git diff --git a/src/GEOM_I/GEOM_Gen_i.cc b/src/GEOM_I/GEOM_Gen_i.cc index 75d163a21..b36a652f7 100644 --- a/src/GEOM_I/GEOM_Gen_i.cc +++ b/src/GEOM_I/GEOM_Gen_i.cc @@ -272,6 +272,32 @@ SALOMEDS::SObject_ptr GEOM_Gen_i::PublishInStudy(SALOMEDS::Study_ptr theStudy, anAttr = aStudyBuilder->FindOrCreateAttribute(aResultSO, "AttributeName"); SALOMEDS::AttributeName_var aNameAttrib = SALOMEDS::AttributeName::_narrow(anAttr); aNameAttrib->SetValue(aShapeName.ToCString()); + + //Set NoteBook variables used in the object creation + TCollection_AsciiString aParams(aShape->GetParameters()); + if(!aParams.IsEmpty()) { + TCollection_AsciiString aVars; + int nbVars = 0; + int n = 1; + TCollection_AsciiString aParam = aParams.Token(":",1); + while( aParam.Length() != 0 ) { + aParam = aParams.Token(":",n); + if(theStudy->IsVariable(aParam.ToCString())){ + aVars+=aParam; + nbVars++; + } + if(aParam.Length() == 0) + break; + aVars+=":"; + n++; + } + aVars.Remove(aVars.Length(),1); + if(nbVars > 0 ) { + anAttr = aStudyBuilder->FindOrCreateAttribute(aResultSO, "AttributeString"); + SALOMEDS::AttributeString_var aStringAttrib = SALOMEDS::AttributeString::_narrow(anAttr); + aStringAttrib->SetValue(aVars.ToCString()); + } + } //Set a name of the GEOM object aShape->SetName(theName);