- switch ( newNodes.size() )
- {
- case 3:
- newFace = tgtMesh->AddFace( newNodes[0], newNodes[1], newNodes[2] );
- break;
- case 4:
- newFace = tgtMesh->AddFace( newNodes[0], newNodes[1], newNodes[2], newNodes[3] );
- break;
- case 6:
- newFace = tgtMesh->AddFace( newNodes[0], newNodes[1], newNodes[2],
- newNodes[3], newNodes[4], newNodes[5]);
- break;
- case 8:
- newFace = tgtMesh->AddFace( newNodes[0], newNodes[1], newNodes[2], newNodes[3],
- newNodes[4], newNodes[5], newNodes[6], newNodes[7]);
- break;
- default: continue;
- }
+ if ( face->IsPoly() )
+ newFace = tgtMesh->AddPolygonalFace( newNodes );
+ else
+ switch ( newNodes.size() )
+ {
+ case 3:
+ newFace = tgtMesh->AddFace( newNodes[0], newNodes[1], newNodes[2] );
+ break;
+ case 4:
+ newFace = tgtMesh->AddFace( newNodes[0], newNodes[1], newNodes[2], newNodes[3] );
+ break;
+ case 6:
+ newFace = tgtMesh->AddFace( newNodes[0], newNodes[1], newNodes[2],
+ newNodes[3], newNodes[4], newNodes[5]);
+ break;
+ case 8:
+ newFace = tgtMesh->AddFace( newNodes[0], newNodes[1], newNodes[2], newNodes[3],
+ newNodes[4], newNodes[5], newNodes[6], newNodes[7]);
+ break;
+ default: continue;
+ }