Salome HOME
0022523: [CEA 1096] Add a colomn "biquadratic" in "Mesh Information"
authorimn <imn@opencascade.com>
Fri, 21 Mar 2014 16:58:45 +0000 (20:58 +0400)
committerimn <imn@opencascade.com>
Fri, 21 Mar 2014 16:58:45 +0000 (20:58 +0400)
src/SMESHGUI/SMESHGUI_ComputeDlg.cxx
src/SMESHGUI/SMESHGUI_MeshInfo.cxx
src/SMESHGUI/SMESHGUI_MeshInfo.h
src/SMESHGUI/SMESHGUI_MeshInfosBox.cxx
src/SMESHGUI/SMESHGUI_MeshInfosBox.h
src/SMESHGUI/SMESH_msg_en.ts
src/SMESHGUI/SMESH_msg_fr.ts
src/SMESHGUI/SMESH_msg_ja.ts

index 8c34abf..c052428 100644 (file)
@@ -619,8 +619,8 @@ QFrame* SMESHGUI_ComputeDlg::createMainFrame (QWidget* theParent, bool ForEval)
 
   // add all widgets to aFrame
   QVBoxLayout* aLay = new QVBoxLayout(aFrame);
-  aLay->setMargin( 0 );
-  aLay->setSpacing( 0 );
+  aLay->setMargin( MARGIN );
+  aLay->setSpacing( SPACING );
   aLay->addWidget( aPixGrp );
   aLay->addWidget( nameBox );
   aLay->addWidget( myBriefInfo );
index d040c01..c67112d 100644 (file)
@@ -246,20 +246,22 @@ SMESHGUI_MeshInfo::SMESHGUI_MeshInfo( QWidget* parent )
 
   // elements
   QWidget* aElemLine   = createLine();
-  QLabel*  aElemLab    = new QLabel( tr( "ELEMENTS_LAB" ),  this );
-  QLabel*  aElemTotal  = new QLabel( tr( "TOTAL_LAB" ),     this );
-  QLabel*  aElemLin    = new QLabel( tr( "LINEAR_LAB" ),    this );
-  QLabel*  aElemQuad   = new QLabel( tr( "QUADRATIC_LAB" ), this );
+  QLabel*  aElemLab    = new QLabel( tr( "ELEMENTS_LAB" ),     this );
+  QLabel*  aElemTotal  = new QLabel( tr( "TOTAL_LAB" ),        this );
+  QLabel*  aElemLin    = new QLabel( tr( "LINEAR_LAB" ),       this );
+  QLabel*  aElemQuad   = new QLabel( tr( "QUADRATIC_LAB" ),    this );
+  QLabel*  aElemBiQuad = new QLabel( tr( "BI_QUADRATIC_LAB" ), this );
   myWidgets[ index++ ] << aElemLine;
-  myWidgets[ index++ ] << aElemLab << aElemTotal << aElemLin << aElemQuad;
+  myWidgets[ index++ ] << aElemLab << aElemTotal << aElemLin << aElemQuad << aElemBiQuad;
 
   // ... Number elements
   QWidget* aNbLine     = createLine(); 
   QLabel*  aNbTotal    = createField();
   QLabel*  aNbLin      = createField();
   QLabel*  aNbQuad     = createField();
+  QLabel*  aNbBiQuad   = createField();
   myWidgets[ index++ ] << aNbLine;
-  myWidgets[ index++ ] << new QLabel( "", this ) << aNbTotal << aNbLin << aNbQuad;
+  myWidgets[ index++ ] << new QLabel( "", this ) << aNbTotal << aNbLin << aNbQuad << aNbBiQuad;
 
   // ... 0D elements
   QWidget* a0DLine     = createLine();
@@ -285,57 +287,62 @@ SMESHGUI_MeshInfo::SMESHGUI_MeshInfo( QWidget* parent )
   myWidgets[ index++ ] << a1DLab << a1DTotal << a1DLin << a1DQuad;
 
   // ... 2D elements
-  QWidget* a2DLine     = createLine();
-  QLabel*  a2DLab      = new QLabel( tr( "2D_LAB" ), this );
-  QLabel*  a2DTotal    = createField();
-  QLabel*  a2DLin      = createField();
-  QLabel*  a2DQuad     = createField();
-  QLabel*  a2DTriLab   = new QLabel( tr( "TRIANGLES_LAB" ), this );
-  QLabel*  a2DTriTotal = createField();
-  QLabel*  a2DTriLin   = createField();
-  QLabel*  a2DTriQuad  = createField();
-  QLabel*  a2DQuaLab   = new QLabel( tr( "QUADRANGLES_LAB" ), this );
-  QLabel*  a2DQuaTotal = createField();
-  QLabel*  a2DQuaLin   = createField();
-  QLabel*  a2DQuaQuad  = createField();
-  QLabel*  a2DPolLab   = new QLabel( tr( "POLYGONS_LAB" ), this );
-  QLabel*  a2DPolTotal = createField();
+  QWidget* a2DLine      = createLine();
+  QLabel*  a2DLab       = new QLabel( tr( "2D_LAB" ), this );
+  QLabel*  a2DTotal     = createField();
+  QLabel*  a2DLin       = createField();
+  QLabel*  a2DQuad      = createField();
+  QLabel*  a2DBiQuad    = createField();
+  QLabel*  a2DTriLab    = new QLabel( tr( "TRIANGLES_LAB" ), this );
+  QLabel*  a2DTriTotal  = createField();
+  QLabel*  a2DTriLin    = createField();
+  QLabel*  a2DTriQuad   = createField();
+  QLabel*  a2DTriBiQuad = createField();
+  QLabel*  a2DQuaLab    = new QLabel( tr( "QUADRANGLES_LAB" ), this );
+  QLabel*  a2DQuaTotal  = createField();
+  QLabel*  a2DQuaLin    = createField();
+  QLabel*  a2DQuaQuad   = createField();
+  QLabel*  a2DQuaBiQuad = createField();
+  QLabel*  a2DPolLab    = new QLabel( tr( "POLYGONS_LAB" ), this );
+  QLabel*  a2DPolTotal  = createField();
   myWidgets[ index++ ] << a2DLine;
-  myWidgets[ index++ ] << a2DLab    << a2DTotal    << a2DLin    << a2DQuad;
-  myWidgets[ index++ ] << a2DTriLab << a2DTriTotal << a2DTriLin << a2DTriQuad;
-  myWidgets[ index++ ] << a2DQuaLab << a2DQuaTotal << a2DQuaLin << a2DQuaQuad;
+  myWidgets[ index++ ] << a2DLab    << a2DTotal    << a2DLin    << a2DQuad    << a2DBiQuad;
+  myWidgets[ index++ ] << a2DTriLab << a2DTriTotal << a2DTriLin << a2DTriQuad << a2DTriBiQuad;
+  myWidgets[ index++ ] << a2DQuaLab << a2DQuaTotal << a2DQuaLin << a2DQuaQuad << a2DQuaBiQuad;
   myWidgets[ index++ ] << a2DPolLab << a2DPolTotal;
 
   // ... 3D elements
-  QWidget* a3DLine     = createLine();
-  QLabel*  a3DLab      = new QLabel( tr( "3D_LAB" ), this );
-  QLabel*  a3DTotal    = createField();
-  QLabel*  a3DLin      = createField();
-  QLabel*  a3DQuad     = createField();
-  QLabel*  a3DTetLab   = new QLabel( tr( "TETRAHEDRONS_LAB" ), this );
-  QLabel*  a3DTetTotal = createField();
-  QLabel*  a3DTetLin   = createField();
-  QLabel*  a3DTetQuad  = createField();
-  QLabel*  a3DHexLab   = new QLabel( tr( "HEXAHEDONRS_LAB" ), this );
-  QLabel*  a3DHexTotal = createField();
-  QLabel*  a3DHexLin   = createField();
-  QLabel*  a3DHexQuad  = createField();
-  QLabel*  a3DPyrLab   = new QLabel( tr( "PYRAMIDS_LAB" ), this );
-  QLabel*  a3DPyrTotal = createField();
-  QLabel*  a3DPyrLin   = createField();
-  QLabel*  a3DPyrQuad  = createField();
-  QLabel*  a3DPriLab   = new QLabel( tr( "PRISMS_LAB" ), this );
-  QLabel*  a3DPriTotal = createField();
-  QLabel*  a3DPriLin   = createField();
-  QLabel*  a3DPriQuad  = createField();
+  QWidget* a3DLine      = createLine();
+  QLabel*  a3DLab       = new QLabel( tr( "3D_LAB" ), this );
+  QLabel*  a3DTotal     = createField();
+  QLabel*  a3DLin       = createField();
+  QLabel*  a3DQuad      = createField();
+  QLabel*  a3DBiQuad    = createField();
+  QLabel*  a3DTetLab    = new QLabel( tr( "TETRAHEDRONS_LAB" ), this );
+  QLabel*  a3DTetTotal  = createField();
+  QLabel*  a3DTetLin    = createField();
+  QLabel*  a3DTetQuad   = createField();
+  QLabel*  a3DHexLab    = new QLabel( tr( "HEXAHEDONRS_LAB" ), this );
+  QLabel*  a3DHexTotal  = createField();
+  QLabel*  a3DHexLin    = createField();
+  QLabel*  a3DHexQuad   = createField();
+  QLabel*  a3DHexBiQuad = createField();
+  QLabel*  a3DPyrLab    = new QLabel( tr( "PYRAMIDS_LAB" ), this );
+  QLabel*  a3DPyrTotal  = createField();
+  QLabel*  a3DPyrLin    = createField();
+  QLabel*  a3DPyrQuad   = createField();
+  QLabel*  a3DPriLab    = new QLabel( tr( "PRISMS_LAB" ), this );
+  QLabel*  a3DPriTotal  = createField();
+  QLabel*  a3DPriLin    = createField();
+  QLabel*  a3DPriQuad   = createField();
   QLabel*  a3DHexPriLab   = new QLabel( tr( "HEX_PRISMS_LAB" ), this );
   QLabel*  a3DHexPriTotal = createField();
-  QLabel*  a3DPolLab   = new QLabel( tr( "POLYHEDRONS_LAB" ), this );
-  QLabel*  a3DPolTotal = createField();
+  QLabel*  a3DPolLab    = new QLabel( tr( "POLYHEDRONS_LAB" ), this );
+  QLabel*  a3DPolTotal  = createField();
   myWidgets[ index++ ] << a3DLine;
-  myWidgets[ index++ ] << a3DLab    << a3DTotal    << a3DLin    << a3DQuad;
+  myWidgets[ index++ ] << a3DLab    << a3DTotal    << a3DLin    << a3DQuad    << a3DBiQuad;
   myWidgets[ index++ ] << a3DTetLab << a3DTetTotal << a3DTetLin << a3DTetQuad;
