- int nbNotSupported = ( nbElems[ SMESH::Entity_Pyramid ] +
- nbElems[ SMESH::Entity_Quad_Pyramid ] +
- nbElems[ SMESH::Entity_Hexagonal_Prism ] +
- nbElems[ SMESH::Entity_Polygon ] +
- nbElems[ SMESH::Entity_Polyhedra ] );
- if ( nbNotSupported > 0 ) {
- int aRet = SUIT_MessageBox::warning
- (SMESHGUI::desktop(),
- QObject::tr("SMESH_WRN_WARNING"),
- QObject::tr("SMESH_EXPORT_UNV").arg(aMeshName),
- QObject::tr("SMESH_BUT_YES"),
- QObject::tr("SMESH_BUT_NO"), 0, 1);
- if (aRet != 0)
- return;
+ for ( size_t iType = 0; iType < notSupportedElemTypes.size(); ++iType )
+ if ( nbElems[ notSupportedElemTypes[ iType ]] > 0 )
+ presentNotSupported.push_back( notSupportedElemTypes[ iType ]);
+ }
+ if ( !presentNotSupported.empty() )
+ {
+ QString typeNames;
+ const char* typeMsg[SMESH::Entity_Last] = { "SMESH_NODES",
+ "SMESH_ELEMS0D","SMESH_EDGES","SMESH_QUADRATIC_EDGES","SMESH_TRIANGLES",
+ "SMESH_QUADRATIC_TRIANGLES","SMESH_QUADRANGLES","SMESH_QUADRATIC_QUADRANGLES",
+ "SMESH_BIQUADRATIC_QUADRANGLES","SMESH_POLYGONS","SMESH_QUADRATIC_POLYGONS",
+ "SMESH_TETRAHEDRA","SMESH_QUADRATIC_TETRAHEDRONS","SMESH_PYRAMIDS",
+ "SMESH_QUADRATIC_PYRAMIDS","SMESH_HEXAHEDRA","SMESH_QUADRATIC_HEXAHEDRONS",
+ "SMESH_TRIQUADRATIC_HEXAHEDRONS","SMESH_PENTAHEDRA","SMESH_QUADRATIC_PENTAHEDRONS",
+ "SMESH_OCTAHEDRA","SMESH_POLYEDRONS","SMESH_QUADRATIC_POLYEDRONS","SMESH_BALLS"
+ };
+ QString andStr = " " + QObject::tr("SMESH_AND") + " ", comma(", ");
+ for ( size_t iType = 0; iType < presentNotSupported.size(); ++iType ) {
+ typeNames += QObject::tr( typeMsg[ presentNotSupported[ iType ]]);
+ if ( iType != presentNotSupported.size() - 1 )
+ typeNames += ( iType == presentNotSupported.size() - 2 ) ? andStr : comma;