X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_MeshInfosBox.cxx;h=a56fa2c5ebba76aa07350bc885e647729a72a11b;hb=d627437f5d8c20e0750973df76c62d55fc19a5e7;hp=ffa85053db24e8dad789e38b0fcf9a5004817221;hpb=40b2818f18601091d81e0d9d749a3fd6808c31ce;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_MeshInfosBox.cxx b/src/SMESHGUI/SMESHGUI_MeshInfosBox.cxx index ffa85053d..a56fa2c5e 100644 --- a/src/SMESHGUI/SMESHGUI_MeshInfosBox.cxx +++ b/src/SMESHGUI/SMESHGUI_MeshInfosBox.cxx @@ -1,24 +1,22 @@ -// 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 @@ -60,7 +58,22 @@ enum TCol { // ========================================================================================= SMESHGUI_MeshInfosBox::SMESHGUI_MeshInfosBox(const bool full, QWidget* theParent) - : QGroupBox( tr("SMESH_MESHINFO_TITLE"), theParent ), myFull( full ) +: QGroupBox( tr("SMESH_MESHINFO_TITLE"), theParent ), myFull( full ), + 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); l->setMargin( MARGIN ); @@ -115,6 +128,18 @@ SMESHGUI_MeshInfosBox::SMESHGUI_MeshInfosBox(const bool full, QWidget* theParent 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 // -- @@ -259,6 +284,14 @@ SMESHGUI_MeshInfosBox::SMESHGUI_MeshInfosBox(const bool full, QWidget* theParent 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 ); @@ -277,6 +310,26 @@ SMESHGUI_MeshInfosBox::SMESHGUI_MeshInfosBox(const bool full, QWidget* theParent myNbNode = new QLabel( this ); l->addWidget( myNbNode, row, 1 ); + // 0D elements + row = l->rowCount(); // retrieve current row count + // -- + lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_0DELEMS")), 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 row = l->rowCount(); // retrieve current row count // -- @@ -334,83 +387,97 @@ void SMESHGUI_MeshInfosBox::SetMeshInfo(const SMESH::long_array& theInfo) { // 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] )); }