-  myWidgets[ index++ ] << a3DHexLab << a3DHexTotal << a3DHexLin << a3DHexQuad;
+  myWidgets[ index++ ] << a3DHexLab << a3DHexTotal << a3DHexLin << a3DHexQuad << a3DHexBiQuad;
   myWidgets[ index++ ] << a3DPyrLab << a3DPyrTotal << a3DPyrLin << a3DPyrQuad;
   myWidgets[ index++ ] << a3DPriLab << a3DPriTotal << a3DPriLin << a3DPriQuad;
   myWidgets[ index++ ] << a3DHexPriLab << a3DHexPriTotal;
@@ -345,92 +352,101 @@ SMESHGUI_MeshInfo::SMESHGUI_MeshInfo( QWidget* parent )
   myLoadBtn->setAutoDefault( true );
   connect( myLoadBtn, SIGNAL( clicked() ), this, SLOT( loadMesh() ) );
   
-  setFontAttributes( aNameLab,   Bold );
-  setFontAttributes( aObjLab,    Bold );
-  setFontAttributes( aNodesLab,  Bold );
-  setFontAttributes( aElemLab,   Bold );
-  setFontAttributes( aElemTotal, Italic );
-  setFontAttributes( aElemLin,   Italic );
-  setFontAttributes( aElemQuad,  Italic );
-  setFontAttributes( a0DLab,     Bold );
-  setFontAttributes( aBallLab,     Bold );
-  setFontAttributes( a1DLab,     Bold );
-  setFontAttributes( a2DLab,     Bold );
-  setFontAttributes( a3DLab,     Bold );
+  setFontAttributes( aNameLab,    Bold );
+  setFontAttributes( aObjLab,     Bold );
+  setFontAttributes( aNodesLab,   Bold );
+  setFontAttributes( aElemLab,    Bold );
+  setFontAttributes( aElemTotal,  Italic );
+  setFontAttributes( aElemLin,    Italic );
+  setFontAttributes( aElemQuad,   Italic );
+  setFontAttributes( aElemBiQuad, Italic );
+  setFontAttributes( a0DLab,      Bold );
+  setFontAttributes( aBallLab,    Bold );
+  setFontAttributes( a1DLab,      Bold );
+  setFontAttributes( a2DLab,      Bold );
+  setFontAttributes( a3DLab,      Bold );
 
   l->addWidget( aNameLab,     0, 0 );
-  l->addWidget( aName,        0, 1, 1, 3 );
+  l->addWidget( aName,        0, 1, 1, 4 );
   l->addWidget( aObjLab,      1, 0 );
-  l->addWidget( aObj,         1, 1, 1, 3 );
-  l->addWidget( aNodesLine,   2, 0, 1, 4 );
+  l->addWidget( aObj,         1, 1, 1, 4 );
+  l->addWidget( aNodesLine,   2, 0, 1, 5 );
   l->addWidget( aNodesLab,    3, 0 );
   l->addWidget( aNodes,       3, 1 );
-  l->addWidget( aElemLine,    4, 0, 1, 4 );
+  l->addWidget( aElemLine,    4, 0, 1, 5 );
   l->addWidget( aElemLab,     5, 0 );
   l->addWidget( aElemTotal,   5, 1 );
   l->addWidget( aElemLin,     5, 2 );
   l->addWidget( aElemQuad,    5, 3 );
-  l->addWidget( aNbLine,      6, 1, 1, 3 );
+  l->addWidget( aElemBiQuad,  5, 4 );
+  l->addWidget( aNbLine,      6, 1, 1, 4 );
   l->addWidget( aNbTotal,     7, 1 );
   l->addWidget( aNbLin,       7, 2 );
   l->addWidget( aNbQuad,      7, 3 );
-  l->addWidget( a0DLine,      8, 1, 1, 3 );
+  l->addWidget( aNbBiQuad,    7, 4 );
+  l->addWidget( a0DLine,      8, 1, 1, 4 );
   l->addWidget( a0DLab,       9, 0 );
   l->addWidget( a0DTotal,     9, 1 );
-  l->addWidget( aBallLine,    10, 1, 1, 3 );
+  l->addWidget( aBallLine,    10, 1, 1, 4 );
   l->addWidget( aBallLab,     11, 0 );
   l->addWidget( aBallTotal,   11, 1 );
-  l->addWidget( a1DLine,      12, 1, 1, 3 );
+  l->addWidget( a1DLine,      12, 1, 1, 4 );
   l->addWidget( a1DLab,       13, 0 );
   l->addWidget( a1DTotal,     13, 1 );
   l->addWidget( a1DLin,       13, 2 );
   l->addWidget( a1DQuad,      13, 3 );
-  l->addWidget( a2DLine,     14, 1, 1, 3 );
-  l->addWidget( a2DLab,      15, 0 );
-  l->addWidget( a2DTotal,    15, 1 );
-  l->addWidget( a2DLin,      15, 2 );
-  l->addWidget( a2DQuad,     15, 3 );
-  l->addWidget( a2DTriLab,   16, 0 );
-  l->addWidget( a2DTriTotal, 16, 1 );
-  l->addWidget( a2DTriLin,   16, 2 );
-  l->addWidget( a2DTriQuad,  16, 3 );
-  l->addWidget( a2DQuaLab,   17, 0 );
-  l->addWidget( a2DQuaTotal, 17, 1 );
-  l->addWidget( a2DQuaLin,   17, 2 );
-  l->addWidget( a2DQuaQuad,  17, 3 );
-  l->addWidget( a2DPolLab,   18, 0 );
-  l->addWidget( a2DPolTotal, 18, 1 );
-  l->addWidget( a3DLine,     19, 1, 1, 3 );
-  l->addWidget( a3DLab,      20, 0 );
-  l->addWidget( a3DTotal,    20, 1 );
-  l->addWidget( a3DLin,      20, 2 );
-  l->addWidget( a3DQuad,     20, 3 );
-  l->addWidget( a3DTetLab,   21, 0 );
-  l->addWidget( a3DTetTotal, 21, 1 );
-  l->addWidget( a3DTetLin,   21, 2 );
-  l->addWidget( a3DTetQuad,  21, 3 );
-  l->addWidget( a3DHexLab,   22, 0 );
-  l->addWidget( a3DHexTotal, 22, 1 );
-  l->addWidget( a3DHexLin,   22, 2 );
-  l->addWidget( a3DHexQuad,  22, 3 );
-  l->addWidget( a3DPyrLab,   23, 0 );
-  l->addWidget( a3DPyrTotal, 23, 1 );
-  l->addWidget( a3DPyrLin,   23, 2 );
-  l->addWidget( a3DPyrQuad,  23, 3 );
-  l->addWidget( a3DPriLab,   24, 0 );
-  l->addWidget( a3DPriTotal, 24, 1 );
-  l->addWidget( a3DPriLin,   24, 2 );
-  l->addWidget( a3DPriQuad,  24, 3 );
+  l->addWidget( a2DLine,      14, 1, 1, 4 );
+  l->addWidget( a2DLab,       15, 0 );
+  l->addWidget( a2DTotal,     15, 1 );
+  l->addWidget( a2DLin,       15, 2 );
+  l->addWidget( a2DQuad,      15, 3 );
+  l->addWidget( a2DBiQuad,    15, 4 );
+  l->addWidget( a2DTriLab,    16, 0 );
+  l->addWidget( a2DTriTotal,  16, 1 );
+  l->addWidget( a2DTriLin,    16, 2 );
+  l->addWidget( a2DTriQuad,   16, 3 );
+  l->addWidget( a2DTriBiQuad, 16, 4 );
+  l->addWidget( a2DQuaLab,    17, 0 );
+  l->addWidget( a2DQuaTotal,  17, 1 );
+  l->addWidget( a2DQuaLin,    17, 2 );
+  l->addWidget( a2DQuaQuad,   17, 3 );
+  l->addWidget( a2DQuaBiQuad, 17, 4 );
+  l->addWidget( a2DPolLab,    18, 0 );
+  l->addWidget( a2DPolTotal,  18, 1 );
+  l->addWidget( a3DLine,      19, 1, 1, 4 );
+  l->addWidget( a3DLab,       20, 0 );
+  l->addWidget( a3DTotal,     20, 1 );
+  l->addWidget( a3DLin,       20, 2 );
+  l->addWidget( a3DQuad,      20, 3 );
+  l->addWidget( a3DBiQuad,    20, 4 );
+  l->addWidget( a3DTetLab,    21, 0 );
+  l->addWidget( a3DTetTotal,  21, 1 );
+  l->addWidget( a3DTetLin,    21, 2 );
+  l->addWidget( a3DTetQuad,   21, 3 );
+  l->addWidget( a3DHexLab,    22, 0 );
+  l->addWidget( a3DHexTotal,  22, 1 );
+  l->addWidget( a3DHexLin,    22, 2 );
+  l->addWidget( a3DHexQuad,   22, 3 );
+  l->addWidget( a3DHexBiQuad, 22, 4 );
+  l->addWidget( a3DPyrLab,    23, 0 );
+  l->addWidget( a3DPyrTotal,  23, 1 );
+  l->addWidget( a3DPyrLin,    23, 2 );
+  l->addWidget( a3DPyrQuad,   23, 3 );
+  l->addWidget( a3DPriLab,    24, 0 );
+  l->addWidget( a3DPriTotal,  24, 1 );
+  l->addWidget( a3DPriLin,    24, 2 );
+  l->addWidget( a3DPriQuad,   24, 3 );
   l->addWidget( a3DHexPriLab,   25, 0 );
   l->addWidget( a3DHexPriTotal, 25, 1 );
-  l->addWidget( a3DPolLab,   26, 0 );
-  l->addWidget( a3DPolTotal, 26, 1 ); 
-  l->addWidget( myLoadBtn,   28, 1, 1, 3 );
+  l->addWidget( a3DPolLab,    26, 0 );
+  l->addWidget( a3DPolTotal,  26, 1 );
+  l->addWidget( myLoadBtn,    28, 1, 1, 4 );
 
   l->setColumnStretch( 0, 0 );
   l->setColumnStretch( 1, 5 );
   l->setColumnStretch( 2, 5 );
   l->setColumnStretch( 3, 5 );
+  l->setColumnStretch( 4, 5 );
   l->setRowStretch( 27, 5 );
 
   clear();
@@ -484,49 +500,59 @@ void SMESHGUI_MeshInfo::showInfo( SMESH::SMESH_IDSource_ptr obj )
     myWidgets[i1D][iTotal]    ->setProperty( "text", QString::number( nbEdges ) );
     myWidgets[i1D][iLinear]   ->setProperty( "text", QString::number( info[SMDSEntity_Edge] ) );
     myWidgets[i1D][iQuadratic]->setProperty( "text", QString::number( info[SMDSEntity_Quad_Edge] ) );
