- if ( elem->IsPoly() )
- fprintf(aFileId, "%d %d ", elem->GetID(), 400+elem->NbNodes());
- else
- fprintf(aFileId, "%d %d ", elem->GetID(), 200+elem->NbNodes());
- SMDS_ElemIteratorPtr it=elem->nodesIterator();
- while(it->more())
- fprintf(aFileId, "%d ", it->next()->GetID());
+
+ fprintf(aFileId, "%d %d ", num, (elem->IsPoly() ? 400 : 200 ) + elem->NbNodes() );
+
+ for( SMDS_ElemIteratorPtr it = elem->nodesIterator(); it->more(); )
+ {
+ int nodeID = it->next()->GetID();
+ if ( !nodeNumByID.empty() )
+ nodeID = nodeNumByID[ nodeID ];
+ fprintf(aFileId, "%d ", nodeID );
+ }