X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_MeshInfosBox.cxx;h=a56fa2c5ebba76aa07350bc885e647729a72a11b;hb=f0bf265fc0ea849ad1a359e10ad0c9cf6b0b9bb8;hp=7554a7959400562b7d2ffcb4d552c640008231ab;hpb=7af78cc3d0b95ec53ab6ec83a92b1df4a9fb6b2a;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_MeshInfosBox.cxx b/src/SMESHGUI/SMESHGUI_MeshInfosBox.cxx index 7554a7959..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 @@ -61,12 +59,20 @@ enum TCol { 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); @@ -122,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 // -- @@ -266,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 ); @@ -293,6 +319,15 @@ SMESHGUI_MeshInfosBox::SMESHGUI_MeshInfosBox(const bool full, QWidget* theParent 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 @@ -352,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] )); }