-    long nbTriangles   = info[SMDSEntity_Triangle]   + info[SMDSEntity_Quad_Triangle]   + info[SMDSEntity_BiQuad_Triangle];
-    long nbQuadrangles = info[SMDSEntity_Quadrangle] + info[SMDSEntity_Quad_Quadrangle] + info[SMDSEntity_BiQuad_Quadrangle];
-    long nb2DLinear    = info[SMDSEntity_Triangle] + info[SMDSEntity_Quadrangle] + info[SMDSEntity_Polygon];
-    long nb2DQuadratic = info[SMDSEntity_Quad_Triangle] + info[SMDSEntity_BiQuad_Triangle] + info[SMDSEntity_Quad_Quadrangle] + info[SMDSEntity_BiQuad_Quadrangle];
-    myWidgets[i2D][iTotal]               ->setProperty( "text", QString::number( nb2DLinear + nb2DQuadratic ));
-    myWidgets[i2D][iLinear]              ->setProperty( "text", QString::number( nb2DLinear ) );
-    myWidgets[i2D][iQuadratic]           ->setProperty( "text", QString::number( nb2DQuadratic ) );
-    myWidgets[i2DTriangles][iTotal]      ->setProperty( "text", QString::number( nbTriangles ) );
-    myWidgets[i2DTriangles][iLinear]     ->setProperty( "text", QString::number( info[SMDSEntity_Triangle] ) );
-    myWidgets[i2DTriangles][iQuadratic]  ->setProperty( "text", QString::number( info[SMDSEntity_Quad_Triangle] + info[SMDSEntity_BiQuad_Triangle]) );
-    myWidgets[i2DQuadrangles][iTotal]    ->setProperty( "text", QString::number( nbQuadrangles ) );
-    myWidgets[i2DQuadrangles][iLinear]   ->setProperty( "text", QString::number( info[SMDSEntity_Quadrangle] ) );
-    myWidgets[i2DQuadrangles][iQuadratic]->setProperty( "text", QString::number( info[SMDSEntity_Quad_Quadrangle] + info[SMDSEntity_BiQuad_Quadrangle] ));
-    myWidgets[i2DPolygons][iTotal]       ->setProperty( "text", QString::number( info[SMDSEntity_Polygon] ) );
-    long nbTetrahedrons = info[SMDSEntity_Tetra]   + info[SMDSEntity_Quad_Tetra];
-    long nbHexahedrons  = info[SMDSEntity_Hexa]    + info[SMDSEntity_Quad_Hexa] + info[SMDSEntity_TriQuad_Hexa];
-    long nbPyramids     = info[SMDSEntity_Pyramid] + info[SMDSEntity_Quad_Pyramid];
-    long nbPrisms       = info[SMDSEntity_Penta]   + info[SMDSEntity_Quad_Penta];
-    long nb3DLinear     = info[SMDSEntity_Tetra] + info[SMDSEntity_Hexa] + info[SMDSEntity_Pyramid] + info[SMDSEntity_Penta] + info[SMDSEntity_Polyhedra] + info[SMDSEntity_Hexagonal_Prism];
-    long nb3DQuadratic  = info[SMDSEntity_Quad_Tetra] + info[SMDSEntity_Quad_Hexa] + info[SMDSEntity_TriQuad_Hexa] + info[SMDSEntity_Quad_Pyramid] + info[SMDSEntity_Quad_Penta];
-    myWidgets[i3D][iTotal]                ->setProperty( "text", QString::number( nb3DLinear + nb3DQuadratic ) );
-    myWidgets[i3D][iLinear]               ->setProperty( "text", QString::number( nb3DLinear ) );
-    myWidgets[i3D][iQuadratic]            ->setProperty( "text", QString::number( nb3DQuadratic ) );
-    myWidgets[i3DTetrahedrons][iTotal]    ->setProperty( "text", QString::number( nbTetrahedrons ) );
-    myWidgets[i3DTetrahedrons][iLinear]   ->setProperty( "text", QString::number( info[SMDSEntity_Tetra] ) );
-    myWidgets[i3DTetrahedrons][iQuadratic]->setProperty( "text", QString::number( info[SMDSEntity_Quad_Tetra] ) );
-    myWidgets[i3DHexahedrons][iTotal]     ->setProperty( "text", QString::number( nbHexahedrons ) );
-    myWidgets[i3DHexahedrons][iLinear]    ->setProperty( "text", QString::number( info[SMDSEntity_Hexa] ) );
-    myWidgets[i3DHexahedrons][iQuadratic] ->setProperty( "text", QString::number( info[SMDSEntity_Quad_Hexa] + info[SMDSEntity_TriQuad_Hexa] ) );
-    myWidgets[i3DPyramids][iTotal]        ->setProperty( "text", QString::number( nbPyramids ) );
-    myWidgets[i3DPyramids][iLinear]       ->setProperty( "text", QString::number( info[SMDSEntity_Pyramid] ) );
-    myWidgets[i3DPyramids][iQuadratic]    ->setProperty( "text", QString::number( info[SMDSEntity_Quad_Pyramid] ) );
-    myWidgets[i3DPrisms][iTotal]          ->setProperty( "text", QString::number( nbPrisms ) );
-    myWidgets[i3DPrisms][iLinear]         ->setProperty( "text", QString::number( info[SMDSEntity_Penta] ) );
-    myWidgets[i3DPrisms][iQuadratic]      ->setProperty( "text", QString::number( info[SMDSEntity_Quad_Penta] ) );
-    myWidgets[i3DHexaPrisms][iTotal]      ->setProperty( "text", QString::number( info[SMDSEntity_Hexagonal_Prism] ) );
-    myWidgets[i3DPolyhedrons][iTotal]     ->setProperty( "text", QString::number( info[SMDSEntity_Polyhedra] ) );
-    long nbElemTotal     = info[SMDSEntity_0D] + info[SMDSEntity_Ball] + nbEdges + nb2DLinear + nb2DQuadratic + nb3DLinear + nb3DQuadratic;
-    long nbElemLinerial  = info[SMDSEntity_Edge] + nb2DLinear + nb3DLinear;
-    long nbElemQuadratic = info[SMDSEntity_Quad_Edge] + nb2DQuadratic + nb3DQuadratic;
-    myWidgets[iNb][iTotal]    ->setProperty( "text", QString::number( nbElemTotal ) );
-    myWidgets[iNb][iLinear]   ->setProperty( "text", QString::number( nbElemLinerial ) );
-    myWidgets[iNb][iQuadratic]->setProperty( "text", QString::number( nbElemQuadratic ) );
+    long nbTriangles     = info[SMDSEntity_Triangle]   + info[SMDSEntity_Quad_Triangle]   + info[SMDSEntity_BiQuad_Triangle];
+    long nbQuadrangles   = info[SMDSEntity_Quadrangle] + info[SMDSEntity_Quad_Quadrangle] + info[SMDSEntity_BiQuad_Quadrangle];
+    long nb2DLinear      = info[SMDSEntity_Triangle]        + info[SMDSEntity_Quadrangle] + info[SMDSEntity_Polygon];
+    long nb2DQuadratic   = info[SMDSEntity_Quad_Triangle]   + info[SMDSEntity_Quad_Quadrangle];
+    long nb2DBiQuadratic = info[SMDSEntity_BiQuad_Triangle] + info[SMDSEntity_BiQuad_Quadrangle];
+
+    myWidgets[i2D][iTotal]                  ->setProperty( "text", QString::number( nb2DLinear + nb2DQuadratic ));
+    myWidgets[i2D][iLinear]                 ->setProperty( "text", QString::number( nb2DLinear ) );
+    myWidgets[i2D][iQuadratic]              ->setProperty( "text", QString::number( nb2DQuadratic ) );
+    myWidgets[i2D][iBiQuadratic]            ->setProperty( "text", QString::number( nb2DBiQuadratic ) );
+    myWidgets[i2DTriangles][iTotal]         ->setProperty( "text", QString::number( nbTriangles ) );
+    myWidgets[i2DTriangles][iLinear]        ->setProperty( "text", QString::number( info[SMDSEntity_Triangle] ) );
+    myWidgets[i2DTriangles][iQuadratic]     ->setProperty( "text", QString::number( info[SMDSEntity_Quad_Triangle] ) );
+    myWidgets[i2DTriangles][iBiQuadratic]   ->setProperty( "text", QString::number( info[SMDSEntity_BiQuad_Triangle] ) );
+    myWidgets[i2DQuadrangles][iTotal]       ->setProperty( "text", QString::number( nbQuadrangles ) );
+    myWidgets[i2DQuadrangles][iLinear]      ->setProperty( "text", QString::number( info[SMDSEntity_Quadrangle] ) );
+    myWidgets[i2DQuadrangles][iQuadratic]   ->setProperty( "text", QString::number( info[SMDSEntity_Quad_Quadrangle] ) );
+    myWidgets[i2DQuadrangles][iBiQuadratic] ->setProperty( "text", QString::number( info[SMDSEntity_BiQuad_Quadrangle] ) );
+    myWidgets[i2DPolygons][iTotal]          ->setProperty( "text", QString::number( info[SMDSEntity_Polygon] ) );
+    long nbTetrahedrons  = info[SMDSEntity_Tetra]   + info[SMDSEntity_Quad_Tetra];
+    long nbHexahedrons   = info[SMDSEntity_Hexa]    + info[SMDSEntity_Quad_Hexa] + info[SMDSEntity_TriQuad_Hexa];
+    long nbPyramids      = info[SMDSEntity_Pyramid] + info[SMDSEntity_Quad_Pyramid];
+    long nbPrisms        = info[SMDSEntity_Penta]   + info[SMDSEntity_Quad_Penta];
+    long nb3DLinear      = info[SMDSEntity_Tetra]      + info[SMDSEntity_Hexa] + info[SMDSEntity_Pyramid] + info[SMDSEntity_Penta] + info[SMDSEntity_Polyhedra] + info[SMDSEntity_Hexagonal_Prism];
+    long nb3DQuadratic   = info[SMDSEntity_Quad_Tetra] + info[SMDSEntity_Quad_Hexa] + info[SMDSEntity_Quad_Pyramid] + info[SMDSEntity_Quad_Penta];
+    long nb3DBiQuadratic = info[SMDSEntity_TriQuad_Hexa];
+    myWidgets[i3D][iTotal]                  ->setProperty( "text", QString::number( nb3DLinear + nb3DQuadratic ) );
+    myWidgets[i3D][iLinear]                 ->setProperty( "text", QString::number( nb3DLinear ) );
+    myWidgets[i3D][iQuadratic]              ->setProperty( "text", QString::number( nb3DQuadratic ) );
+    myWidgets[i3D][iBiQuadratic]            ->setProperty( "text", QString::number( nb3DBiQuadratic ) );
+    myWidgets[i3DTetrahedrons][iTotal]      ->setProperty( "text", QString::number( nbTetrahedrons ) );
+    myWidgets[i3DTetrahedrons][iLinear]     ->setProperty( "text", QString::number( info[SMDSEntity_Tetra] ) );
+    myWidgets[i3DTetrahedrons][iQuadratic]  ->setProperty( "text", QString::number( info[SMDSEntity_Quad_Tetra] ) );
+    myWidgets[i3DHexahedrons][iTotal]       ->setProperty( "text", QString::number( nbHexahedrons ) );
+    myWidgets[i3DHexahedrons][iLinear]      ->setProperty( "text", QString::number( info[SMDSEntity_Hexa] ) );
+    myWidgets[i3DHexahedrons][iQuadratic]   ->setProperty( "text", QString::number( info[SMDSEntity_Quad_Hexa] ) );
+    myWidgets[i3DHexahedrons][iBiQuadratic] ->setProperty( "text", QString::number( info[SMDSEntity_TriQuad_Hexa] ) );
+    myWidgets[i3DPyramids][iTotal]          ->setProperty( "text", QString::number( nbPyramids ) );
+    myWidgets[i3DPyramids][iLinear]         ->setProperty( "text", QString::number( info[SMDSEntity_Pyramid] ) );
+    myWidgets[i3DPyramids][iQuadratic]      ->setProperty( "text", QString::number( info[SMDSEntity_Quad_Pyramid] ) );
+    myWidgets[i3DPrisms][iTotal]            ->setProperty( "text", QString::number( nbPrisms ) );
+    myWidgets[i3DPrisms][iLinear]           ->setProperty( "text", QString::number( info[SMDSEntity_Penta] ) );
+    myWidgets[i3DPrisms][iQuadratic]        ->setProperty( "text", QString::number( info[SMDSEntity_Quad_Penta] ) );
+    myWidgets[i3DHexaPrisms][iTotal]        ->setProperty( "text", QString::number( info[SMDSEntity_Hexagonal_Prism] ) );
+    myWidgets[i3DPolyhedrons][iTotal]       ->setProperty( "text", QString::number( info[SMDSEntity_Polyhedra] ) );
+    long nbElemTotal       = info[SMDSEntity_0D] + info[SMDSEntity_Ball] + nbEdges + nb2DLinear + nb2DQuadratic + nb2DBiQuadratic + nb3DLinear + nb3DQuadratic + nb3DBiQuadratic;
+    long nbElemLinerial    = info[SMDSEntity_Edge] + nb2DLinear + nb3DLinear;
+    long nbElemQuadratic   = info[SMDSEntity_Quad_Edge] + nb2DQuadratic + nb3DQuadratic;
+    long nbElemBiQuadratic = nb2DBiQuadratic + nb3DBiQuadratic;
+    myWidgets[iNb][iTotal]      ->setProperty( "text", QString::number( nbElemTotal ) );
+    myWidgets[iNb][iLinear]     ->setProperty( "text", QString::number( nbElemLinerial ) );
+    myWidgets[iNb][iQuadratic]  ->setProperty( "text", QString::number( nbElemQuadratic ) );
+    myWidgets[iNb][iBiQuadratic]->setProperty( "text", QString::number( nbElemBiQuadratic ) );
     // before full loading from study file, type of elements in a sub-mesh can't be defined
     // in some cases
     bool infoOK = obj->IsMeshInfoCorrect();
