Salome HOME
NPAL14803 Colors in MED Save&Reload presistance
[modules/smesh.git] / src / DriverMED / DriverMED_R_SMESHDS_Mesh.cxx
index e500ed3ade57f9743d8b19250ebc55a6ba48a606..ed6c28b97269a33c70802a7c57d06bcdf0f8a7ab 100644 (file)
@@ -113,10 +113,19 @@ DriverMED_R_SMESHDS_Mesh
            
             TInt aNbGrp = aFamilyInfo->GetNbGroup();
             if(MYDEBUG) MESSAGE("belong to " << aNbGrp << " groups");
+           bool isAttrOk = false;
+           if(aFamilyInfo->GetNbAttr() == aNbGrp)
+             isAttrOk = true;
             for (TInt iGr = 0; iGr < aNbGrp; iGr++) {
               string aGroupName = aFamilyInfo->GetGroupName(iGr);
+              if(isAttrOk){
+               TInt anAttrVal = aFamilyInfo->GetAttrVal(iGr);
+               aFamily->SetGroupAttributVal(anAttrVal);
+             }
+             
               if(MYDEBUG) MESSAGE(aGroupName);
               aFamily->AddGroupName(aGroupName);
+             
             }
             aFamily->SetId( aFamId );
             myFamilies[aFamId] = aFamily;
@@ -793,6 +802,9 @@ void DriverMED_R_SMESHDS_Mesh::GetGroup(SMESHDS_Group* theGroup)
       {
         element = *anElemsIter;
        theGroup->SMDSGroup().Add(element);
+       int aGroupAttrVal = aFamily->GetGroupAttributVal();
+       if( aGroupAttrVal != 0)
+         theGroup->SetColorGroup(aGroupAttrVal);
       }
       if ( element )
         theGroup->SetType( theGroup->SMDSGroup().GetType() );