- if( !face->IsQuadratic() ) {
- while ( nodeIt->more() ) {
- const SMDS_MeshNode* node = static_cast<const SMDS_MeshNode*>( nodeIt->next() );
- aContour->Append(gp_Pnt(node->X(), node->Y(), node->Z()));
- }
- }
- else {
- int nn = 0;
- while ( nodeIt->more() ) {
- nn++;
- const SMDS_MeshNode* node = static_cast<const SMDS_MeshNode*>( nodeIt->next() );
- aContour->Append(gp_Pnt(node->X(), node->Y(), node->Z()));
- if(nn==face->NbNodes()/2) break;
- }
+ int nbN = face->NbNodes();
+ if( face->IsQuadratic() )
+ nbN /= 2;
+ for ( int i = 0; i < nbN; ++i ) {
+ const SMDS_MeshNode* node = static_cast<const SMDS_MeshNode*>( nodeIt->next() );
+ aContour->Append(gp_Pnt(node->X(), node->Y(), node->Z()));