@@ -541,82 +567,94 @@ void SMESHGUI_MeshInfo::showInfo( SMESH::SMESH_IDSource_ptr obj )
         hasAnyInfo = info[i];
       if ( hasAnyInfo ) // believe it is a sub-mesh
       {
-        if ( nb2DLinear + nb2DQuadratic > 0 )
+        if ( nb2DLinear + nb2DQuadratic + nb2DBiQuadratic > 0 )
         {
-          myWidgets[i2D][iLinear]              ->setProperty( "text", "?" );
-          myWidgets[i2D][iQuadratic]           ->setProperty( "text", "?" );
-          myWidgets[i2DTriangles][iTotal]      ->setProperty( "text", "?" );
-          myWidgets[i2DTriangles][iLinear]     ->setProperty( "text", "?" );
-          myWidgets[i2DTriangles][iQuadratic]  ->setProperty( "text", "?" );
-          myWidgets[i2DQuadrangles][iTotal]    ->setProperty( "text", "?" );
-          myWidgets[i2DQuadrangles][iLinear]   ->setProperty( "text", "?" );
-          myWidgets[i2DQuadrangles][iQuadratic]->setProperty( "text", "?" );
-          myWidgets[i2DPolygons][iTotal]       ->setProperty( "text", "?" );
-          myWidgets[iNb][iTotal]               ->setProperty( "text", "?" );
-          myWidgets[iNb][iLinear]              ->setProperty( "text", "?" );
-          myWidgets[iNb][iQuadratic]           ->setProperty( "text", "?" );
+          myWidgets[i2D][iLinear]                 ->setProperty( "text", "?" );
+          myWidgets[i2D][iQuadratic]              ->setProperty( "text", "?" );
+          myWidgets[i2D][iBiQuadratic]            ->setProperty( "text", "?" );
+          myWidgets[i2DTriangles][iTotal]         ->setProperty( "text", "?" );
+          myWidgets[i2DTriangles][iLinear]        ->setProperty( "text", "?" );
+          myWidgets[i2DTriangles][iQuadratic]     ->setProperty( "text", "?" );
+          myWidgets[i2DTriangles][iBiQuadratic]   ->setProperty( "text", "?" );
+          myWidgets[i2DQuadrangles][iTotal]       ->setProperty( "text", "?" );
+          myWidgets[i2DQuadrangles][iLinear]      ->setProperty( "text", "?" );
+          myWidgets[i2DQuadrangles][iQuadratic]   ->setProperty( "text", "?" );
+          myWidgets[i2DQuadrangles][iBiQuadratic] ->setProperty( "text", "?" );
+          myWidgets[i2DPolygons][iTotal]          ->setProperty( "text", "?" );
+          myWidgets[iNb][iTotal]                  ->setProperty( "text", "?" );
+          myWidgets[iNb][iLinear]                 ->setProperty( "text", "?" );
+          myWidgets[iNb][iQuadratic]              ->setProperty( "text", "?" );
+          myWidgets[iNb][iBiQuadratic]            ->setProperty( "text", "?" );
         }
-        else if ( nb3DLinear + nb3DQuadratic > 0 )
+        else if ( nb3DLinear + nb3DQuadratic + nb3DBiQuadratic > 0 )
         {
-          myWidgets[i3D][iLinear]               ->setProperty( "text", "?" );
-          myWidgets[i3D][iQuadratic]            ->setProperty( "text", "?" );
-          myWidgets[i3DTetrahedrons][iTotal]    ->setProperty( "text", "?" );
-          myWidgets[i3DTetrahedrons][iLinear]   ->setProperty( "text", "?" );
-          myWidgets[i3DTetrahedrons][iQuadratic]->setProperty( "text", "?" );
-          myWidgets[i3DHexahedrons][iTotal]     ->setProperty( "text", "?" );
-          myWidgets[i3DHexahedrons][iLinear]    ->setProperty( "text", "?" );
-          myWidgets[i3DHexahedrons][iQuadratic] ->setProperty( "text", "?" );
-          myWidgets[i3DPyramids][iTotal]        ->setProperty( "text", "?" );
-          myWidgets[i3DPyramids][iLinear]       ->setProperty( "text", "?" );
-          myWidgets[i3DPyramids][iQuadratic]    ->setProperty( "text", "?" );
-          myWidgets[i3DPrisms][iTotal]          ->setProperty( "text", "?" );
-          myWidgets[i3DPrisms][iLinear]         ->setProperty( "text", "?" );
-          myWidgets[i3DPrisms][iQuadratic]      ->setProperty( "text", "?" );
-          myWidgets[i3DHexaPrisms][iTotal]      ->setProperty( "text", "?" );
-          myWidgets[i3DPolyhedrons][iTotal]     ->setProperty( "text", "?" );
-          myWidgets[iNb][iTotal]                ->setProperty( "text", "?" );
-          myWidgets[iNb][iLinear]               ->setProperty( "text", "?" );
-          myWidgets[iNb][iQuadratic]            ->setProperty( "text", "?" );
+          myWidgets[i3D][iLinear]                 ->setProperty( "text", "?" );
+          myWidgets[i3D][iQuadratic]              ->setProperty( "text", "?" );
+          myWidgets[i3D][iBiQuadratic]            ->setProperty( "text", "?" );
+          myWidgets[i3DTetrahedrons][iTotal]      ->setProperty( "text", "?" );
+          myWidgets[i3DTetrahedrons][iLinear]     ->setProperty( "text", "?" );
+          myWidgets[i3DTetrahedrons][iQuadratic]  ->setProperty( "text", "?" );
+          myWidgets[i3DHexahedrons][iTotal]       ->setProperty( "text", "?" );
+          myWidgets[i3DHexahedrons][iLinear]      ->setProperty( "text", "?" );
+          myWidgets[i3DHexahedrons][iQuadratic]   ->setProperty( "text", "?" );
+          myWidgets[i3DHexahedrons][iBiQuadratic] ->setProperty( "text", "?" );
+          myWidgets[i3DPyramids][iTotal]          ->setProperty( "text", "?" );
+          myWidgets[i3DPyramids][iLinear]         ->setProperty( "text", "?" );
+          myWidgets[i3DPyramids][iQuadratic]      ->setProperty( "text", "?" );
+          myWidgets[i3DPrisms][iTotal]            ->setProperty( "text", "?" );
+          myWidgets[i3DPrisms][iLinear]           ->setProperty( "text", "?" );
+          myWidgets[i3DPrisms][iQuadratic]        ->setProperty( "text", "?" );
+          myWidgets[i3DHexaPrisms][iTotal]        ->setProperty( "text", "?" );
+          myWidgets[i3DPolyhedrons][iTotal]       ->setProperty( "text", "?" );
+          myWidgets[iNb][iTotal]                  ->setProperty( "text", "?" );
+          myWidgets[iNb][iLinear]                 ->setProperty( "text", "?" );
+          myWidgets[iNb][iQuadratic]              ->setProperty( "text", "?" );
+          myWidgets[iNb][iBiQuadratic]            ->setProperty( "text", "?" );
         }
       }
       else
       {
-        myWidgets[iNodes][iTotal]             ->setProperty( "text", "?" );
-        myWidgets[i0D][iTotal]                ->setProperty( "text", "?" );
-        myWidgets[iBalls][iTotal]             ->setProperty( "text", "?" );
-        myWidgets[i1D][iTotal]                ->setProperty( "text", "?" );
-        myWidgets[i1D][iLinear]               ->setProperty( "text", "?" );
-        myWidgets[i1D][iQuadratic]            ->setProperty( "text", "?" );
-        myWidgets[i2D][iTotal]                ->setProperty( "text", "?" );
-        myWidgets[i2D][iLinear]               ->setProperty( "text", "?" );
-        myWidgets[i2D][iQuadratic]            ->setProperty( "text", "?" );
-        myWidgets[i2DTriangles][iTotal]       ->setProperty( "text", "?" );
-        myWidgets[i2DTriangles][iLinear]      ->setProperty( "text", "?" );
-        myWidgets[i2DTriangles][iQuadratic]   ->setProperty( "text", "?" );
-        myWidgets[i2DQuadrangles][iTotal]     ->setProperty( "text", "?" );
-        myWidgets[i2DQuadrangles][iLinear]    ->setProperty( "text", "?" );
-        myWidgets[i2DQuadrangles][iQuadratic] ->setProperty( "text", "?" );
-        myWidgets[i2DPolygons][iTotal]        ->setProperty( "text", "?" );
-        myWidgets[i3D][iTotal]                ->setProperty( "text", "?" );
-        myWidgets[i3D][iLinear]               ->setProperty( "text", "?" );
-        myWidgets[i3D][iQuadratic]            ->setProperty( "text", "?" );
-        myWidgets[i3DTetrahedrons][iTotal]    ->setProperty( "text", "?" );
-        myWidgets[i3DTetrahedrons][iLinear]   ->setProperty( "text", "?" );
-        myWidgets[i3DTetrahedrons][iQuadratic]->setProperty( "text", "?" );
-        myWidgets[i3DHexahedrons][iTotal]     ->setProperty( "text", "?" );
-        myWidgets[i3DHexahedrons][iLinear]    ->setProperty( "text", "?" );
-        myWidgets[i3DHexahedrons][iQuadratic] ->setProperty( "text", "?" );
-        myWidgets[i3DPyramids][iTotal]        ->setProperty( "text", "?" );
-        myWidgets[i3DPyramids][iLinear]       ->setProperty( "text", "?" );
-        myWidgets[i3DPyramids][iQuadratic]    ->setProperty( "text", "?" );
-        myWidgets[i3DPrisms][iTotal]          ->setProperty( "text", "?" );
-        myWidgets[i3DPrisms][iLinear]         ->setProperty( "text", "?" );
-        myWidgets[i3DPrisms][iQuadratic]      ->setProperty( "text", "?" );
-        myWidgets[i3DHexaPrisms][iTotal]      ->setProperty( "text", "?" );
-        myWidgets[i3DPolyhedrons][iTotal]     ->setProperty( "text", "?" );
-        myWidgets[iNb][iTotal]                ->setProperty( "text", "?" );
-        myWidgets[iNb][iLinear]               ->setProperty( "text", "?" );
-        myWidgets[iNb][iQuadratic]            ->setProperty( "text", "?" );
+        myWidgets[iNodes][iTotal]               ->setProperty( "text", "?" );
+        myWidgets[i0D][iTotal]                  ->setProperty( "text", "?" );
+        myWidgets[iBalls][iTotal]               ->setProperty( "text", "?" );
+        myWidgets[i1D][iTotal]                  ->setProperty( "text", "?" );
+        myWidgets[i1D][iLinear]                 ->setProperty( "text", "?" );
+        myWidgets[i1D][iQuadratic]              ->setProperty( "text", "?" );
+        myWidgets[i2D][iTotal]                  ->setProperty( "text", "?" );
+        myWidgets[i2D][iLinear]                 ->setProperty( "text", "?" );
+        myWidgets[i2D][iQuadratic]              ->setProperty( "text", "?" );
+        myWidgets[i2D][iBiQuadratic]            ->setProperty( "text", "?" );
+        myWidgets[i2DTriangles][iTotal]         ->setProperty( "text", "?" );
+        myWidgets[i2DTriangles][iLinear]        ->setProperty( "text", "?" );
+        myWidgets[i2DTriangles][iQuadratic]     ->setProperty( "text", "?" );
+        myWidgets[i2DTriangles][iBiQuadratic]   ->setProperty( "text", "?" );
+        myWidgets[i2DQuadrangles][iTotal]       ->setProperty( "text", "?" );
+        myWidgets[i2DQuadrangles][iLinear]      ->setProperty( "text", "?" );
+        myWidgets[i2DQuadrangles][iQuadratic]   ->setProperty( "text", "?" );
+        myWidgets[i2DQuadrangles][iBiQuadratic] ->setProperty( "text", "?" );
+        myWidgets[i2DPolygons][iTotal]          ->setProperty( "text", "?" );
+        myWidgets[i3D][iTotal]                  ->setProperty( "text", "?" );
+        myWidgets[i3D][iLinear]                 ->setProperty( "text", "?" );
+        myWidgets[i3D][iQuadratic]              ->setProperty( "text", "?" );
+        myWidgets[i3DTetrahedrons][iTotal]      ->setProperty( "text", "?" );
+        myWidgets[i3DTetrahedrons][iLinear]     ->setProperty( "text", "?" );
+        myWidgets[i3DTetrahedrons][iQuadratic]  ->setProperty( "text", "?" );
+        myWidgets[i3DHexahedrons][iTotal]       ->setProperty( "text", "?" );
+        myWidgets[i3DHexahedrons][iLinear]      ->setProperty( "text", "?" );
+        myWidgets[i3DHexahedrons][iQuadratic]   ->setProperty( "text", "?" );
+        myWidgets[i3DHexahedrons][iBiQuadratic] ->setProperty( "text", "?" );
+        myWidgets[i3DPyramids][iTotal]          ->setProperty( "text", "?" );
+        myWidgets[i3DPyramids][iLinear]         ->setProperty( "text", "?" );
+        myWidgets[i3DPyramids][iQuadratic]      ->setProperty( "text", "?" );
+        myWidgets[i3DPrisms][iTotal]            ->setProperty( "text", "?" );
+        myWidgets[i3DPrisms][iLinear]           ->setProperty( "text", "?" );
+        myWidgets[i3DPrisms][iQuadratic]        ->setProperty( "text", "?" );
+        myWidgets[i3DHexaPrisms][iTotal]        ->setProperty( "text", "?" );
+        myWidgets[i3DPolyhedrons][iTotal]       ->setProperty( "text", "?" );
+        myWidgets[iNb][iTotal]                  ->setProperty( "text", "?" );
+        myWidgets[iNb][iLinear]                 ->setProperty( "text", "?" );
+        myWidgets[iNb][iQuadratic]              ->setProperty( "text", "?" );
+        myWidgets[iNb][iBiQuadratic]            ->setProperty( "text", "?" );
       }
     }
   }
