0020945: EDF 1465 SMESH: create a new mesh from a selected group or from selected elements

fix python dump and check of group type
This commit is contained in:
eap 2010-11-30 16:59:43 +00:00
parent 795b58c106
commit 2be2076415

View File

@ -2330,9 +2330,6 @@ SMESH::SMESH_Mesh_ptr SMESH_Gen_i::CopyMesh(SMESH::SMESH_IDSource_ptr meshPart,
int nbNewGroups = 0; int nbNewGroups = 0;
if ( toCopyGroups ) if ( toCopyGroups )
{ {
SMESH::ElementType* typesBeg = & srcElemTypes[0];
SMESH::ElementType* typesEnd = typesBeg+srcElemTypes->length();
SMESH_Mesh::GroupIteratorPtr gIt = srcMesh_i->GetImpl().GetGroups(); SMESH_Mesh::GroupIteratorPtr gIt = srcMesh_i->GetImpl().GetGroups();
while ( gIt->more() ) while ( gIt->more() )
{ {
@ -2342,7 +2339,7 @@ SMESH::SMESH_Mesh_ptr SMESH_Gen_i::CopyMesh(SMESH::SMESH_IDSource_ptr meshPart,
// Check group type. We copy nodal groups containing nodes of copied element // Check group type. We copy nodal groups containing nodes of copied element
SMDSAbs_ElementType groupType = groupDS->GetType(); SMDSAbs_ElementType groupType = groupDS->GetType();
if ( groupType != SMDSAbs_Node && if ( groupType != SMDSAbs_Node &&
std::find( typesBeg, typesEnd, groupType ) == typesEnd ) newMeshDS->GetMeshInfo().NbElements( groupType ) == 0 )
continue; // group type differs from types of meshPart continue; // group type differs from types of meshPart
// Find copied elements in the group // Find copied elements in the group
@ -2399,6 +2396,7 @@ SMESH::SMESH_Mesh_ptr SMESH_Gen_i::CopyMesh(SMESH::SMESH_IDSource_ptr meshPart,
*pyDump << newMesh << " = " << this *pyDump << newMesh << " = " << this
<< ".CopyMesh( " << meshPart << ", " << ".CopyMesh( " << meshPart << ", "
<< "'" << meshName << "', "
<< toCopyGroups << ", " << toCopyGroups << ", "
<< toKeepIDs << ")"; << toKeepIDs << ")";