- nodes[ i++ ] = face->GetNode( 0 );
- nodes[ i++ ] = face->GetNode( nbN-2 );
- nodes[ i++ ] = face->GetNode( nbN-1 );
+ case SMDSEntity_BiQuad_Triangle:
+ case SMDSEntity_BiQuad_Quadrangle:
+ nbTria = ( type == SMDSEntity_BiQuad_Triangle ) ? 6 : 8;
+ nodes[ i++ ] = face->GetNode( nbTria );
+ while ( i < 3*(nbTria-1) )
+ {
+ nodes[ i++ ] = nodes[ i-2 ];
+ nodes[ i++ ] = nIt->next();
+ nodes[ i++ ] = nodes[ 2 ];
+ }
+ nodes[ i++ ] = nodes[ i-2 ];
+ nodes[ i++ ] = nodes[ 0 ];
+ nodes[ i++ ] = nodes[ 2 ];
+ break;
+ default:
+ // case SMDSEntity_Triangle:
+ // case SMDSEntity_Quad_Triangle:
+ // case SMDSEntity_Quadrangle:
+ // case SMDSEntity_Quad_Quadrangle:
+ // case SMDSEntity_Polygon:
+ // case SMDSEntity_Quad_Polygon:
+ nbTria = face->NbNodes() - 2;
+ nodes[ i++ ] = nIt->next();
+ while ( i < 3*nbTria )
+ {
+ nodes[ i++ ] = nodes[ 0 ];
+ nodes[ i++ ] = nodes[ i-2 ];
+ nodes[ i++ ] = nIt->next();
+ }
+ break;