// choose a TElem2IDMap
TElem2IDMap* elem2IDMap = 0;
- if ( smdsEntity == SMDSEntity_Quadrangle &&
- myMesh->GetMeshInfo().NbEntities( smdsEntity ) != myMesh->NbFaces() )
+ if ( smdsEntity == SMDSEntity_Quadrangle && nbOkElems != myMesh->NbFaces() )
elem2IDMap = & quad2IDMap;
- else if ( smdsEntity == SMDSEntity_Triangle &&
- myMesh->GetMeshInfo().NbEntities( smdsEntity ) != myMesh->NbFaces() )
+ else if ( smdsEntity == SMDSEntity_Triangle && nbOkElems != myMesh->NbFaces() )
elem2IDMap = & tria2IDMap;
- else if ( smdsEntity == SMDSEntity_Edge &&
- myMesh->GetMeshInfo().NbEntities( smdsEntity ) != myMesh->NbEdges() )
+ else if ( smdsEntity == SMDSEntity_Edge && nbOkElems != myMesh->NbEdges() )
elem2IDMap = & edge2IDMap;
// write the group
GmfSetKwd( meshID, gmfKwd, nbOkElems );
+ elemIt = group->GetElements();
if ( elem2IDMap )
- for ( elemIt = group->GetElements(); elemIt->more(); )
+ for ( ; elemIt->more(); )
{
const SMDS_MeshElement* elem = elemIt->next();
if ( elem->GetEntityType() == smdsEntity )
GmfSetLin( meshID, gmfKwd, (*elem2IDMap)[ elem ] );
}
else
- for ( elemIt = group->GetElements(); elemIt->more(); )
+ for ( int gmfID = 1; elemIt->more(); ++gmfID)
{
const SMDS_MeshElement* elem = elemIt->next();
if ( elem->GetEntityType() == smdsEntity )
- GmfSetLin( meshID, gmfKwd, elem->GetID() );
+ GmfSetLin( meshID, gmfKwd, gmfID );
}
} // loop on groups