-// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
//
-// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License.
//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
// File : SMESHGUI_MeshInfosBox.cxx
// Author : Edward AGAPOV, Open CASCADE S.A.S.
// SMESH includes
SMESHGUI_MeshInfosBox::SMESHGUI_MeshInfosBox(const bool full, QWidget* theParent)
: QGroupBox( tr("SMESH_MESHINFO_TITLE"), theParent ), myFull( full ),
- myNbNode(0), my0DElem(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), myNbPolyg(0),
- myNbHexa(0), myNbLinHexa(0), myNbQuadHexa(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),
+ myNbNode(0),
+ 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),
+ myNbPolyg(0),
+ myNbHexa(0), myNbLinHexa(0), myNbQuadHexa(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),
+ myNbHexaPrism(0),
myNbPolyh(0)
{
QGridLayout* l = new QGridLayout(this);
addSeparator(this); // add separator
+ // balls
+ row = l->rowCount(); // retrieve current row count
+ // --
+ lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_BALLS")), this );
+ lab->setFont( bold );
+ l->addWidget( lab, row, 0 );
+ // --
+ myBall = new QLabel( this );
+ l->addWidget( myBall, row, 1 );
+
+ addSeparator(this); // add separator
+
// edges
row = l->rowCount(); // retrieve current row count
// --
l->addWidget( myNbQuadPrism, row, 3 );
// --
row++; // increment row count
+ // ... hexa prisms
+ lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_HEXAPRISM")), this );
+ l->addWidget( lab, row, 0 );
+ // --
+ myNbHexaPrism = new QLabel( this );
+ l->addWidget( myNbHexaPrism, row, 1 );
+ // --
+ row++; // increment row count
// ... polyedres
lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_POLYEDRES")), this );
l->addWidget( lab, row, 0 );
my0DElem = new QLabel( this );
l->addWidget( my0DElem, row, 1 );
+ // balls
+ row = l->rowCount(); // retrieve current row count
+ // --
+ lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_BALLS")), this );
+ l->addWidget( lab, row, 0 );
+ // --
+ myBall = new QLabel( this );
+ l->addWidget( myBall, row, 1 );
+
addSeparator(this); // add separator
// edges
{
// nodes
myNbNode ->setText( QString("%1").arg( theInfo[SMDSEntity_Node] ));
-
+
//0D elements
my0DElem ->setText( QString("%1").arg( theInfo[SMDSEntity_0D] ));
+ //balls
+ myBall ->setText( QString("%1").arg( theInfo[SMDSEntity_Ball] ));
+
// edges
myNbEdge ->setText( QString("%1").arg( theInfo[SMDSEntity_Edge] +
- theInfo[SMDSEntity_Quad_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_Quadrangle] +
- theInfo[SMDSEntity_Quad_Quadrangle] +
- theInfo[SMDSEntity_Polygon] ));
+ theInfo[SMDSEntity_Quad_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] ));
+ theInfo[SMDSEntity_Quadrangle] +
+ theInfo[SMDSEntity_Polygon] ));
myNbQuadFace ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Triangle] +
- theInfo[SMDSEntity_Quad_Quadrangle] ));
+ theInfo[SMDSEntity_Quad_Quadrangle] +
+ 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_Penta] +
- theInfo[SMDSEntity_Quad_Penta] +
- theInfo[SMDSEntity_Polyhedra] ));
+ 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] ));
+ 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] ));
+ theInfo[SMDSEntity_Quad_Pyramid] +
+ theInfo[SMDSEntity_Quad_Hexa] +
+ theInfo[SMDSEntity_TriQuad_Hexa] +
+ theInfo[SMDSEntity_Quad_Penta] ));
if ( myFull )
{
// triangles
myNbTrai ->setText( QString("%1").arg( theInfo[SMDSEntity_Triangle] +
- theInfo[SMDSEntity_Quad_Triangle] ));
+ theInfo[SMDSEntity_Quad_Triangle] ));
myNbLinTrai ->setText( QString("%1").arg( theInfo[SMDSEntity_Triangle] ));
myNbQuadTrai ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Triangle] ));
// quadrangles
myNbQuad ->setText( QString("%1").arg( theInfo[SMDSEntity_Quadrangle] +
- theInfo[SMDSEntity_Quad_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] ));
+ myNbQuadQuad ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Quadrangle] +
+ theInfo[SMDSEntity_BiQuad_Quadrangle]));
// poligones
myNbPolyg ->setText( QString("%1").arg( theInfo[SMDSEntity_Polygon] ));
// tetras
myNbTetra ->setText( QString("%1").arg( theInfo[SMDSEntity_Tetra] +
- theInfo[SMDSEntity_Quad_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_Quad_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] ));
+ myNbQuadHexa ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Hexa] +
+ theInfo[SMDSEntity_TriQuad_Hexa] ));
// pyras
myNbPyra ->setText( QString("%1").arg( theInfo[SMDSEntity_Pyramid] +
- theInfo[SMDSEntity_Quad_Pyramid] ));
+ theInfo[SMDSEntity_Quad_Pyramid] ));
myNbLinPyra ->setText( QString("%1").arg( theInfo[SMDSEntity_Pyramid] ));
myNbQuadPyra ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Pyramid] ));
// prisms
myNbPrism ->setText( QString("%1").arg( theInfo[SMDSEntity_Penta] +
- theInfo[SMDSEntity_Quad_Penta] ));
+ theInfo[SMDSEntity_Quad_Penta] ));
myNbLinPrism ->setText( QString("%1").arg( theInfo[SMDSEntity_Penta] ));
myNbQuadPrism->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Penta] ));
+ // octahedra
+ myNbHexaPrism->setText( QString("%1").arg( theInfo[ SMDSEntity_Hexagonal_Prism ]));
// polyedres
myNbPolyh ->setText( QString("%1").arg( theInfo[SMDSEntity_Polyhedra] ));
}