X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FDriverMED%2FDriverMED_Family.cxx;h=f6d67ea597d72ee76eb19488b0b9f874c7c4bc52;hp=577879462120528b10274b8e62efa3e0c9e57275;hb=5d0b75d9d1a9935ec419e820e6dde45a665dd978;hpb=a17b36970bc61da1d664453c615754997c925b18 diff --git a/src/DriverMED/DriverMED_Family.cxx b/src/DriverMED/DriverMED_Family.cxx index 577879462..f6d67ea59 100644 --- a/src/DriverMED/DriverMED_Family.cxx +++ b/src/DriverMED/DriverMED_Family.cxx @@ -152,7 +152,8 @@ DriverMED_Family const bool doGroupOfFaces, const bool doGroupOfVolumes, const bool doGroupOf0DElems, - const bool doGroupOfBalls) + const bool doGroupOfBalls, + const bool doAllInGroups) { DriverMED_FamilyPtrList aFamilies; @@ -330,10 +331,38 @@ DriverMED_Family } DriverMED_FamilyPtr aNullFam (new DriverMED_Family); - aNullFam->SetId(0); + aNullFam->SetId( 0 ); aNullFam->myType = SMDSAbs_All; aFamilies.push_back(aNullFam); + if ( doAllInGroups ) + { + if ( !doGroupOfEdges ) + { + DriverMED_FamilyPtr aNigEdgeFam (new DriverMED_Family); + aNigEdgeFam->SetId( NIG_EDGES_FAMILY ); + aNigEdgeFam->myType = SMDSAbs_Edge; + aNigEdgeFam->myGroupNames.insert( NIG_GROUP_PREFIX "_EDGES" ); + aFamilies.push_back(aNigEdgeFam); + } + if ( !doGroupOfFaces ) + { + DriverMED_FamilyPtr aNigFaceFam (new DriverMED_Family); + aNigFaceFam->SetId( NIG_FACES_FAMILY ); + aNigFaceFam->myType = SMDSAbs_Face; + aNigFaceFam->myGroupNames.insert( NIG_GROUP_PREFIX "_FACES" ); + aFamilies.push_back(aNigFaceFam); + } + if ( !doGroupOfVolumes ) + { + DriverMED_FamilyPtr aNigVolFam (new DriverMED_Family); + aNigVolFam->SetId( NIG_VOLS_FAMILY ); + aNigVolFam->myType = SMDSAbs_Volume; + aNigVolFam->myGroupNames.insert( NIG_GROUP_PREFIX "_VOLS" ); + aFamilies.push_back(aNigVolFam); + } + } + return aFamilies; } @@ -342,7 +371,7 @@ DriverMED_Family * Create TFamilyInfo for this family */ //============================================================================= -MED::PFamilyInfo +MED::PFamilyInfo DriverMED_Family::GetFamilyInfo(const MED::PWrapper& theWrapper, const MED::PMeshInfo& theMeshInfo) const { @@ -445,9 +474,8 @@ void DriverMED_Family::Init (SMESHDS_GroupBase* theGroup) */ //============================================================================= DriverMED_FamilyPtrList -DriverMED_Family -::SplitByType (SMESHDS_SubMesh* theSubMesh, - const int theId) +DriverMED_Family::SplitByType (SMESHDS_SubMesh* theSubMesh, + const int theId) { DriverMED_FamilyPtrList aFamilies; DriverMED_FamilyPtr aNodesFamily (new DriverMED_Family);