@@ -651,44 +689,50 @@ void SMESHGUI_MeshInfo::loadMesh()
 */
 void SMESHGUI_MeshInfo::clear()
 {
-  myWidgets[iName][iSingle]             ->setProperty( "text", QString() );
-  myWidgets[iObject][iSingle]           ->setProperty( "text", QString() );
-  myWidgets[iNodes][iTotal]             ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i0D][iTotal]                ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[iBalls][iTotal]             ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i1D][iTotal]                ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i1D][iLinear]               ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i1D][iQuadratic]            ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i2D][iTotal]                ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i2D][iLinear]               ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i2D][iQuadratic]            ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i2DTriangles][iTotal]       ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i2DTriangles][iLinear]      ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i2DTriangles][iQuadratic]   ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i2DQuadrangles][iTotal]     ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i2DQuadrangles][iLinear]    ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i2DQuadrangles][iQuadratic] ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i2DPolygons][iTotal]        ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i3D][iTotal]                ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i3D][iLinear]               ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i3D][iQuadratic]            ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i3DTetrahedrons][iTotal]    ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i3DTetrahedrons][iLinear]   ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i3DTetrahedrons][iQuadratic]->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i3DHexahedrons][iTotal]     ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i3DHexahedrons][iLinear]    ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i3DHexahedrons][iQuadratic] ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i3DPyramids][iTotal]        ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i3DPyramids][iLinear]       ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i3DPyramids][iQuadratic]    ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i3DPrisms][iTotal]          ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i3DPrisms][iLinear]         ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i3DPrisms][iQuadratic]      ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i3DHexaPrisms][iTotal]      ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[i3DPolyhedrons][iTotal]     ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[iNb][iTotal]                ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[iNb][iLinear]               ->setProperty( "text", QString::number( 0 ) );
-  myWidgets[iNb][iQuadratic]            ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[iName][iSingle]               ->setProperty( "text", QString() );
+  myWidgets[iObject][iSingle]             ->setProperty( "text", QString() );
+  myWidgets[iNodes][iTotal]               ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i0D][iTotal]                  ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[iBalls][iTotal]               ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i1D][iTotal]                  ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i1D][iLinear]                 ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i1D][iQuadratic]              ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i2D][iTotal]                  ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i2D][iLinear]                 ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i2D][iQuadratic]              ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i2D][iBiQuadratic]            ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i2DTriangles][iTotal]         ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i2DTriangles][iLinear]        ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i2DTriangles][iQuadratic]     ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i2DTriangles][iBiQuadratic]   ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i2DQuadrangles][iTotal]       ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i2DQuadrangles][iLinear]      ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i2DQuadrangles][iQuadratic]   ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i2DQuadrangles][iBiQuadratic] ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i2DPolygons][iTotal]          ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i3D][iTotal]                  ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i3D][iLinear]                 ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i3D][iQuadratic]              ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i3D][iBiQuadratic]            ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i3DTetrahedrons][iTotal]      ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i3DTetrahedrons][iLinear]     ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i3DTetrahedrons][iQuadratic]  ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i3DHexahedrons][iTotal]       ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i3DHexahedrons][iLinear]      ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i3DHexahedrons][iQuadratic]   ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i3DHexahedrons][iBiQuadratic] ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i3DPyramids][iTotal]          ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i3DPyramids][iLinear]         ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i3DPyramids][iQuadratic]      ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i3DPrisms][iTotal]            ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i3DPrisms][iLinear]           ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i3DPrisms][iQuadratic]        ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i3DHexaPrisms][iTotal]        ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[i3DPolyhedrons][iTotal]       ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[iNb][iTotal]                  ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[iNb][iLinear]                 ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[iNb][iQuadratic]              ->setProperty( "text", QString::number( 0 ) );
+  myWidgets[iNb][iBiQuadratic]            ->setProperty( "text", QString::number( 0 ) );
 }
 
 /*!
@@ -763,6 +807,7 @@ void SMESHGUI_MeshInfo::saveInfo( QTextStream &out )
   out << QString( SPACING_INFO,   ' ' ) << tr( "TOTAL_LAB" )        << ": " << ( myWidgets[iNb][iTotal]->property( "text" ) ).toString() << "\n";
   out << QString( SPACING_INFO,   ' ' ) << tr( "LINEAR_LAB" )       << ": " << ( myWidgets[iNb][iLinear]->property( "text" ) ).toString() << "\n";
   out << QString( SPACING_INFO,   ' ' ) << tr( "QUADRATIC_LAB" )    << ": " << ( myWidgets[iNb][iQuadratic]->property( "text" ) ).toString() << "\n";
+  out << QString( SPACING_INFO,   ' ' ) << tr( "BI_QUADRATIC_LAB" ) << ": " << ( myWidgets[iNb][iBiQuadratic]->property( "text" ) ).toString() << "\n";
   out << QString( SPACING_INFO,   ' ' ) << tr( "0D_LAB" )           << "\n";
   out << QString( SPACING_INFO*2, ' ' ) << tr( "TOTAL_LAB" )        << ": " << ( myWidgets[i0D][iTotal]->property( "text" ) ).toString() << "\n";
   out << QString( SPACING_INFO,   ' ' ) << tr( "BALL_LAB" )         << "\n";
@@ -775,20 +820,24 @@ void SMESHGUI_MeshInfo::saveInfo( QTextStream &out )
   out << QString( SPACING_INFO*2, ' ' ) << tr( "TOTAL_LAB" )        << ": " << ( myWidgets[i2D][iTotal]->property( "text" ) ).toString() << "\n";
   out << QString( SPACING_INFO*2, ' ' ) << tr( "LINEAR_LAB" )       << ": " << ( myWidgets[i2D][iLinear]->property( "text" ) ).toString() << "\n";
   out << QString( SPACING_INFO*2, ' ' ) << tr( "QUADRATIC_LAB" )    << ": " << ( myWidgets[i2D][iQuadratic]->property( "text" ) ).toString() << "\n";
+  out << QString( SPACING_INFO*2, ' ' ) << tr( "BI_QUADRATIC_LAB" ) << ": " << ( myWidgets[i2D][iBiQuadratic]->property( "text" ) ).toString() << "\n";
   out << QString( SPACING_INFO*2, ' ' ) << tr( "TRIANGLES_LAB" )    << "\n";
   out << QString( SPACING_INFO*3, ' ' ) << tr( "TOTAL_LAB" )        << ": " << ( myWidgets[i2DTriangles][iTotal]->property( "text" ) ).toString() << "\n";
   out << QString( SPACING_INFO*3, ' ' ) << tr( "LINEAR_LAB" )       << ": " << ( myWidgets[i2DTriangles][iLinear]->property( "text" ) ).toString() << "\n";
   out << QString( SPACING_INFO*3, ' ' ) << tr( "QUADRATIC_LAB" )    << ": " << ( myWidgets[i2DTriangles][iQuadratic]->property( "text" ) ).toString() << "\n";
+  out << QString( SPACING_INFO*3, ' ' ) << tr( "BI_QUADRATIC_LAB" ) << ": " << ( myWidgets[i2DTriangles][iBiQuadratic]->property( "text" ) ).toString() << "\n";
   out << QString( SPACING_INFO*2, ' ' ) << tr( "QUADRANGLES_LAB" )  << "\n";
   out << QString( SPACING_INFO*3, ' ' ) << tr( "TOTAL_LAB" )        << ": " << ( myWidgets[i2DQuadrangles][iTotal]->property( "text" ) ).toString() << "\n";
   out << QString( SPACING_INFO*3, ' ' ) << tr( "LINEAR_LAB" )       << ": " << ( myWidgets[i2DQuadrangles][iLinear]->property( "text" ) ).toString() << "\n";
   out << QString( SPACING_INFO*3, ' ' ) << tr( "QUADRATIC_LAB" )    << ": " << ( myWidgets[i2DQuadrangles][iQuadratic]->property( "text" ) ).toString() << "\n";
+  out << QString( SPACING_INFO*3, ' ' ) << tr( "BI_QUADRATIC_LAB" ) << ": " << ( myWidgets[i2DQuadrangles][iBiQuadratic]->property( "text" ) ).toString() << "\n";
   out << QString( SPACING_INFO*2, ' ' ) << tr( "POLYGONS_LAB" )     << "\n";
   out << QString( SPACING_INFO*3, ' ' ) << tr( "TOTAL_LAB" )        << ": " << ( myWidgets[i2DPolygons][iTotal]->property( "text" ) ).toString() << "\n";
   out << QString( SPACING_INFO,   ' ' ) << tr( "3D_LAB" )           << "\n";
   out << QString( SPACING_INFO*2, ' ' ) << tr( "TOTAL_LAB" )        << ": " << ( myWidgets[i3D][iTotal]->property( "text" ) ).toString() << "\n";
   out << QString( SPACING_INFO*2, ' ' ) << tr( "LINEAR_LAB" )       << ": " << ( myWidgets[i3D][iLinear]->property( "text" ) ).toString() << "\n";
   out << QString( SPACING_INFO*2, ' ' ) << tr( "QUADRATIC_LAB" )    << ": " << ( myWidgets[i3D][iQuadratic]->property( "text" ) ).toString() << "\n";
+  out << QString( SPACING_INFO*2, ' ' ) << tr( "BI_QUADRATIC_LAB" ) << ": " << ( myWidgets[i3D][iBiQuadratic]->property( "text" ) ).toString() << "\n";
   out << QString( SPACING_INFO*2, ' ' ) << tr( "TETRAHEDRONS_LAB" ) << "\n";
   out << QString( SPACING_INFO*3, ' ' ) << tr( "TOTAL_LAB" )        << ": " << ( myWidgets[i3DTetrahedrons][iTotal]->property( "text" ) ).toString() << "\n";
   out << QString( SPACING_INFO*3, ' ' ) << tr( "LINEAR_LAB" )       << ": " << ( myWidgets[i3DTetrahedrons][iLinear]->property( "text" ) ).toString() << "\n";
@@ -797,6 +846,7 @@ void SMESHGUI_MeshInfo::saveInfo( QTextStream &out )
   out << QString( SPACING_INFO*3, ' ' ) << tr( "TOTAL_LAB" )        << ": " << ( myWidgets[i3DHexahedrons][iTotal]->property( "text" ) ).toString() << "\n";
   out << QString( SPACING_INFO*3, ' ' ) << tr( "LINEAR_LAB" )       << ": " << ( myWidgets[i3DHexahedrons][iLinear]->property( "text" ) ).toString() << "\n";
   out << QString( SPACING_INFO*3, ' ' ) << tr( "QUADRATIC_LAB" )    << ": " << ( myWidgets[i3DHexahedrons][iQuadratic]->property( "text" ) ).toString() << "\n";
+  out << QString( SPACING_INFO*3, ' ' ) << tr( "BI_QUADRATIC_LAB" ) << ": " << ( myWidgets[i3DHexahedrons][iBiQuadratic]->property( "text" ) ).toString() << "\n";
   out << QString( SPACING_INFO*2, ' ' ) << tr( "PYRAMIDS_LAB" )     << "\n";
   out << QString( SPACING_INFO*3, ' ' ) << tr( "TOTAL_LAB" )        << ": " << ( myWidgets[i3DPyramids][iTotal]->property( "text" ) ).toString() << "\n";
   out << QString( SPACING_INFO*3, ' ' ) << tr( "LINEAR_LAB" )       << ": " << ( myWidgets[i3DPyramids][iLinear]->property( "text" ) ).toString() << "\n";
index e291d69..69faa42 100644 (file)
@@ -108,7 +108,8 @@ class SMESHGUI_EXPORT SMESHGUI_MeshInfo : public QFrame
     iSingle = 1,
     iTotal  = iSingle,
     iLinear,
-    iQuadratic
+    iQuadratic,
+    iBiQuadratic
   };
 
   typedef QList<QWidget*> wlist;
index 3b5500b..fddda25 100644 (file)
@@ -63,15 +63,15 @@ SMESHGUI_MeshInfosBox::SMESHGUI_MeshInfosBox(const bool full, QWidget* theParent
   my0DElem(0),
   myBall(0),
   myNbEdge(0), myNbLinEdge(0), myNbQuadEdge(0),
-  myNbTrai(0), myNbLinTrai(0), myNbQuadTrai(0),
-  myNbQuad(0), myNbLinQuad(0), myNbQuadQuad(0),
-  myNbFace(0), myNbLinFace(0), myNbQuadFace(0),
+  myNbTrai(0), myNbLinTrai(0), myNbQuadTrai(0), myNbBiQuadTrai(0),
+  myNbQuad(0), myNbLinQuad(0), myNbQuadQuad(0), myNbBiQuadQuad(0),
+  myNbFace(0), myNbLinFace(0), myNbQuadFace(0), myNbBiQuadFace(0),
   myNbPolyg(0),
-  myNbHexa(0), myNbLinHexa(0), myNbQuadHexa(0),
+  myNbHexa(0), myNbLinHexa(0), myNbQuadHexa(0), myNbBiQuadHexa(0),
   myNbTetra(0),myNbLinTetra(0),myNbQuadTetra(0),
   myNbPyra(0), myNbLinPyra(0), myNbQuadPyra(0),
   myNbPrism(0),myNbLinPrism(0), myNbQuadPrism(0),
-  myNbVolum(0), myNbLinVolum(0), myNbQuadVolum(0),
+  myNbVolum(0), myNbLinVolum(0), myNbQuadVolum(0), myNbBiQuadVolum(0),
   myNbHexaPrism(0),
   myNbPolyh(0)
 {
@@ -101,6 +101,10 @@ SMESHGUI_MeshInfosBox::SMESHGUI_MeshInfosBox(const bool full, QWidget* theParent
   lab = new QLabel(tr("SMESH_MESHINFO_ORDER2"), this );
   lab->setMinimumWidth(100); lab->setFont( italic );
   l->addWidget( lab, row, 3 );
+  // --
+  lab = new QLabel(tr("SMESH_MESHINFO_ORDER3"), this );
+  lab->setMinimumWidth(100); lab->setFont( italic );
+  l->addWidget( lab, row, 4 );
 
   if ( myFull )
   {
@@ -163,44 +167,53 @@ SMESHGUI_MeshInfosBox::SMESHGUI_MeshInfosBox(const bool full, QWidget* theParent
     // --
     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_FACES")), this);
     lab->setFont( bold );
-    l->addWidget( lab,           row, 0 );
+    l->addWidget( lab,            row, 0 );
     // --
-    myNbFace     = new QLabel( this );
-    l->addWidget( myNbFace,      row, 1 );
+    myNbFace       = new QLabel( this );
+    l->addWidget( myNbFace,       row, 1 );
     // --
-    myNbLinFace  = new QLabel( this );
-    l->addWidget( myNbLinFace,   row, 2 );
+    myNbLinFace    = new QLabel( this );
+    l->addWidget( myNbLinFace,    row,  2 );
     // --
-    myNbQuadFace = new QLabel( this );
-    l->addWidget( myNbQuadFace,  row, 3 );
+    myNbQuadFace   = new QLabel( this );
+    l->addWidget( myNbQuadFace,   row, 3 );
+    // --
+    myNbBiQuadFace = new QLabel( this );
+    l->addWidget( myNbBiQuadFace, row, 4 );
     // --
     row++;                       // increment row count
     // ... triangles
     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_TRIANGLES")), this );
-    l->addWidget( lab,           row, 0 );
+    l->addWidget( lab,            row, 0 );
+    // --
+    myNbTrai       = new QLabel( this );
+    l->addWidget( myNbTrai,       row, 1 );
     // --
-    myNbTrai     = new QLabel( this );
-    l->addWidget( myNbTrai,      row, 1 );
+    myNbLinTrai    = new QLabel( this );
+    l->addWidget( myNbLinTrai,    row, 2 );
     // --
-    myNbLinTrai  = new QLabel( this );
-    l->addWidget( myNbLinTrai,   row, 2 );
+    myNbQuadTrai   = new QLabel( this );
+    l->addWidget( myNbQuadTrai,   row, 3 );
     // --
-    myNbQuadTrai = new QLabel( this );
-    l->addWidget( myNbQuadTrai,  row, 3 );
+    myNbBiQuadTrai = new QLabel( this );
+    l->addWidget( myNbBiQuadTrai, row, 4 );
     // --
     row++;                       // increment row count
     // ... quadrangles
     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_QUADRANGLES")), this );
-    l->addWidget( lab,           row, 0 );
+    l->addWidget( lab,            row, 0 );
+    // --
+    myNbQuad       = new QLabel( this );
+    l->addWidget( myNbQuad,       row, 1 );
     // --
-    myNbQuad     = new QLabel( this );
-    l->addWidget( myNbQuad,      row, 1 );
+    myNbLinQuad    = new QLabel( this );
+    l->addWidget( myNbLinQuad,    row, 2 );
     // --
-    myNbLinQuad  = new QLabel( this );
-    l->addWidget( myNbLinQuad,   row, 2 );
+    myNbQuadQuad   = new QLabel( this );
+    l->addWidget( myNbQuadQuad,   row, 3 );
     // --
-    myNbQuadQuad = new QLabel( this );
-    l->addWidget( myNbQuadQuad,  row, 3 );
+    myNbBiQuadQuad = new QLabel( this );
+    l->addWidget( myNbBiQuadQuad, row, 4 );
     // --
     row++;                       // increment row count
     // ... poligones
@@ -216,16 +229,19 @@ SMESHGUI_MeshInfosBox::SMESHGUI_MeshInfosBox(const bool full, QWidget* theParent
     // --
     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_VOLUMES")), this);
     lab->setFont( bold );
-    l->addWidget( lab,           row, 0 );
+    l->addWidget( lab,             row, 0 );
     // --
-    myNbVolum     = new QLabel( this );
-    l->addWidget( myNbVolum,     row, 1 );
+    myNbVolum       = new QLabel( this );
+    l->addWidget( myNbVolum,       row, 1 );
     // --
-    myNbLinVolum  = new QLabel( this );
-    l->addWidget( myNbLinVolum,  row, 2 );
+    myNbLinVolum    = new QLabel( this );
+    l->addWidget( myNbLinVolum,    row, 2 );
     // --
-    myNbQuadVolum = new QLabel( this );
-    l->addWidget( myNbQuadVolum, row, 3 );
+    myNbQuadVolum   = new QLabel( this );
+    l->addWidget( myNbQuadVolum,   row, 3 );
+    // --
+    myNbBiQuadVolum = new QLabel( this );
+    l->addWidget( myNbBiQuadVolum, row, 4 );
     // --
     row++;                       // increment row count
     // ... tetras
@@ -244,16 +260,19 @@ SMESHGUI_MeshInfosBox::SMESHGUI_MeshInfosBox(const bool full, QWidget* theParent
     row++;                       // increment row count
     // ... hexas
     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_HEXAS")), this );
-    l->addWidget( lab,           row, 0 );
+    l->addWidget( lab,            row, 0 );
+    // --
+    myNbHexa       = new QLabel( this );
+    l->addWidget( myNbHexa,       row, 1 );
     // --
-    myNbHexa      = new QLabel( this );
-    l->addWidget( myNbHexa,      row, 1 );
+    myNbLinHexa    = new QLabel( this );
+    l->addWidget( myNbLinHexa,    row, 2 );
     // --
-    myNbLinHexa   = new QLabel( this );
-    l->addWidget( myNbLinHexa,   row, 2 );
+    myNbQuadHexa   = new QLabel( this );
+    l->addWidget( myNbQuadHexa,   row, 3 );
     // --
-    myNbQuadHexa  = new QLabel( this );
-    l->addWidget( myNbQuadHexa,  row, 3 );
+    myNbBiQuadHexa = new QLabel( this );
+    l->addWidget( myNbBiQuadHexa, row, 4 );
     // --
     row++;                       // increment row count
     // ... pyras
@@ -349,31 +368,37 @@ SMESHGUI_MeshInfosBox::SMESHGUI_MeshInfosBox(const bool full, QWidget* theParent
     row = l->rowCount();         // retrieve current row count
     // --
     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_FACES")), this);
-    l->addWidget( lab,           row, 0 );
+    l->addWidget( lab,            row, 0 );
+    // --
+    myNbFace       = new QLabel( this );
+    l->addWidget( myNbFace,       row, 1 );
     // --
-    myNbFace      = new QLabel( this );
-    l->addWidget( myNbFace,      row, 1 );
+    myNbLinFace    = new QLabel( this );
+    l->addWidget( myNbLinFace,    row, 2 );
     // --
-    myNbLinFace   = new QLabel( this );
-    l->addWidget( myNbLinFace,   row, 2 );
+    myNbQuadFace   = new QLabel( this );
+    l->addWidget( myNbQuadFace,   row, 3 );
     // --
-    myNbQuadFace  = new QLabel( this );
-    l->addWidget( myNbQuadFace,  row, 3 );
+    myNbBiQuadFace = new QLabel( this );
+    l->addWidget( myNbBiQuadFace, row, 4 );
 
     // volumes
     row = l->rowCount();         // retrieve current row count
     // --
     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_VOLUMES")), this);
-    l->addWidget( lab,           row, 0 );
+    l->addWidget( lab,             row, 0 );
     // --
-    myNbVolum     = new QLabel( this );
-    l->addWidget( myNbVolum,     row, 1 );
+    myNbVolum       = new QLabel( this );
+    l->addWidget( myNbVolum,       row, 1 );
     // --
-    myNbLinVolum  = new QLabel( this );
-    l->addWidget( myNbLinVolum,  row, 2 );
+    myNbLinVolum    = new QLabel( this );
+    l->addWidget( myNbLinVolum,    row, 2 );
     // --
-    myNbQuadVolum = new QLabel( this );
-    l->addWidget( myNbQuadVolum, row, 3 );
+    myNbQuadVolum   = new QLabel( this );
+    l->addWidget( myNbQuadVolum,   row, 3 );
+    // --
+    myNbBiQuadVolum = new QLabel( this );
+    l->addWidget( myNbBiQuadVolum, row, 4 );
   }
 }
 
@@ -386,89 +411,90 @@ SMESHGUI_MeshInfosBox::SMESHGUI_MeshInfosBox(const bool full, QWidget* theParent
 void SMESHGUI_MeshInfosBox::SetMeshInfo(const SMESH::long_array& theInfo)
 {
   // nodes
-  myNbNode     ->setText( QString("%1").arg( theInfo[SMDSEntity_Node] ));
+  myNbNode       ->setText( QString("%1").arg( theInfo[SMDSEntity_Node] ));
 
   //0D elements
-  my0DElem     ->setText( QString("%1").arg( theInfo[SMDSEntity_0D] ));
+  my0DElem       ->setText( QString("%1").arg( theInfo[SMDSEntity_0D] ));
 
   //balls
-  myBall       ->setText( QString("%1").arg( theInfo[SMDSEntity_Ball] ));
+  myBall         ->setText( QString("%1").arg( theInfo[SMDSEntity_Ball] ));
 
   // edges
-  myNbEdge     ->setText( QString("%1").arg( theInfo[SMDSEntity_Edge] +
-                                             theInfo[SMDSEntity_Quad_Edge] ));
-  myNbLinEdge  ->setText( QString("%1").arg( theInfo[SMDSEntity_Edge] ));
-  myNbQuadEdge ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Edge] ));
+  myNbEdge       ->setText( QString("%1").arg( theInfo[SMDSEntity_Edge] +
+                                               theInfo[SMDSEntity_Quad_Edge] ));
+  myNbLinEdge    ->setText( QString("%1").arg( theInfo[SMDSEntity_Edge] ));
+  myNbQuadEdge   ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Edge] ));
 
   // faces
-  myNbFace     ->setText( QString("%1").arg( theInfo[SMDSEntity_Triangle] +
-                                             theInfo[SMDSEntity_Quad_Triangle] +
-                                             theInfo[SMDSEntity_BiQuad_Triangle] +
-                                             theInfo[SMDSEntity_Quadrangle] +
-                                             theInfo[SMDSEntity_Quad_Quadrangle] +
-                                             theInfo[SMDSEntity_BiQuad_Quadrangle] +
-                                             theInfo[SMDSEntity_Polygon] ));
-  myNbLinFace  ->setText( QString("%1").arg( theInfo[SMDSEntity_Triangle] +
-                                             theInfo[SMDSEntity_Quadrangle] +
-                                             theInfo[SMDSEntity_Polygon] ));
-  myNbQuadFace ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Triangle] +
-                                             theInfo[SMDSEntity_Quad_Quadrangle] +
-                                             theInfo[SMDSEntity_BiQuad_Quadrangle] ));
+  myNbFace       ->setText( QString("%1").arg( theInfo[SMDSEntity_Triangle] +
+                                               theInfo[SMDSEntity_Quad_Triangle] +
+                                               theInfo[SMDSEntity_BiQuad_Triangle] +
+                                               theInfo[SMDSEntity_Quadrangle] +
+                                               theInfo[SMDSEntity_Quad_Quadrangle] +
+                                               theInfo[SMDSEntity_BiQuad_Quadrangle] +
+                                               theInfo[SMDSEntity_Polygon] ));
+  myNbLinFace    ->setText( QString("%1").arg( theInfo[SMDSEntity_Triangle] +
+                                               theInfo[SMDSEntity_Quadrangle] +
+                                               theInfo[SMDSEntity_Polygon] ));
+  myNbQuadFace   ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Triangle] +
+                                               theInfo[SMDSEntity_Quad_Quadrangle] ));
+  myNbBiQuadFace ->setText( QString("%1").arg( theInfo[SMDSEntity_BiQuad_Triangle] +
+                                               theInfo[SMDSEntity_BiQuad_Quadrangle] ));
 
   // volumes
-  myNbVolum    ->setText( QString("%1").arg( theInfo[SMDSEntity_Tetra] +
-                                             theInfo[SMDSEntity_Quad_Tetra] +
-                                             theInfo[SMDSEntity_Pyramid] +
-                                             theInfo[SMDSEntity_Quad_Pyramid] +
-                                             theInfo[SMDSEntity_Hexa] +
-                                             theInfo[SMDSEntity_Quad_Hexa] +
-                                             theInfo[SMDSEntity_TriQuad_Hexa] +
-                                             theInfo[SMDSEntity_Penta] +
-                                             theInfo[SMDSEntity_Quad_Penta] +
-                                             theInfo[SMDSEntity_Hexagonal_Prism] +
-                                             theInfo[SMDSEntity_Polyhedra] ));
-  myNbLinVolum ->setText( QString("%1").arg( theInfo[SMDSEntity_Tetra] +
-                                             theInfo[SMDSEntity_Pyramid] +
-                                             theInfo[SMDSEntity_Hexa] +
-                                             theInfo[SMDSEntity_Penta] +
-                                             theInfo[SMDSEntity_Polyhedra] ));
-  myNbQuadVolum->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Tetra] +
-                                             theInfo[SMDSEntity_Quad_Pyramid] +
-                                             theInfo[SMDSEntity_Quad_Hexa] +
-                                             theInfo[SMDSEntity_TriQuad_Hexa] +
-                                             theInfo[SMDSEntity_Quad_Penta] ));
+  myNbVolum      ->setText( QString("%1").arg( theInfo[SMDSEntity_Tetra] +
+                                               theInfo[SMDSEntity_Quad_Tetra] +
+                                               theInfo[SMDSEntity_Pyramid] +
+                                               theInfo[SMDSEntity_Quad_Pyramid] +
+                                               theInfo[SMDSEntity_Hexa] +
+                                               theInfo[SMDSEntity_Quad_Hexa] +
+                                               theInfo[SMDSEntity_TriQuad_Hexa] +
+                                               theInfo[SMDSEntity_Penta] +
+                                               theInfo[SMDSEntity_Quad_Penta] +
+                                               theInfo[SMDSEntity_Hexagonal_Prism] +
+                                               theInfo[SMDSEntity_Polyhedra] ));
+  myNbLinVolum   ->setText( QString("%1").arg( theInfo[SMDSEntity_Tetra] +
+                                               theInfo[SMDSEntity_Pyramid] +
+                                               theInfo[SMDSEntity_Hexa] +
+                                               theInfo[SMDSEntity_Penta] +
+                                               theInfo[SMDSEntity_Polyhedra] ));
+  myNbQuadVolum  ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Tetra] +
+                                               theInfo[SMDSEntity_Quad_Pyramid] +
+                                               theInfo[SMDSEntity_Quad_Hexa] +
+                                               theInfo[SMDSEntity_Quad_Penta] ));
+  myNbBiQuadVolum->setText( QString("%1").arg( theInfo[SMDSEntity_TriQuad_Hexa] ));
 
   if ( myFull )
   {
     // triangles
-    myNbTrai     ->setText( QString("%1").arg( theInfo[SMDSEntity_Triangle] +
-                                               theInfo[SMDSEntity_Quad_Triangle] +
-                                               theInfo[SMDSEntity_BiQuad_Triangle] ));
-    myNbLinTrai  ->setText( QString("%1").arg( theInfo[SMDSEntity_Triangle] ));
-    myNbQuadTrai ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Triangle] +
-                                               theInfo[SMDSEntity_BiQuad_Triangle] ));
+    myNbTrai       ->setText( QString("%1").arg( theInfo[SMDSEntity_Triangle] +
+                                                 theInfo[SMDSEntity_Quad_Triangle] +
+                                                 theInfo[SMDSEntity_BiQuad_Triangle] ));
+    myNbLinTrai    ->setText( QString("%1").arg( theInfo[SMDSEntity_Triangle] ));
+    myNbQuadTrai   ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Triangle] ));
+    myNbBiQuadTrai ->setText( QString("%1").arg( theInfo[SMDSEntity_BiQuad_Triangle] ));
     // quadrangles
-    myNbQuad     ->setText( QString("%1").arg( theInfo[SMDSEntity_Quadrangle] +
-                                               theInfo[SMDSEntity_Quad_Quadrangle] +
-                                               theInfo[SMDSEntity_BiQuad_Quadrangle] ));
-    myNbLinQuad  ->setText( QString("%1").arg( theInfo[SMDSEntity_Quadrangle] ));
-    myNbQuadQuad ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Quadrangle] +
-                                               theInfo[SMDSEntity_BiQuad_Quadrangle]));
+    myNbQuad       ->setText( QString("%1").arg( theInfo[SMDSEntity_Quadrangle] +
+                                                 theInfo[SMDSEntity_Quad_Quadrangle] +
+                                                 theInfo[SMDSEntity_BiQuad_Quadrangle] ));
+    myNbLinQuad    ->setText( QString("%1").arg( theInfo[SMDSEntity_Quadrangle] ));
+    myNbQuadQuad   ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Quadrangle] ));
+    myNbBiQuadQuad ->setText( QString("%1").arg( theInfo[SMDSEntity_BiQuad_Quadrangle]));
     // poligones
-    myNbPolyg    ->setText( QString("%1").arg( theInfo[SMDSEntity_Polygon] ));
+    myNbPolyg      ->setText( QString("%1").arg( theInfo[SMDSEntity_Polygon] ));
 
     // tetras
-    myNbTetra    ->setText( QString("%1").arg( theInfo[SMDSEntity_Tetra] +
-                                               theInfo[SMDSEntity_Quad_Tetra] ));
-    myNbLinTetra ->setText( QString("%1").arg( theInfo[SMDSEntity_Tetra] ));
-    myNbQuadTetra->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Tetra] ));
+    myNbTetra      ->setText( QString("%1").arg( theInfo[SMDSEntity_Tetra] +
+                                                 theInfo[SMDSEntity_Quad_Tetra] ));
+    myNbLinTetra   ->setText( QString("%1").arg( theInfo[SMDSEntity_Tetra] ));
+    myNbQuadTetra  ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Tetra] ));
     // hexas
-    myNbHexa     ->setText( QString("%1").arg( theInfo[SMDSEntity_Hexa] +
-                                               theInfo[SMDSEntity_TriQuad_Hexa],
-                                               theInfo[SMDSEntity_Quad_Hexa] ));
-    myNbLinHexa  ->setText( QString("%1").arg( theInfo[SMDSEntity_Hexa] ));
-    myNbQuadHexa ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Hexa] +
-                                               theInfo[SMDSEntity_TriQuad_Hexa] ));
+    myNbHexa       ->setText( QString("%1").arg( theInfo[SMDSEntity_Hexa] +
+                                                 theInfo[SMDSEntity_TriQuad_Hexa],
+                                                 theInfo[SMDSEntity_Quad_Hexa] ));
+    myNbLinHexa    ->setText( QString("%1").arg( theInfo[SMDSEntity_Hexa] ));
+    myNbQuadHexa   ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Hexa] ));
+    myNbBiQuadHexa ->setText( QString("%1").arg( theInfo[SMDSEntity_TriQuad_Hexa] ));
     // pyras
     myNbPyra     ->setText( QString("%1").arg( theInfo[SMDSEntity_Pyramid] +
                                                theInfo[SMDSEntity_Quad_Pyramid] ));
index ce40133..92e7529 100644 (file)
@@ -59,16 +59,20 @@ private:
   QLabel* myNbTrai;
   QLabel* myNbLinTrai;
   QLabel* myNbQuadTrai;
+  QLabel* myNbBiQuadTrai;
   QLabel* myNbQuad;
   QLabel* myNbLinQuad;
   QLabel* myNbQuadQuad;
+  QLabel* myNbBiQuadQuad;
   QLabel* myNbFace;
   QLabel* myNbLinFace;
   QLabel* myNbQuadFace;
+  QLabel* myNbBiQuadFace;
   QLabel* myNbPolyg;
   QLabel* myNbHexa;
   QLabel* myNbLinHexa;
   QLabel* myNbQuadHexa;
+  QLabel* myNbBiQuadHexa;
   QLabel* myNbTetra;
   QLabel* myNbLinTetra;
   QLabel* myNbQuadTetra;
@@ -81,6 +85,7 @@ private:
   QLabel* myNbVolum;
   QLabel* myNbLinVolum;
   QLabel* myNbQuadVolum;
+  QLabel* myNbBiQuadVolum;
   QLabel* myNbHexaPrism;
   QLabel* myNbPolyh;
 };
index 350444e..cf5fa1b 100644 (file)
@@ -2041,6 +2041,10 @@ Check algorithm documentation for supported geometry</translation>
         <translation>Quadratic</translation>
     </message>
     <message>
+        <source>SMESH_MESHINFO_ORDER3</source>
+        <translation>Bi-Quadratic</translation>
+    </message>
+    <message>
         <source>SMESH_MESHINFO_HEXAPRISM</source>
         <translation>Hexagonal prisms</translation>
     </message>
@@ -6916,6 +6920,10 @@ as they are of improper type:
         <translation>Quadratic</translation>
     </message>
     <message>
+        <source>BI_QUADRATIC_LAB</source>
+        <translation>Bi-Quadratic</translation>
+    </message>
+    <message>
         <source>0D_LAB</source>
         <translation>0D:</translation>
     </message>
index d3bbaa0..5bb4ca1 100755 (executable)
@@ -2041,6 +2041,10 @@ Référez-vous à la documentation sur l&apos;algorithme et la géométrie suppo
         <translation>Quadratique</translation>
     </message>
     <message>
+        <source>SMESH_MESHINFO_ORDER3</source>
+        <translation type="unfinished">Bi-Quadratic</translation>
+    </message>
+    <message>
         <source>SMESH_MESHINFO_HEXAPRISM</source>
         <translation>Prismes hexagonaux</translation>
     </message>
@@ -6841,6 +6845,10 @@ en raison de leurs types incompatibles:
         <translation>Quadratique</translation>
     </message>
     <message>
+        <source>BI_QUADRATIC_LAB</source>
+        <translation type="unfinished">Bi-Quadratic</translation>
+    </message>
+    <message>
         <source>0D_LAB</source>
         <translation>0D:</translation>
     </message>
index f5e88ad..b9689e5 100644 (file)
       <translation>二次</translation>
     </message>
     <message>
+        <source>SMESH_MESHINFO_ORDER3</source>
+        <translation type="unfinished">Bi-Quadratic</translation>
+    </message>
+    <message>
       <source>SMESH_MESHINFO_HEXAPRISM</source>
       <translation>六角形プリズム</translation>
     </message>
       <translation>二次</translation>
     </message>
     <message>
+        <source>BI_QUADRATIC_LAB</source>
+        <translation type="unfinished">Bi-Quadratic</translation>
+    </message>
+    <message>
       <source>0D_LAB</source>
       <translation>0D:</translation>
     </message>