- aStr << myId;
- aValue = aStr.str();
- MED::TStringVector anAttrDescs (1, ""); // 1 attribute with empty description,
- MED::TIntVector anAttrIds (1, myId); // Id=0,
- MED::TIntVector anAttrVals (1, myId); // Value=0
-
- MEDA::PFamilyInfo anInfo = MEDA::TWrapper::CrFamilyInfo(theMeshInfo,
- aValue,
- myId,
- myGroupNames,
- anAttrDescs,anAttrIds,anAttrVals);
+ aStr << "FAM_" << myId;
+ set<string>::const_iterator aGrIter = myGroupNames.begin();
+ for(; aGrIter != myGroupNames.end(); aGrIter++){
+ aStr << "_" << *aGrIter;
+ }
+ string aValue = aStr.str();
+ // PAL19785,0019867 - med forbids whitespace to be the last char in the name
+ int maxSize;
+ //if ( theWrapper->GetVersion() == MED::eV2_1 )
+ // maxSize = MED::GetNOMLength<MED::eV2_1>();
+ //else
+ maxSize = MED::GetNOMLength<MED::eV2_2>();
+ int lastCharPos = min( maxSize, (int) aValue.size() ) - 1;
+ while ( isspace( aValue[ lastCharPos ] ))
+ aValue.resize( lastCharPos-- );
+
+ MED::PFamilyInfo anInfo;
+ if(myId == 0 || myGroupAttributVal == 0){
+ anInfo = theWrapper->CrFamilyInfo(theMeshInfo,
+ aValue,
+ myId,
+ myGroupNames);
+ }else{
+ MED::TStringVector anAttrDescs (1, ""); // 1 attribute with empty description,
+ MED::TIntVector anAttrIds (1, myId); // Id=0,
+ MED::TIntVector anAttrVals (1, myGroupAttributVal);
+ anInfo = theWrapper->CrFamilyInfo(theMeshInfo,
+ aValue,
+ myId,
+ myGroupNames,
+ anAttrDescs,
+ anAttrIds,
+ anAttrVals);
+ }