#include "SMESHDS_Mesh.hxx"
#include "SMESHGUI.h"
#include "SMESHGUI_FilterUtils.h"
+#include "SMESHGUI_IdPreview.h"
#include "SMESHGUI_IdValidator.h"
#include "SMESHGUI_SpinBox.h"
#include "SMESHGUI_Utils.h"
namespace {
-const int SPACING = 6;
-const int MARGIN = 9;
-const int MAXITEMS = 10;
-const int GROUPS_ID = 100;
-const int SUBMESHES_ID = 200;
-const int SPACING_INFO = 2;
+ const int SPACING = 6;
+ const int MARGIN = 9;
+ const int MAXITEMS = 10;
+ const int GROUPS_ID = 100;
+ const int SUBMESHES_ID = 200;
+ const int SPACING_INFO = 2;
-enum InfoRole {
- TypeRole = Qt::UserRole + 10,
- IdRole,
-};
+ const char* id_preview_resource = "id_preview_resource";
-enum InfoType {
- NodeConnectivity = 100,
- ElemConnectivity,
-};
+ enum InfoRole {
+ TypeRole = Qt::UserRole + 10,
+ IdRole,
+ };
+
+ enum InfoType {
+ NodeConnectivity = 100,
+ ElemConnectivity,
+ };
} // namesapce
/*!
{
setVisible( total > blockSize );
QString format = brief ? QString( "%1-%2 / %3" ) : SMESHGUI_MeshInfoDlg::tr( "X_FROM_Y_ITEMS_SHOWN" );
- current->setText( format.arg( index*blockSize+1 ).arg( qMin( index*blockSize+blockSize, total ) ).arg( total ) );
+ current->setText( format.arg( index*blockSize+1 ).arg( qMin( index*blockSize+blockSize, total )).arg( total ));
prev->setEnabled( index > 0 );
next->setEnabled( (index+1)*blockSize < total );
}
QLabel* a2DTriQuad = createField();
a2DTriQuad->setObjectName("nbQuadraticTriangle");
QLabel* a2DTriBiQuad = createField();
- a2DTriBiQuad->setObjectName("nbBiQuadraticTriangle");
+ a2DTriBiQuad->setObjectName("nbBiQuadraticTriangle");
QLabel* a2DQuaLab = new QLabel( tr( "QUADRANGLES_LAB" ), this );
QLabel* a2DQuaTotal = createField();
a2DQuaTotal->setObjectName("nbQuadrangle");
a3DPriLin->setObjectName("nbLinearPrism");
QLabel* a3DPriQuad = createField();
a3DPriQuad->setObjectName("nbQuadraticPrism");
+ QLabel* a3DPriBiQuad = createField();
+ a3DPriBiQuad->setObjectName("nbBiQuadraticPrism");
QLabel* a3DHexPriLab = new QLabel( tr( "HEX_PRISMS_LAB" ), this );
QLabel* a3DHexPriTotal = createField();
a3DHexPriTotal->setObjectName("nbHexagonalPrism");
myWidgets[ index++ ] << a3DTetLab << a3DTetTotal << a3DTetLin << a3DTetQuad;
myWidgets[ index++ ] << a3DHexLab << a3DHexTotal << a3DHexLin << a3DHexQuad << a3DHexBiQuad;
myWidgets[ index++ ] << a3DPyrLab << a3DPyrTotal << a3DPyrLin << a3DPyrQuad;
- myWidgets[ index++ ] << a3DPriLab << a3DPriTotal << a3DPriLin << a3DPriQuad;
+ myWidgets[ index++ ] << a3DPriLab << a3DPriTotal << a3DPriLin << a3DPriQuad << a3DPriBiQuad;
myWidgets[ index++ ] << a3DHexPriLab << a3DHexPriTotal;
myWidgets[ index++ ] << a3DPolLab << a3DPolTotal;
myLoadBtn = new QPushButton( tr( "BUT_LOAD_MESH" ), this );
myLoadBtn->setAutoDefault( true );
- connect( myLoadBtn, SIGNAL( clicked() ), this, SLOT( loadMesh() ) );
+ connect( myLoadBtn, SIGNAL( clicked() ), this, SLOT( loadMesh() ));
setFontAttributes( aNameLab, Bold );
setFontAttributes( aObjLab, Bold );
l->addWidget( a3DPriTotal, 24, 1 );
l->addWidget( a3DPriLin, 24, 2 );
l->addWidget( a3DPriQuad, 24, 3 );
+ l->addWidget( a3DPriBiQuad, 24, 4 );
l->addWidget( a3DHexPriLab, 25, 0 );
l->addWidget( a3DHexPriTotal, 25, 1 );
l->addWidget( a3DPolLab, 26, 0 );
void SMESHGUI_MeshInfo::showInfo( SMESH::SMESH_IDSource_ptr obj )
{
clear();
- if ( !CORBA::is_nil( obj ) ) {
+ if ( !CORBA::is_nil( obj )) {
_PTR(SObject) sobj = SMESH::ObjectToSObject( obj );
if ( sobj )
myWidgets[iName][iSingle]->setProperty( "text", sobj->GetName().c_str() );
SMESH::SMESH_subMesh_var aSubMesh = SMESH::SMESH_subMesh::_narrow( obj );
SMESH::SMESH_GroupBase_var aGroup = SMESH::SMESH_GroupBase::_narrow( obj );
if ( !aMesh->_is_nil() ) {
- myWidgets[iObject][iSingle]->setProperty( "text", tr( "OBJECT_MESH" ) );
+ myWidgets[iObject][iSingle]->setProperty( "text", tr( "OBJECT_MESH" ));
}
else if ( !aSubMesh->_is_nil() ) {
- myWidgets[iObject][iSingle]->setProperty( "text", tr( "OBJECT_SUBMESH" ) );
+ myWidgets[iObject][iSingle]->setProperty( "text", tr( "OBJECT_SUBMESH" ));
}
else if ( !aGroup->_is_nil() ) {
QString objType;
myWidgets[iObject][iSingle]->setProperty( "text", objType );
}
SMESH::long_array_var info = obj->GetMeshInfo();
- myWidgets[iNodes][iTotal] ->setProperty( "text", QString::number( info[SMDSEntity_Node] ) );
- myWidgets[i0D][iTotal] ->setProperty( "text", QString::number( info[SMDSEntity_0D] ) );
- myWidgets[iBalls][iTotal] ->setProperty( "text", QString::number( info[SMDSEntity_Ball] ) );
+ myWidgets[iNodes][iTotal] ->setProperty( "text", QString::number( info[SMDSEntity_Node] ));
+ myWidgets[i0D][iTotal] ->setProperty( "text", QString::number( info[SMDSEntity_0D] ));
+ myWidgets[iBalls][iTotal] ->setProperty( "text", QString::number( info[SMDSEntity_Ball] ));
long nbEdges = info[SMDSEntity_Edge] + info[SMDSEntity_Quad_Edge];
- 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] ) );
+ 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 nb2DPolygons = info[SMDSEntity_Polygon] + info[SMDSEntity_Quad_Polygon];
long nb2DTotal = nb2DLinear + nb2DQuadratic + nb2DBiQuadratic;
myWidgets[i2D][iTotal] ->setProperty( "text", QString::number( nb2DTotal ));
- 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[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( nb2DPolygons ));
- myWidgets[i2DPolygons][iLinear] ->setProperty( "text", QString::number( info[SMDSEntity_Polygon] ) );
- myWidgets[i2DPolygons][iQuadratic] ->setProperty( "text", QString::number( info[SMDSEntity_Quad_Polygon] ) );
+ myWidgets[i2DPolygons][iLinear] ->setProperty( "text", QString::number( info[SMDSEntity_Polygon] ));
+ myWidgets[i2DPolygons][iQuadratic] ->setProperty( "text", QString::number( info[SMDSEntity_Quad_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 nbPrisms = info[SMDSEntity_Penta] + info[SMDSEntity_Quad_Penta] + info[SMDSEntity_BiQuad_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];
+ long nb3DBiQuadratic = info[SMDSEntity_TriQuad_Hexa] + info[SMDSEntity_BiQuad_Penta];
long nb3DTotal = nb3DLinear + nb3DQuadratic + nb3DBiQuadratic;
- myWidgets[i3D][iTotal] ->setProperty( "text", QString::number( nb3DTotal ) );
- 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] ) );
+ myWidgets[i3D][iTotal] ->setProperty( "text", QString::number( nb3DTotal ));
+ 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[i3DPrisms][iBiQuadratic] ->setProperty( "text", QString::number( info[SMDSEntity_BiQuad_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 + nb2DTotal + nb3DTotal;
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 ) );
+ 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();
if ( selected.Extent() == 1 ) {
Handle(SALOME_InteractiveObject) IO = selected.First();
SMESH::SMESH_IDSource_var obj = SMESH::IObjectToInterface<SMESH::SMESH_IDSource>( IO );
- if ( !CORBA::is_nil( obj ) ) {
+ if ( !CORBA::is_nil( obj )) {
SMESH::SMESH_Mesh_var mesh = obj->GetMesh();
if ( !mesh->_is_nil() )
{
{
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][iLinear] ->setProperty( "text", QString::number( 0 ) );
- myWidgets[i2DPolygons][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[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 ) );
+ 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][iLinear] ->setProperty( "text", QString::number( 0 ));
+ myWidgets[i2DPolygons][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[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 ));
}
/*!
lab->setAlignment( Qt::AlignCenter );
lab->setAutoFillBackground( true );
QPalette pal = lab->palette();
- pal.setColor( QPalette::Window, QApplication::palette().color( QPalette::Active, QPalette::Base ) );
+ pal.setColor( QPalette::Window, QApplication::palette().color( QPalette::Active, QPalette::Base ));
lab->setPalette( pal );
lab->setMinimumWidth( 70 );
return lab;
out << QString( 9, '-' ) << "\n";
out << tr( "BASE_INFO" ) << "\n";
out << QString( 9, '-' ) << "\n";
- out << tr( "NAME_LAB" ) << " " << ( myWidgets[iName][iSingle]->property( "text" ) ).toString() << "\n";
- out << tr( "OBJECT_LAB" ) << " " << ( myWidgets[iObject][iSingle]->property( "text" ) ).toString() << "\n";
- out << tr( "NODES_LAB" ) << " " << ( myWidgets[iNodes][iTotal]->property( "text" ) ).toString() << "\n";
+ out << tr( "NAME_LAB" ) << " " << ( myWidgets[iName][iSingle]->property( "text" )).toString() << "\n";
+ out << tr( "OBJECT_LAB" ) << " " << ( myWidgets[iObject][iSingle]->property( "text" )).toString() << "\n";
+ out << tr( "NODES_LAB" ) << " " << ( myWidgets[iNodes][iTotal]->property( "text" )).toString() << "\n";
out << tr( "ELEMENTS_LAB" ) << "\n";
- 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( "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*2, ' ' ) << tr( "TOTAL_LAB" ) << ": " << ( myWidgets[i0D][iTotal]->property( "text" )).toString() << "\n";
out << QString( SPACING_INFO, ' ' ) << tr( "BALL_LAB" ) << "\n";
- out << QString( SPACING_INFO*2, ' ' ) << tr( "TOTAL_LAB" ) << ": " << ( myWidgets[iBalls][iTotal]->property( "text" ) ).toString() << "\n";
+ out << QString( SPACING_INFO*2, ' ' ) << tr( "TOTAL_LAB" ) << ": " << ( myWidgets[iBalls][iTotal]->property( "text" )).toString() << "\n";
out << QString( SPACING_INFO, ' ' ) << tr( "1D_LAB" ) << "\n";
- out << QString( SPACING_INFO*2, ' ' ) << tr( "TOTAL_LAB" ) << ": " << ( myWidgets[i1D][iTotal]->property( "text" ) ).toString() << "\n";
- out << QString( SPACING_INFO*2, ' ' ) << tr( "LINEAR_LAB" ) << ": " << ( myWidgets[i1D][iLinear]->property( "text" ) ).toString() << "\n";
- out << QString( SPACING_INFO*2, ' ' ) << tr( "QUADRATIC_LAB" ) << ": " << ( myWidgets[i1D][iQuadratic]->property( "text" ) ).toString() << "\n";
+ out << QString( SPACING_INFO*2, ' ' ) << tr( "TOTAL_LAB" ) << ": " << ( myWidgets[i1D][iTotal]->property( "text" )).toString() << "\n";
+ out << QString( SPACING_INFO*2, ' ' ) << tr( "LINEAR_LAB" ) << ": " << ( myWidgets[i1D][iLinear]->property( "text" )).toString() << "\n";
+ out << QString( SPACING_INFO*2, ' ' ) << tr( "QUADRATIC_LAB" ) << ": " << ( myWidgets[i1D][iQuadratic]->property( "text" )).toString() << "\n";
out << QString( SPACING_INFO, ' ' ) << tr( "2D_LAB" ) << "\n";
- 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( "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*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*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*3, ' ' ) << tr( "LINEAR_LAB" ) << ": " << ( myWidgets[i2DPolygons][iLinear]->property( "text" ) ).toString() << "\n";
- out << QString( SPACING_INFO*3, ' ' ) << tr( "QUADRATIC_LAB" ) << ": " << ( myWidgets[i2DPolygons][iQuadratic]->property( "text" ) ).toString() << "\n";
+ out << QString( SPACING_INFO*3, ' ' ) << tr( "TOTAL_LAB" ) << ": " << ( myWidgets[i2DPolygons][iTotal]->property( "text" )).toString() << "\n";
+ out << QString( SPACING_INFO*3, ' ' ) << tr( "LINEAR_LAB" ) << ": " << ( myWidgets[i2DPolygons][iLinear]->property( "text" )).toString() << "\n";
+ out << QString( SPACING_INFO*3, ' ' ) << tr( "QUADRATIC_LAB" ) << ": " << ( myWidgets[i2DPolygons][iQuadratic]->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( "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";
- out << QString( SPACING_INFO*3, ' ' ) << tr( "QUADRATIC_LAB" ) << ": " << ( myWidgets[i3DTetrahedrons][iQuadratic]->property( "text" ) ).toString() << "\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";
+ out << QString( SPACING_INFO*3, ' ' ) << tr( "QUADRATIC_LAB" ) << ": " << ( myWidgets[i3DTetrahedrons][iQuadratic]->property( "text" )).toString() << "\n";
out << QString( SPACING_INFO*2, ' ' ) << tr( "HEXAHEDONRS_LAB" ) << "\n";
- 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*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";
- out << QString( SPACING_INFO*3, ' ' ) << tr( "QUADRATIC_LAB" ) << ": " << ( myWidgets[i3DPyramids][iQuadratic]->property( "text" ) ).toString() << "\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";
+ out << QString( SPACING_INFO*3, ' ' ) << tr( "QUADRATIC_LAB" ) << ": " << ( myWidgets[i3DPyramids][iQuadratic]->property( "text" )).toString() << "\n";
out << QString( SPACING_INFO*2, ' ' ) << tr( "PRISMS_LAB" ) << "\n";
- out << QString( SPACING_INFO*3, ' ' ) << tr( "TOTAL_LAB" ) << ": " << ( myWidgets[i3DPrisms][iTotal]->property( "text" ) ).toString() << "\n";
- out << QString( SPACING_INFO*3, ' ' ) << tr( "LINEAR_LAB" ) << ": " << ( myWidgets[i3DPrisms][iLinear]->property( "text" ) ).toString() << "\n";
- out << QString( SPACING_INFO*3, ' ' ) << tr( "QUADRATIC_LAB" ) << ": " << ( myWidgets[i3DPrisms][iQuadratic]->property( "text" ) ).toString() << "\n";
+ out << QString( SPACING_INFO*3, ' ' ) << tr( "TOTAL_LAB" ) << ": " << ( myWidgets[i3DPrisms][iTotal]->property( "text" )).toString() << "\n";
+ out << QString( SPACING_INFO*3, ' ' ) << tr( "LINEAR_LAB" ) << ": " << ( myWidgets[i3DPrisms][iLinear]->property( "text" )).toString() << "\n";
+ out << QString( SPACING_INFO*3, ' ' ) << tr( "QUADRATIC_LAB" ) << ": " << ( myWidgets[i3DPrisms][iQuadratic]->property( "text" )).toString() << "\n";
out << QString( SPACING_INFO*2, ' ' ) << tr( "HEX_PRISMS_LAB" ) << "\n";
- out << QString( SPACING_INFO*3, ' ' ) << tr( "TOTAL_LAB" ) << ": " << ( myWidgets[i3DHexaPrisms][iTotal]->property( "text" ) ).toString() << "\n";
+ out << QString( SPACING_INFO*3, ' ' ) << tr( "TOTAL_LAB" ) << ": " << ( myWidgets[i3DHexaPrisms][iTotal]->property( "text" )).toString() << "\n";
out << QString( SPACING_INFO*2, ' ' ) << tr( "POLYHEDRONS_LAB" ) << "\n";
- out << QString( SPACING_INFO*3, ' ' ) << tr( "TOTAL_LAB" ) << ": " << ( myWidgets[i3DPolyhedrons][iTotal]->property( "text" ) ).toString() << "\n" << "\n";
+ out << QString( SPACING_INFO*3, ' ' ) << tr( "TOTAL_LAB" ) << ": " << ( myWidgets[i3DPolyhedrons][iTotal]->property( "text" )).toString() << "\n" << "\n";
}
/*!
\param parent parent widget
*/
SMESHGUI_ElemInfo::SMESHGUI_ElemInfo( QWidget* parent )
-: QWidget( parent ), myActor( 0 ), myIsElement( -1 )
+ : QWidget( parent ), myActor( 0 ), myIsElement( -1 )
{
myFrame = new QWidget( this );
myExtra = new ExtraWidget( this );
vbl->setSpacing( 0 );
vbl->addWidget( myFrame );
vbl->addWidget( myExtra );
- connect( myExtra->prev, SIGNAL( clicked() ), this, SLOT( showPrevious() ) );
- connect( myExtra->next, SIGNAL( clicked() ), this, SLOT( showNext() ) );
+ connect( myExtra->prev, SIGNAL( clicked() ), this, SLOT( showPrevious() ));
+ connect( myExtra->next, SIGNAL( clicked() ), this, SLOT( showNext() ));
clear();
}
\brief Set mesh data source (actor)
\param actor mesh object actor
*/
-void SMESHGUI_ElemInfo::setSource( SMESH_Actor* actor )
+void SMESHGUI_ElemInfo::setSource( SMESH_Actor* actor, SMESH::SMESH_IDSource_var obj )
{
if ( myActor != actor ) {
myActor = actor;
myIsElement = -1;
+ SMESH::SMESH_Mesh_var mesh = obj->GetMesh();
+ myMeshHasShape = ( !mesh->_is_nil() && mesh->HasShapeToMesh() );
clear();
}
}
myIsElement = isElem;
myIndex = 0;
updateControls();
- information( myIDs.mid( myIndex*MAXITEMS, MAXITEMS ) );
+ information( myIDs.mid( myIndex*MAXITEMS, MAXITEMS ));
}
/*!
QString SMESHGUI_ElemInfo::formatConnectivity( Connectivity connectivity, int type )
{
QStringList str;
- if ( connectivity.contains( type ) ) {
+ if ( connectivity.contains( type )) {
QList<int> elements = connectivity[ type ];
qSort( elements );
foreach( int id, elements )
*/
SMESHGUI_ElemInfo::XYZ SMESHGUI_ElemInfo::normal( const SMDS_MeshElement* element )
{
- gp_XYZ n = SMESH::getNormale( dynamic_cast<const SMDS_MeshFace*>( element ) );
+ gp_XYZ n = SMESH::getNormale( dynamic_cast<const SMDS_MeshFace*>( element ));
return XYZ(n.X(), n.Y(), n.Z());
}
{
myIndex = qMax( 0, myIndex-1 );
updateControls();
- information( myIDs.mid( myIndex*MAXITEMS, MAXITEMS ) );
+ information( myIDs.mid( myIndex*MAXITEMS, MAXITEMS ));
}
/*!
{
myIndex = qMin( myIndex+1, myIDs.count() / MAXITEMS );
updateControls();
- information( myIDs.mid( myIndex*MAXITEMS, MAXITEMS ) );
+ information( myIDs.mid( myIndex*MAXITEMS, MAXITEMS ));
}
/*!
\param parent parent widget
*/
SMESHGUI_SimpleElemInfo::SMESHGUI_SimpleElemInfo( QWidget* parent )
-: SMESHGUI_ElemInfo( parent )
+ : SMESHGUI_ElemInfo( parent )
{
myInfo = new QTextBrowser( frame() );
QVBoxLayout* l = new QVBoxLayout( frame() );
void SMESHGUI_SimpleElemInfo::information( const QList<long>& ids )
{
clearInternal();
-
+
if ( actor() ) {
int grp_details = SMESHGUI::resourceMgr()->booleanValue( "SMESH", "elem_info_grp_details", false );
int precision = SMESHGUI::resourceMgr()->integerValue( "SMESH", "length_precision", 6 );
int cprecision = -1;
- if ( SMESHGUI::resourceMgr()->booleanValue( "SMESH", "use_precision", false ) )
+ if ( SMESHGUI::resourceMgr()->booleanValue( "SMESH", "use_precision", false ))
cprecision = SMESHGUI::resourceMgr()->integerValue( "SMESH", "controls_precision", -1 );
foreach ( long id, ids ) {
if ( !isElements() ) {
if ( !node ) return;
// node ID
- myInfo->append( QString( "<b>%1 #%2</b>" ).arg( SMESHGUI_ElemInfo::tr( "NODE" ) ).arg( id ) );
+ myInfo->append( QString( "<b>%1 #%2</b>" ).arg( SMESHGUI_ElemInfo::tr( "NODE" )).arg( id ));
// separator
myInfo->append( "" );
// coordinates
- myInfo->append( QString( "<b>%1:</b> (%2, %3, %4)" ).arg( SMESHGUI_ElemInfo::tr( "COORDINATES" ) ).
- arg( node->X(), 0, precision > 0 ? 'f' : 'g', qAbs( precision ) ).
- arg( node->Y(), 0, precision > 0 ? 'f' : 'g', qAbs( precision ) ).
- arg( node->Z(), 0, precision > 0 ? 'f' : 'g', qAbs( precision ) ) );
+ myInfo->append( QString( "<b>%1:</b> (%2, %3, %4)" ).arg( SMESHGUI_ElemInfo::tr( "COORDINATES" )).
+ arg( node->X(), 0, precision > 0 ? 'f' : 'g', qAbs( precision )).
+ arg( node->Y(), 0, precision > 0 ? 'f' : 'g', qAbs( precision )).
+ arg( node->Z(), 0, precision > 0 ? 'f' : 'g', qAbs( precision )) );
// separator
myInfo->append( "" );
// connectivity
Connectivity connectivity = nodeConnectivity( node );
if ( !connectivity.isEmpty() ) {
- myInfo->append( QString( "<b>%1:</b>" ).arg( SMESHGUI_ElemInfo::tr( "CONNECTIVITY" ) ) );
+ myInfo->append( QString( "<b>%1:</b>" ).arg( SMESHGUI_ElemInfo::tr( "CONNECTIVITY" )) );
QString con = formatConnectivity( connectivity, SMDSAbs_0DElement );
if ( !con.isEmpty() )
- myInfo->append( QString( "- <b>%1:</b> %2" ).arg( SMESHGUI_ElemInfo::tr( "0D_ELEMENTS" ) ).arg( con ) );
+ myInfo->append( QString( "- <b>%1:</b> %2" ).arg( SMESHGUI_ElemInfo::tr( "0D_ELEMENTS" )).arg( con ));
con = formatConnectivity( connectivity, SMDSAbs_Edge );
if ( !con.isEmpty() )
- myInfo->append( QString( "- <b>%1:</b> %2" ).arg( SMESHGUI_ElemInfo::tr( "EDGES" ) ).arg( con ) );
+ myInfo->append( QString( "- <b>%1:</b> %2" ).arg( SMESHGUI_ElemInfo::tr( "EDGES" )).arg( con ));
con = formatConnectivity( connectivity, SMDSAbs_Ball );
if ( !con.isEmpty() )
- myInfo->append( QString( "- <b>%1:</b> %2" ).arg( SMESHGUI_ElemInfo::tr( "BALL_ELEMENTS" ) ).arg( con ) );
+ myInfo->append( QString( "- <b>%1:</b> %2" ).arg( SMESHGUI_ElemInfo::tr( "BALL_ELEMENTS" )).arg( con ));
con = formatConnectivity( connectivity, SMDSAbs_Face );
if ( !con.isEmpty() )
- myInfo->append( QString( "- <b>%1:</b> %2" ).arg( SMESHGUI_ElemInfo::tr( "FACES" ) ).arg( con ) );
+ myInfo->append( QString( "- <b>%1:</b> %2" ).arg( SMESHGUI_ElemInfo::tr( "FACES" )).arg( con ));
con = formatConnectivity( connectivity, SMDSAbs_Volume );
if ( !con.isEmpty() )
- myInfo->append( QString( "- <b>%1:</b> %2" ).arg( SMESHGUI_ElemInfo::tr( "VOLUMES" ) ).arg( con ) );
+ myInfo->append( QString( "- <b>%1:</b> %2" ).arg( SMESHGUI_ElemInfo::tr( "VOLUMES" )).arg( con ));
}
else {
- myInfo->append( QString( "<b>%1</b>" ).arg( SMESHGUI_ElemInfo::tr( "FREE_NODE" ) ).arg( id ) );
+ myInfo->append( QString( "<b>%1</b>" ).arg( SMESHGUI_ElemInfo::tr( "FREE_NODE" )).arg( id ));
}
// node position
- SMESH::SMESH_Mesh_ptr aMeshPtr = actor()->GetObject()->GetMeshServer();
- if ( !CORBA::is_nil( aMeshPtr ) ) {
+ SMESH::SMESH_Mesh_ptr aMeshPtr = actor()->GetObject()->GetMeshServer();
+ if ( !CORBA::is_nil( aMeshPtr )) {
SMESH::NodePosition_var pos = aMeshPtr->GetNodePosition( id );
int shapeID = pos->shapeID;
if ( shapeID > 0 ) {
case GEOM::FACE:
shapeType = SMESHGUI_ElemInfo::tr( "GEOM_FACE" );
if ( pos->params.length() == 2 ) {
- u = pos->params[0];
- v = pos->params[1];
+ u = pos->params[0];
+ v = pos->params[1];
}
break;
case GEOM::VERTEX:
}
// separator
myInfo->append( "" );
- myInfo->append( QString( "<b>%1:" ).arg( SMESHGUI_ElemInfo::tr( "POSITION" ) ) );
- myInfo->append( QString( "- <b>%1: #%2</b>" ).arg( shapeType ).arg( shapeID ) );
+ myInfo->append( QString( "<b>%1:" ).arg( SMESHGUI_ElemInfo::tr( "POSITION" )) );
+ myInfo->append( QString( "- <b>%1: #%2</b>" ).arg( shapeType ).arg( shapeID ));
if ( pos->shapeType == GEOM::EDGE || pos->shapeType == GEOM::FACE ) {
- myInfo->append( QString( "- <b>%1: #%2</b>" ).arg( SMESHGUI_ElemInfo::tr( "U_POSITION" ) ).
- arg( QString::number( u, precision > 0 ? 'f' : 'g', qAbs( precision )) ) );
+ myInfo->append( QString( "- <b>%1: #%2</b>" ).arg( SMESHGUI_ElemInfo::tr( "U_POSITION" )).
+ arg( QString::number( u, precision > 0 ? 'f' : 'g', qAbs( precision )) ));
if ( pos->shapeType == GEOM::FACE ) {
- myInfo->append( QString( "- <b>%1: #%2</b>" ).arg( SMESHGUI_ElemInfo::tr( "V_POSITION" ) ).
- arg( QString::number( v, precision > 0 ? 'f' : 'g', qAbs( precision )) ) );
+ myInfo->append( QString( "- <b>%1: #%2</b>" ).arg( SMESHGUI_ElemInfo::tr( "V_POSITION" )).
+ arg( QString::number( v, precision > 0 ? 'f' : 'g', qAbs( precision )) ));
}
}
}
}
// groups node belongs to
SMESH::SMESH_Mesh_ptr aMesh = actor()->GetObject()->GetMeshServer();
- if ( !CORBA::is_nil( aMesh ) ) {
+ if ( !CORBA::is_nil( aMesh )) {
SMESH::ListOfGroups_var groups = aMesh->GetGroups();
myInfo->append( "" ); // separator
bool top_created = false;
for ( CORBA::ULong i = 0; i < groups->length(); i++ ) {
SMESH::SMESH_GroupBase_var aGrp = groups[i];
- if ( CORBA::is_nil( aGrp ) ) continue;
+ if ( CORBA::is_nil( aGrp )) continue;
QString aName = aGrp->GetName();
- if ( aGrp->GetType() == SMESH::NODE && !aName.isEmpty() && aGrp->Contains( id ) ) {
+ if ( aGrp->GetType() == SMESH::NODE && !aName.isEmpty() && aGrp->Contains( id )) {
if ( !top_created ) {
- myInfo->append( QString( "<b>%1:</b>" ).arg( SMESHGUI_AddInfo::tr( "GROUPS" ) ) );
+ myInfo->append( QString( "<b>%1:</b>" ).arg( SMESHGUI_AddInfo::tr( "GROUPS" )) );
top_created = true;
}
- myInfo->append( QString( "+ <b>%1:</b>" ).arg( aName.trimmed() ) );
+ myInfo->append( QString( "+ <b>%1:</b>" ).arg( aName.trimmed() ));
if ( grp_details ) {
SMESH::SMESH_Group_var aStdGroup = SMESH::SMESH_Group::_narrow( aGrp );
SMESH::SMESH_GroupOnGeom_var aGeomGroup = SMESH::SMESH_GroupOnGeom::_narrow( aGrp );
SMESH::SMESH_GroupOnFilter_var aFltGroup = SMESH::SMESH_GroupOnFilter::_narrow( aGrp );
-
+
// type : group on geometry, standalone group, group on filter
- if ( !CORBA::is_nil( aStdGroup ) ) {
- myInfo->append( QString( " - <b>%1:</b> %2" ).arg( SMESHGUI_AddInfo::tr( "TYPE" ) ).
- arg( SMESHGUI_AddInfo::tr( "STANDALONE_GROUP" ) ) );
+ if ( !CORBA::is_nil( aStdGroup )) {
+ myInfo->append( QString( " - <b>%1:</b> %2" ).arg( SMESHGUI_AddInfo::tr( "TYPE" )).
+ arg( SMESHGUI_AddInfo::tr( "STANDALONE_GROUP" )) );
}
- else if ( !CORBA::is_nil( aGeomGroup ) ) {
- myInfo->append( QString( " - <b>%1:</b> %2" ).arg( SMESHGUI_AddInfo::tr( "TYPE" ) ).
- arg( SMESHGUI_AddInfo::tr( "GROUP_ON_GEOMETRY" ) ) );
+ else if ( !CORBA::is_nil( aGeomGroup )) {
+ myInfo->append( QString( " - <b>%1:</b> %2" ).arg( SMESHGUI_AddInfo::tr( "TYPE" )).
+ arg( SMESHGUI_AddInfo::tr( "GROUP_ON_GEOMETRY" )) );
GEOM::GEOM_Object_var gobj = aGeomGroup->GetShape();
_PTR(SObject) sobj = SMESH::ObjectToSObject( gobj );
if ( sobj ) {
- myInfo->append( QString( " - <b>%1:</b> %2: %3" ).arg( SMESHGUI_AddInfo::tr( "TYPE" ) ).
- arg( SMESHGUI_AddInfo::tr( "GEOM_OBJECT" ) ).arg( sobj->GetName().c_str() ) );
+ myInfo->append( QString( " - <b>%1:</b> %2: %3" ).arg( SMESHGUI_AddInfo::tr( "TYPE" )).
+ arg( SMESHGUI_AddInfo::tr( "GEOM_OBJECT" )).arg( sobj->GetName().c_str() ));
}
}
- else if ( !CORBA::is_nil( aFltGroup ) ) {
- myInfo->append( QString( " - <b>%1:</b> %2" ).arg( SMESHGUI_AddInfo::tr( "TYPE" ) ).
- arg( SMESHGUI_AddInfo::tr( "GROUP_ON_FILTER" ) ) );
+ else if ( !CORBA::is_nil( aFltGroup )) {
+ myInfo->append( QString( " - <b>%1:</b> %2" ).arg( SMESHGUI_AddInfo::tr( "TYPE" )).
+ arg( SMESHGUI_AddInfo::tr( "GROUP_ON_FILTER" )) );
}
-
+
// size
- myInfo->append( QString( " - <b>%1:</b> %2" ).arg( SMESHGUI_AddInfo::tr( "SIZE" ) ).
- arg( QString::number( aGrp->Size() ) ) );
-
+ myInfo->append( QString( " - <b>%1:</b> %2" ).arg( SMESHGUI_AddInfo::tr( "SIZE" )).
+ arg( QString::number( aGrp->Size() )) );
+
// color
SALOMEDS::Color color = aGrp->GetColor();
- myInfo->append( QString( " - <b>%1:</b> %2" ).arg( SMESHGUI_AddInfo::tr( "COLOR" ) ).
- arg( QColor( color.R*255., color.G*255., color.B*255. ).name() ) );
+ myInfo->append( QString( " - <b>%1:</b> %2" ).arg( SMESHGUI_AddInfo::tr( "COLOR" )).
+ arg( QColor( color.R*255., color.G*255., color.B*255. ).name() ));
}
}
}
else {
//
// show element info
- //
+ //
const SMDS_MeshElement* e = actor()->GetObject()->GetMesh()->FindElement( id );
SMESH::Controls::NumericalFunctorPtr afunctor;
if ( !e ) return;
-
+
// Element ID && Type
QString stype;
switch( e->GetType() ) {
stype = SMESHGUI_ElemInfo::tr( "FACE" ); break;
case SMDSAbs_Volume:
stype = SMESHGUI_ElemInfo::tr( "VOLUME" ); break;
- default:
+ default:
break;
}
if ( stype.isEmpty() ) return;
- myInfo->append( QString( "<b>%1 #%2</b>" ).arg( stype ).arg( id ) );
+ myInfo->append( QString( "<b>%1 #%2</b>" ).arg( stype ).arg( id ));
// separator
myInfo->append( "" );
gtype = SMESHGUI_ElemInfo::tr( "HEXAHEDRON" ); break;
case SMDSEntity_Penta:
case SMDSEntity_Quad_Penta:
+ case SMDSEntity_BiQuad_Penta:
gtype = SMESHGUI_ElemInfo::tr( "PRISM" ); break;
case SMDSEntity_Hexagonal_Prism:
gtype = SMESHGUI_ElemInfo::tr( "HEX_PRISM" ); break;
case SMDSEntity_Polyhedra:
case SMDSEntity_Quad_Polyhedra:
gtype = SMESHGUI_ElemInfo::tr( "POLYHEDRON" ); break;
- default:
+ default:
break;
}
if ( !gtype.isEmpty() )
- myInfo->append( QString( "<b>%1:</b> %2" ).arg( SMESHGUI_ElemInfo::tr( "TYPE" ) ).arg( gtype ) );
+ myInfo->append( QString( "<b>%1:</b> %2" ).arg( SMESHGUI_ElemInfo::tr( "TYPE" )).arg( gtype ));
// Quadratic flag (any element except 0D)
if ( e->GetEntityType() > SMDSEntity_0D && e->GetEntityType() < SMDSEntity_Ball ) {
- myInfo->append( QString( "<b>%1?</b> %2" ).arg( SMESHGUI_ElemInfo::tr( "QUADRATIC" ) ).arg( e->IsQuadratic() ? SMESHGUI_ElemInfo::tr( "YES" ) : SMESHGUI_ElemInfo::tr( "NO" ) ) );
+ myInfo->append( QString( "<b>%1?</b> %2" ).arg( SMESHGUI_ElemInfo::tr( "QUADRATIC" )).arg( e->IsQuadratic() ? SMESHGUI_ElemInfo::tr( "YES" ) : SMESHGUI_ElemInfo::tr( "NO" )) );
}
if ( const SMDS_BallElement* ball = dynamic_cast<const SMDS_BallElement*>( e )) {
// Ball diameter
- myInfo->append( QString( "<b>%1:</b> %2" ).arg( SMESHGUI_ElemInfo::tr( "BALL_DIAMETER" ) ).arg( ball->GetDiameter() ));
+ myInfo->append( QString( "<b>%1:</b> %2" ).arg( SMESHGUI_ElemInfo::tr( "BALL_DIAMETER" )).arg( ball->GetDiameter() ));
}
// separator
myInfo->append( "" );
for ( int idx = 1; nodeIt->more(); idx++ ) {
const SMDS_MeshNode* node = static_cast<const SMDS_MeshNode*>( nodeIt->next() );
// node number and ID
- myInfo->append( QString( "<b>%1 %2/%3</b> - #%4" ).arg( SMESHGUI_ElemInfo::tr( "NODE" ) ).arg( idx ).arg( e->NbNodes() ).arg( node->GetID() ) );
+ myInfo->append( QString( "<b>%1 %2/%3</b> - #%4" ).arg( SMESHGUI_ElemInfo::tr( "NODE" )).arg( idx ).arg( e->NbNodes() ).arg( node->GetID() ));
// node coordinates
- myInfo->append( QString( "<b>%1:</b> (%2, %3, %4)" ).arg( SMESHGUI_ElemInfo::tr( "COORDINATES" ) ).
- arg( node->X(), 0, precision > 0 ? 'f' : 'g', qAbs( precision ) ).
- arg( node->Y(), 0, precision > 0 ? 'f' : 'g', qAbs( precision ) ).
- arg( node->Z(), 0, precision > 0 ? 'f' : 'g', qAbs( precision ) ) );
+ myInfo->append( QString( "<b>%1:</b> (%2, %3, %4)" ).arg( SMESHGUI_ElemInfo::tr( "COORDINATES" )).
+ arg( node->X(), 0, precision > 0 ? 'f' : 'g', qAbs( precision )).
+ arg( node->Y(), 0, precision > 0 ? 'f' : 'g', qAbs( precision )).
+ arg( node->Z(), 0, precision > 0 ? 'f' : 'g', qAbs( precision )) );
// node connectivity
Connectivity connectivity = nodeConnectivity( node );
if ( !connectivity.isEmpty() ) {
- myInfo->append( QString( "<b>%1:</b>" ).arg( SMESHGUI_ElemInfo::tr( "CONNECTIVITY" ) ) );
+ myInfo->append( QString( "<b>%1:</b>" ).arg( SMESHGUI_ElemInfo::tr( "CONNECTIVITY" )) );
QString con = formatConnectivity( connectivity, SMDSAbs_0DElement );
if ( !con.isEmpty() )
- myInfo->append( QString( "- <b>%1:</b> %2" ).arg( SMESHGUI_ElemInfo::tr( "0D_ELEMENTS" ) ).arg( con ) );
+ myInfo->append( QString( "- <b>%1:</b> %2" ).arg( SMESHGUI_ElemInfo::tr( "0D_ELEMENTS" )).arg( con ));
con = formatConnectivity( connectivity, SMDSAbs_Edge );
if ( !con.isEmpty() )
- myInfo->append( QString( "- <b>%1:</b> %2" ).arg( SMESHGUI_ElemInfo::tr( "EDGES" ) ).arg( con ) );
+ myInfo->append( QString( "- <b>%1:</b> %2" ).arg( SMESHGUI_ElemInfo::tr( "EDGES" )).arg( con ));
con = formatConnectivity( connectivity, SMDSAbs_Face );
if ( !con.isEmpty() )
- myInfo->append( QString( "- <b>%1:</b> %2" ).arg( SMESHGUI_ElemInfo::tr( "FACES" ) ).arg( con ) );
+ myInfo->append( QString( "- <b>%1:</b> %2" ).arg( SMESHGUI_ElemInfo::tr( "FACES" )).arg( con ));
con = formatConnectivity( connectivity, SMDSAbs_Volume );
if ( !con.isEmpty() )
- myInfo->append( QString( "- <b>%1:</b> %2" ).arg( SMESHGUI_ElemInfo::tr( "VOLUMES" ) ).arg( con ) );
+ myInfo->append( QString( "- <b>%1:</b> %2" ).arg( SMESHGUI_ElemInfo::tr( "VOLUMES" )).arg( con ));
}
else {
- myInfo->append( QString( "<b>%1</b>" ).arg( SMESHGUI_ElemInfo::tr( "FREE_NODE" ) ).arg( id ) );
+ myInfo->append( QString( "<b>%1</b>" ).arg( SMESHGUI_ElemInfo::tr( "FREE_NODE" )).arg( id ));
}
}
// separator
myInfo->append( "" );
// Controls
- myInfo->append( QString( "<b>%1:</b>" ).arg( SMESHGUI_ElemInfo::tr( "CONTROLS" ) ) );
+ myInfo->append( QString( "<b>%1:</b>" ).arg( SMESHGUI_ElemInfo::tr( "CONTROLS" )) );
//Length
if ( e->GetType() == SMDSAbs_Edge ) {
afunctor.reset( new SMESH::Controls::Length() );
afunctor->SetMesh( actor()->GetObject()->GetMesh() );
afunctor->SetPrecision( cprecision );
- myInfo->append( QString( "- <b>%1:</b> %2" ).arg( tr( "LENGTH_EDGES" ) ).arg( afunctor->GetValue( id ) ) );
+ myInfo->append( QString( "- <b>%1:</b> %2" ).arg( tr( "LENGTH_EDGES" )).arg( afunctor->GetValue( id )) );
}
if( e->GetType() == SMDSAbs_Face ) {
//Area
afunctor.reset( new SMESH::Controls::Area() );
afunctor->SetMesh( actor()->GetObject()->GetMesh() );
- afunctor->SetPrecision( cprecision );
- myInfo->append( QString( "- <b>%1:</b> %2" ).arg( tr( "AREA_ELEMENTS" ) ).arg( afunctor->GetValue( id ) ) );
+ afunctor->SetPrecision( cprecision );
+ myInfo->append( QString( "- <b>%1:</b> %2" ).arg( tr( "AREA_ELEMENTS" )).arg( afunctor->GetValue( id )) );
//Taper
afunctor.reset( new SMESH::Controls::Taper() );
- afunctor->SetMesh( actor()->GetObject()->GetMesh() );
+ afunctor->SetMesh( actor()->GetObject()->GetMesh() );
afunctor->SetPrecision( cprecision );
- myInfo->append( QString( "- <b>%1:</b> %2" ).arg( tr( "TAPER_ELEMENTS" ) ).arg( afunctor->GetValue( id ) ) );
+ myInfo->append( QString( "- <b>%1:</b> %2" ).arg( tr( "TAPER_ELEMENTS" )).arg( afunctor->GetValue( id )) );
//AspectRatio2D
afunctor.reset( new SMESH::Controls::AspectRatio() );
afunctor->SetMesh( actor()->GetObject()->GetMesh() );
- myInfo->append( QString( "- <b>%1:</b> %2" ).arg( tr( "ASPECTRATIO_ELEMENTS" ) ).arg( afunctor->GetValue( id ) ) );
- //Minimum angle
+ myInfo->append( QString( "- <b>%1:</b> %2" ).arg( tr( "ASPECTRATIO_ELEMENTS" )).arg( afunctor->GetValue( id )) );
+ //Minimum angle
afunctor.reset( new SMESH::Controls::MinimumAngle() );
afunctor->SetMesh( actor()->GetObject()->GetMesh() );
afunctor->SetPrecision( cprecision );
- myInfo->append( QString( "- <b>%1:</b> %2" ).arg( tr( "MINIMUMANGLE_ELEMENTS" ) ).arg( afunctor->GetValue( id ) ) );
- //Wraping angle
+ myInfo->append( QString( "- <b>%1:</b> %2" ).arg( tr( "MINIMUMANGLE_ELEMENTS" )).arg( afunctor->GetValue( id )) );
+ //Warping angle
afunctor.reset( new SMESH::Controls::Warping() );
afunctor->SetMesh( actor()->GetObject()->GetMesh() );
afunctor->SetPrecision( cprecision );
- myInfo->append( QString( "- <b>%1:</b> %2" ).arg( tr( "WARP_ELEMENTS" ) ).arg( afunctor->GetValue( id ) ) );
- //Skew
+ myInfo->append( QString( "- <b>%1:</b> %2" ).arg( tr( "WARP_ELEMENTS" )).arg( afunctor->GetValue( id )) );
+ //Skew
afunctor.reset( new SMESH::Controls::Skew() );
afunctor->SetMesh( actor()->GetObject()->GetMesh() );
afunctor->SetPrecision( cprecision );
- myInfo->append( QString( "- <b>%1:</b> %2" ).arg( tr( "SKEW_ELEMENTS" ) ).arg( afunctor->GetValue( id ) ) );
- //ElemDiam2D
+ myInfo->append( QString( "- <b>%1:</b> %2" ).arg( tr( "SKEW_ELEMENTS" )).arg( afunctor->GetValue( id )) );
+ //ElemDiam2D
afunctor.reset( new SMESH::Controls::MaxElementLength2D() );
afunctor->SetMesh( actor()->GetObject()->GetMesh() );
- myInfo->append( QString( "- <b>%1:</b> %2" ).arg( tr( "MAX_ELEMENT_LENGTH_2D" ) ).arg( afunctor->GetValue( id ) ) );
+ afunctor->SetPrecision( cprecision );
+ myInfo->append( QString( "- <b>%1:</b> %2" ).arg( tr( "MAX_ELEMENT_LENGTH_2D" )).arg( afunctor->GetValue( id )) );
+ //min edge length
+ afunctor.reset( new SMESH::Controls::Length2D() );
+ afunctor->SetMesh( actor()->GetObject()->GetMesh() );
+ myInfo->append( QString( "- <b>%1:</b> %2" ).arg( tr( "MIN_ELEM_EDGE" )).arg( afunctor->GetValue( id )) );
}
if( e->GetType() == SMDSAbs_Volume ) {
//AspectRatio3D
afunctor.reset( new SMESH::Controls::AspectRatio3D() );
afunctor->SetMesh( actor()->GetObject()->GetMesh() );
- myInfo->append( QString( "- <b>%1:</b> %2" ).arg( tr( "ASPECTRATIO_3D_ELEMENTS" ) ).arg( afunctor->GetValue( id ) ) );
- //Volume
+ myInfo->append( QString( "- <b>%1:</b> %2" ).arg( tr( "ASPECTRATIO_3D_ELEMENTS" )).arg( afunctor->GetValue( id )) );
+ //Volume
afunctor.reset( new SMESH::Controls::Volume() );
afunctor->SetMesh( actor()->GetObject()->GetMesh() );
- myInfo->append( QString( "- <b>%1:</b> %2" ).arg( tr( "VOLUME_3D_ELEMENTS" ) ).arg( afunctor->GetValue( id ) ) );
- //ElementDiameter3D
+ myInfo->append( QString( "- <b>%1:</b> %2" ).arg( tr( "VOLUME_3D_ELEMENTS" )).arg( afunctor->GetValue( id )) );
+ //ElementDiameter3D
afunctor.reset( new SMESH::Controls::Volume() );
afunctor->SetMesh( actor()->GetObject()->GetMesh() );
- myInfo->append( QString( "- <b>%1:</b> %2" ).arg( tr( "MAX_ELEMENT_LENGTH_3D" ) ).arg( afunctor->GetValue( id ) ) );
+ myInfo->append( QString( "- <b>%1:</b> %2" ).arg( tr( "MAX_ELEMENT_LENGTH_3D" )).arg( afunctor->GetValue( id )) );
}
// separator
myInfo->append( "" );
// Gravity center
XYZ gc = gravityCenter( e );
- myInfo->append( QString( "<b>%1:</b> (%2, %3, %4)" ).arg( SMESHGUI_ElemInfo::tr( "GRAVITY_CENTER" ) ).arg( gc.x() ).arg( gc.y() ).arg( gc.z() ) );
-
+ myInfo->append( QString( "<b>%1:</b> (%2, %3, %4)" ).arg( SMESHGUI_ElemInfo::tr( "GRAVITY_CENTER" )).arg( gc.x() ).arg( gc.y() ).arg( gc.z() ));
+
// Normal vector
if( e->GetType() == SMDSAbs_Face ) {
XYZ gc = normal( e );
- myInfo->append( QString( "<b>%1:</b> (%2, %3, %4)" ).arg( SMESHGUI_ElemInfo::tr( "NORMAL_VECTOR" ) ).arg( gc.x() ).arg( gc.y() ).arg( gc.z() ) );
+ myInfo->append( QString( "<b>%1:</b> (%2, %3, %4)" ).arg( SMESHGUI_ElemInfo::tr( "NORMAL_VECTOR" )).arg( gc.x() ).arg( gc.y() ).arg( gc.z() ));
}
// Element position
if ( e->GetType() >= SMDSAbs_Edge && e->GetType() <= SMDSAbs_Volume ) {
- SMESH::SMESH_Mesh_ptr aMesh = actor()->GetObject()->GetMeshServer();
- if ( !CORBA::is_nil( aMesh ) ) {
+ SMESH::SMESH_Mesh_ptr aMesh = actor()->GetObject()->GetMeshServer();
+ if ( !CORBA::is_nil( aMesh )) {
SMESH::ElementPosition pos = aMesh->GetElementPosition( id );
int shapeID = pos.shapeID;
if ( shapeID > 0 ) {
case GEOM::SHELL: shapeType = SMESHGUI_ElemInfo::tr( "GEOM_SHELL" ); break;
default: shapeType = SMESHGUI_ElemInfo::tr( "GEOM_SHAPE" ); break;
}
- myInfo->append( QString( "<b>%1:</b> %2 #%3" ).arg( SMESHGUI_ElemInfo::tr( "POSITION" ) ).arg( shapeType ).arg( shapeID ) );
+ myInfo->append( QString( "<b>%1:</b> %2 #%3" ).arg( SMESHGUI_ElemInfo::tr( "POSITION" )).arg( shapeType ).arg( shapeID ));
}
}
}
// Groups the element belongs to
SMESH::SMESH_Mesh_ptr aMesh = actor()->GetObject()->GetMeshServer();
- if ( !CORBA::is_nil( aMesh ) ) {
+ if ( !CORBA::is_nil( aMesh )) {
SMESH::ListOfGroups_var groups = aMesh->GetGroups();
myInfo->append( "" ); // separator
bool top_created = false;
for ( CORBA::ULong i = 0; i < groups->length(); i++ ) {
SMESH::SMESH_GroupBase_var aGrp = groups[i];
- if ( CORBA::is_nil( aGrp ) ) continue;
+ if ( CORBA::is_nil( aGrp )) continue;
QString aName = aGrp->GetName();
- if ( aGrp->GetType() != SMESH::NODE && !aName.isEmpty() && aGrp->Contains( id ) ) {
+ if ( aGrp->GetType() != SMESH::NODE && !aName.isEmpty() && aGrp->Contains( id )) {
if ( !top_created ) {
- myInfo->append( QString( "<b>%1:</b>" ).arg( SMESHGUI_AddInfo::tr( "GROUPS" ) ) );
+ myInfo->append( QString( "<b>%1:</b>" ).arg( SMESHGUI_AddInfo::tr( "GROUPS" )) );
top_created = true;
}
- myInfo->append( QString( "+ <b>%1:</b>" ).arg( aName.trimmed() ) );
+ myInfo->append( QString( "+ <b>%1:</b>" ).arg( aName.trimmed() ));
if ( grp_details ) {
SMESH::SMESH_Group_var aStdGroup = SMESH::SMESH_Group::_narrow( aGrp );
SMESH::SMESH_GroupOnGeom_var aGeomGroup = SMESH::SMESH_GroupOnGeom::_narrow( aGrp );
SMESH::SMESH_GroupOnFilter_var aFltGroup = SMESH::SMESH_GroupOnFilter::_narrow( aGrp );
-
+
// type : group on geometry, standalone group, group on filter
- if ( !CORBA::is_nil( aStdGroup ) ) {
- myInfo->append( QString( " - <b>%1:</b> %2" ).arg( SMESHGUI_AddInfo::tr( "TYPE" ) ).
- arg( SMESHGUI_AddInfo::tr( "STANDALONE_GROUP" ) ) );
+ if ( !CORBA::is_nil( aStdGroup )) {
+ myInfo->append( QString( " - <b>%1:</b> %2" ).arg( SMESHGUI_AddInfo::tr( "TYPE" )).
+ arg( SMESHGUI_AddInfo::tr( "STANDALONE_GROUP" )) );
}
- else if ( !CORBA::is_nil( aGeomGroup ) ) {
- myInfo->append( QString( " - <b>%1:</b> %2" ).arg( SMESHGUI_AddInfo::tr( "TYPE" ) ).
- arg( SMESHGUI_AddInfo::tr( "GROUP_ON_GEOMETRY" ) ) );
+ else if ( !CORBA::is_nil( aGeomGroup )) {
+ myInfo->append( QString( " - <b>%1:</b> %2" ).arg( SMESHGUI_AddInfo::tr( "TYPE" )).
+ arg( SMESHGUI_AddInfo::tr( "GROUP_ON_GEOMETRY" )) );
GEOM::GEOM_Object_var gobj = aGeomGroup->GetShape();
_PTR(SObject) sobj = SMESH::ObjectToSObject( gobj );
if ( sobj ) {
- myInfo->append( QString( " - <b>%1:</b> %2: %3" ).arg( SMESHGUI_AddInfo::tr( "TYPE" ) ).
- arg( SMESHGUI_AddInfo::tr( "GEOM_OBJECT" ) ).arg( sobj->GetName().c_str() ) );
+ myInfo->append( QString( " - <b>%1:</b> %2: %3" ).arg( SMESHGUI_AddInfo::tr( "TYPE" )).
+ arg( SMESHGUI_AddInfo::tr( "GEOM_OBJECT" )).arg( sobj->GetName().c_str() ));
}
}
- else if ( !CORBA::is_nil( aFltGroup ) ) {
- myInfo->append( QString( " - <b>%1:</b> %2" ).arg( SMESHGUI_AddInfo::tr( "TYPE" ) ).
- arg( SMESHGUI_AddInfo::tr( "GROUP_ON_FILTER" ) ) );
+ else if ( !CORBA::is_nil( aFltGroup )) {
+ myInfo->append( QString( " - <b>%1:</b> %2" ).arg( SMESHGUI_AddInfo::tr( "TYPE" )).
+ arg( SMESHGUI_AddInfo::tr( "GROUP_ON_FILTER" )) );
}
-
- myInfo->append( QString( " - <b>%1:</b> %2" ).arg( SMESHGUI_AddInfo::tr( "SIZE" ) ).
- arg( QString::number( aGrp->Size() ) ) );
-
+
+ myInfo->append( QString( " - <b>%1:</b> %2" ).arg( SMESHGUI_AddInfo::tr( "SIZE" )).
+ arg( QString::number( aGrp->Size() )) );
+
// color
SALOMEDS::Color color = aGrp->GetColor();
- myInfo->append( QString( " - <b>%1:</b> %2" ).arg( SMESHGUI_AddInfo::tr( "COLOR" ) ).
- arg( QColor( color.R*255., color.G*255., color.B*255. ).name() ) );
+ myInfo->append( QString( " - <b>%1:</b> %2" ).arg( SMESHGUI_AddInfo::tr( "COLOR" )).
+ arg( QColor( color.R*255., color.G*255., color.B*255. ).name() ));
}
}
}
QWidget* SMESHGUI_TreeElemInfo::ItemDelegate::createEditor( QWidget* parent, const QStyleOptionViewItem& option, const QModelIndex& index ) const
{
QWidget* w = index.column() == 0 ? 0: QItemDelegate::createEditor( parent, option, index );
- if ( qobject_cast<QLineEdit*>( w ) ) qobject_cast<QLineEdit*>( w )->setReadOnly( true );
+ if ( qobject_cast<QLineEdit*>( w )) qobject_cast<QLineEdit*>( w )->setReadOnly( true );
return w;
}
\param parent parent widget
*/
SMESHGUI_TreeElemInfo::SMESHGUI_TreeElemInfo( QWidget* parent )
-: SMESHGUI_ElemInfo( parent )
+ : SMESHGUI_ElemInfo( parent )
{
myInfo = new QTreeWidget( frame() );
myInfo->setColumnCount( 2 );
- myInfo->setHeaderLabels( QStringList() << tr( "PROPERTY" ) << tr( "VALUE" ) );
+ myInfo->setHeaderLabels( QStringList() << tr( "PROPERTY" ) << tr( "VALUE" ));
myInfo->header()->setStretchLastSection( true );
#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
myInfo->header()->setResizeMode( 0, QHeaderView::ResizeToContents );
#else
myInfo->header()->setSectionResizeMode( 0, QHeaderView::ResizeToContents );
#endif
- myInfo->setItemDelegate( new ItemDelegate( myInfo ) );
+ myInfo->setItemDelegate( new ItemDelegate( myInfo ));
QVBoxLayout* l = new QVBoxLayout( frame() );
l->setMargin( 0 );
l->addWidget( myInfo );
- connect( myInfo, SIGNAL( itemDoubleClicked( QTreeWidgetItem*, int ) ), this, SLOT( itemDoubleClicked( QTreeWidgetItem*, int ) ) );
+ connect( myInfo, SIGNAL( itemDoubleClicked( QTreeWidgetItem*, int )), this, SLOT( itemDoubleClicked( QTreeWidgetItem*, int )) );
+ connect( myInfo, SIGNAL( itemCollapsed( QTreeWidgetItem* )), this, SLOT( saveExpanded( QTreeWidgetItem* )) );
+ connect( myInfo, SIGNAL( itemExpanded( QTreeWidgetItem* )), this, SLOT( saveExpanded( QTreeWidgetItem* )) );
}
/*!
int grp_details = SMESHGUI::resourceMgr()->booleanValue( "SMESH", "elem_info_grp_details", false );
int precision = SMESHGUI::resourceMgr()->integerValue( "SMESH", "length_precision", 6 );
int cprecision = -1;
- if ( SMESHGUI::resourceMgr()->booleanValue( "SMESH", "use_precision", false ) )
+ if ( SMESHGUI::resourceMgr()->booleanValue( "SMESH", "use_precision", false ))
cprecision = SMESHGUI::resourceMgr()->integerValue( "SMESH", "controls_precision", -1 );
foreach ( long id, ids ) {
if ( !isElements() ) {
// node ID
QTreeWidgetItem* nodeItem = createItem( 0, Bold | All );
- nodeItem->setText( 0, SMESHGUI_ElemInfo::tr( "NODE" ) );
- nodeItem->setText( 1, QString( "#%1" ).arg( id ) );
+ nodeItem->setText( 0, SMESHGUI_ElemInfo::tr( "NODE" ));
+ nodeItem->setText( 1, QString( "#%1" ).arg( id ));
// coordinates
QTreeWidgetItem* coordItem = createItem( nodeItem, Bold );
- coordItem->setText( 0, SMESHGUI_ElemInfo::tr( "COORDINATES" ) );
+ coordItem->setText( 0, SMESHGUI_ElemInfo::tr( "COORDINATES" ));
QTreeWidgetItem* xItem = createItem( coordItem );
xItem->setText( 0, "X" );
- xItem->setText( 1, QString::number( node->X(), precision > 0 ? 'f' : 'g', qAbs( precision ) ) );
+ xItem->setText( 1, QString::number( node->X(), precision > 0 ? 'f' : 'g', qAbs( precision )) );
QTreeWidgetItem* yItem = createItem( coordItem );
yItem->setText( 0, "Y" );
- yItem->setText( 1, QString::number( node->Y(), precision > 0 ? 'f' : 'g', qAbs( precision ) ) );
+ yItem->setText( 1, QString::number( node->Y(), precision > 0 ? 'f' : 'g', qAbs( precision )) );
QTreeWidgetItem* zItem = createItem( coordItem );
zItem->setText( 0, "Z" );
- zItem->setText( 1, QString::number( node->Z(), precision > 0 ? 'f' : 'g', qAbs( precision ) ) );
+ zItem->setText( 1, QString::number( node->Z(), precision > 0 ? 'f' : 'g', qAbs( precision )) );
// connectivity
QTreeWidgetItem* conItem = createItem( nodeItem, Bold );
- conItem->setText( 0, SMESHGUI_ElemInfo::tr( "CONNECTIVITY" ) );
+ conItem->setText( 0, SMESHGUI_ElemInfo::tr( "CONNECTIVITY" ));
Connectivity connectivity = nodeConnectivity( node );
if ( !connectivity.isEmpty() ) {
QString con = formatConnectivity( connectivity, SMDSAbs_0DElement );
if ( !con.isEmpty() ) {
QTreeWidgetItem* i = createItem( conItem );
- i->setText( 0, SMESHGUI_ElemInfo::tr( "0D_ELEMENTS" ) );
+ i->setText( 0, SMESHGUI_ElemInfo::tr( "0D_ELEMENTS" ));
i->setText( 1, con );
}
con = formatConnectivity( connectivity, SMDSAbs_Ball );
if ( !con.isEmpty() ) {
QTreeWidgetItem* i = createItem( conItem );
- i->setText( 0, SMESHGUI_ElemInfo::tr( "BALL_ELEMENTS" ) );
+ i->setText( 0, SMESHGUI_ElemInfo::tr( "BALL_ELEMENTS" ));
i->setText( 1, con );
i->setData( 1, TypeRole, NodeConnectivity );
}
con = formatConnectivity( connectivity, SMDSAbs_Edge );
if ( !con.isEmpty() ) {
QTreeWidgetItem* i = createItem( conItem );
- i->setText( 0, SMESHGUI_ElemInfo::tr( "EDGES" ) );
+ i->setText( 0, SMESHGUI_ElemInfo::tr( "EDGES" ));
i->setText( 1, con );
i->setData( 1, TypeRole, NodeConnectivity );
}
con = formatConnectivity( connectivity, SMDSAbs_Face );
if ( !con.isEmpty() ) {
QTreeWidgetItem* i = createItem( conItem );
- i->setText( 0, SMESHGUI_ElemInfo::tr( "FACES" ) );
+ i->setText( 0, SMESHGUI_ElemInfo::tr( "FACES" ));
i->setText( 1, con );
i->setData( 1, TypeRole, NodeConnectivity );
}
con = formatConnectivity( connectivity, SMDSAbs_Volume );
if ( !con.isEmpty() ) {
QTreeWidgetItem* i = createItem( conItem );
- i->setText( 0, SMESHGUI_ElemInfo::tr( "VOLUMES" ) );
+ i->setText( 0, SMESHGUI_ElemInfo::tr( "VOLUMES" ));
i->setText( 1, con );
i->setData( 1, TypeRole, NodeConnectivity );
}
}
else {
- conItem->setText( 1, SMESHGUI_ElemInfo::tr( "FREE_NODE" ) );
+ conItem->setText( 1, SMESHGUI_ElemInfo::tr( "FREE_NODE" ));
}
// node position
SMESH::SMESH_Mesh_ptr aMeshPtr = actor()->GetObject()->GetMeshServer();
- if ( !CORBA::is_nil( aMeshPtr ) ) {
+ if ( !CORBA::is_nil( aMeshPtr )) {
SMESH::NodePosition_var pos = aMeshPtr->GetNodePosition( id );
int shapeID = pos->shapeID;
if ( shapeID > 0 ) {
}
// groups node belongs to
SMESH::SMESH_Mesh_ptr aMesh = actor()->GetObject()->GetMeshServer();
- if ( !CORBA::is_nil( aMesh ) ) {
+ if ( !CORBA::is_nil( aMesh )) {
SMESH::ListOfGroups_var groups = aMesh->GetGroups();
QTreeWidgetItem* groupsItem = 0;
for ( CORBA::ULong i = 0; i < groups->length(); i++ ) {
SMESH::SMESH_GroupBase_var aGrp = groups[i];
- if ( CORBA::is_nil( aGrp ) ) continue;
+ if ( CORBA::is_nil( aGrp )) continue;
QString aName = aGrp->GetName();
- if ( aGrp->GetType() == SMESH::NODE && !aName.isEmpty() && aGrp->Contains( id ) ) {
+ if ( aGrp->GetType() == SMESH::NODE && !aName.isEmpty() && aGrp->Contains( id )) {
if ( !groupsItem ) {
groupsItem = createItem( nodeItem, Bold );
- groupsItem->setText( 0, SMESHGUI_AddInfo::tr( "GROUPS" ) );
+ groupsItem->setText( 0, SMESHGUI_AddInfo::tr( "GROUPS" ));
}
QTreeWidgetItem* it = createItem( groupsItem, Bold );
it->setText( 0, aName.trimmed() );
// type : group on geometry, standalone group, group on filter
QTreeWidgetItem* typeItem = createItem( it );
- typeItem->setText( 0, SMESHGUI_AddInfo::tr( "TYPE" ) );
- if ( !CORBA::is_nil( aStdGroup ) ) {
- typeItem->setText( 1, SMESHGUI_AddInfo::tr( "STANDALONE_GROUP" ) );
+ typeItem->setText( 0, SMESHGUI_AddInfo::tr( "TYPE" ));
+ if ( !CORBA::is_nil( aStdGroup )) {
+ typeItem->setText( 1, SMESHGUI_AddInfo::tr( "STANDALONE_GROUP" ));
}
- else if ( !CORBA::is_nil( aGeomGroup ) ) {
- typeItem->setText( 1, SMESHGUI_AddInfo::tr( "GROUP_ON_GEOMETRY" ) );
+ else if ( !CORBA::is_nil( aGeomGroup )) {
+ typeItem->setText( 1, SMESHGUI_AddInfo::tr( "GROUP_ON_GEOMETRY" ));
GEOM::GEOM_Object_var gobj = aGeomGroup->GetShape();
_PTR(SObject) sobj = SMESH::ObjectToSObject( gobj );
if ( sobj ) {
QTreeWidgetItem* gobjItem = createItem( typeItem );
- gobjItem->setText( 0, SMESHGUI_AddInfo::tr( "GEOM_OBJECT" ) );
+ gobjItem->setText( 0, SMESHGUI_AddInfo::tr( "GEOM_OBJECT" ));
gobjItem->setText( 1, sobj->GetName().c_str() );
}
}
- else if ( !CORBA::is_nil( aFltGroup ) ) {
- typeItem->setText( 1, SMESHGUI_AddInfo::tr( "GROUP_ON_FILTER" ) );
+ else if ( !CORBA::is_nil( aFltGroup )) {
+ typeItem->setText( 1, SMESHGUI_AddInfo::tr( "GROUP_ON_FILTER" ));
}
// size
QTreeWidgetItem* sizeItem = createItem( it );
- sizeItem->setText( 0, SMESHGUI_AddInfo::tr( "SIZE" ) );
- sizeItem->setText( 1, QString::number( aGrp->Size() ) );
+ sizeItem->setText( 0, SMESHGUI_AddInfo::tr( "SIZE" ));
+ sizeItem->setText( 1, QString::number( aGrp->Size() ));
// color
SALOMEDS::Color color = aGrp->GetColor();
QTreeWidgetItem* colorItem = createItem( it );
- colorItem->setText( 0, SMESHGUI_AddInfo::tr( "COLOR" ) );
- colorItem->setBackground( 1, QBrush( QColor( color.R*255., color.G*255., color.B*255.) ) );
+ colorItem->setText( 0, SMESHGUI_AddInfo::tr( "COLOR" ));
+ colorItem->setBackground( 1, QBrush( QColor( color.R*255., color.G*255., color.B*255.) ));
}
}
}
if ( stype.isEmpty() ) return;
QTreeWidgetItem* elemItem = createItem( 0, Bold | All );
elemItem->setText( 0, stype );
- elemItem->setText( 1, QString( "#%1" ).arg( id ) );
+ elemItem->setText( 1, QString( "#%1" ).arg( id ));
// geometry type
QString gtype;
switch( e->GetEntityType() ) {
gtype = SMESHGUI_ElemInfo::tr( "HEXAHEDRON" ); break;
case SMDSEntity_Penta:
case SMDSEntity_Quad_Penta:
+ case SMDSEntity_BiQuad_Penta:
gtype = SMESHGUI_ElemInfo::tr( "PRISM" ); break;
case SMDSEntity_Hexagonal_Prism:
gtype = SMESHGUI_ElemInfo::tr( "HEX_PRISM" ); break;
}
if ( !gtype.isEmpty() ) {
QTreeWidgetItem* typeItem = createItem( elemItem, Bold );
- typeItem->setText( 0, SMESHGUI_ElemInfo::tr( "TYPE" ) );
+ typeItem->setText( 0, SMESHGUI_ElemInfo::tr( "TYPE" ));
typeItem->setText( 1, gtype );
}
// quadratic flag (for edges, faces and volumes)
if ( e->GetType() >= SMDSAbs_Edge && e->GetType() <= SMDSAbs_Volume ) {
// quadratic flag
QTreeWidgetItem* quadItem = createItem( elemItem, Bold );
- quadItem->setText( 0, SMESHGUI_ElemInfo::tr( "QUADRATIC" ) );
- quadItem->setText( 1, e->IsQuadratic() ? SMESHGUI_ElemInfo::tr( "YES" ) : SMESHGUI_ElemInfo::tr( "NO" ) );
+ quadItem->setText( 0, SMESHGUI_ElemInfo::tr( "QUADRATIC" ));
+ quadItem->setText( 1, e->IsQuadratic() ? SMESHGUI_ElemInfo::tr( "YES" ) : SMESHGUI_ElemInfo::tr( "NO" ));
}
if ( const SMDS_BallElement* ball = dynamic_cast<const SMDS_BallElement*>( e )) {
// ball diameter
QTreeWidgetItem* diamItem = createItem( elemItem, Bold );
- diamItem->setText( 0, SMESHGUI_ElemInfo::tr( "BALL_DIAMETER" ) );
+ diamItem->setText( 0, SMESHGUI_ElemInfo::tr( "BALL_DIAMETER" ));
diamItem->setText( 1, QString( "%1" ).arg( ball->GetDiameter() ));
}
// connectivity
QTreeWidgetItem* conItem = createItem( elemItem, Bold );
- conItem->setText( 0, SMESHGUI_ElemInfo::tr( "CONNECTIVITY" ) );
+ conItem->setText( 0, SMESHGUI_ElemInfo::tr( "CONNECTIVITY" ));
if( e->GetGeomType() != SMDSGeom_POLYHEDRA ) {
const int nbFaces = vtool.NbFaces();
for( int face_id = 0; face_id < nbFaces; face_id++ ) {
QTreeWidgetItem* faceItem = createItem( conItem, Bold );
- faceItem->setText( 0, QString( "%1 %2 / %3" ).arg( SMESHGUI_ElemInfo::tr( "FACE" ) ).arg( face_id + 1 ).arg( nbFaces ) );
+ faceItem->setText( 0, QString( "%1 %2 / %3" ).arg( SMESHGUI_ElemInfo::tr( "FACE" )).arg( face_id + 1 ).arg( nbFaces ));
faceItem->setExpanded( true );
const SMDS_MeshNode** aNodeIds = vtool.GetFaceNodes( face_id );
}
//Controls
QTreeWidgetItem* cntrItem = createItem( elemItem, Bold );
- cntrItem->setText( 0, SMESHGUI_ElemInfo::tr( "CONTROLS" ) );
+ cntrItem->setText( 0, SMESHGUI_ElemInfo::tr( "CONTROLS" ));
//Length
- if( e->GetType()==SMDSAbs_Edge){
+ if( e->GetType()==SMDSAbs_Edge){
afunctor.reset( new SMESH::Controls::Length() );
afunctor->SetMesh( actor()->GetObject()->GetMesh() );
afunctor->SetPrecision( cprecision );
QTreeWidgetItem* lenItem = createItem( cntrItem, Bold );
- lenItem->setText( 0, tr( "LENGTH_EDGES" ) );
- lenItem->setText( 1, QString( "%1" ).arg( afunctor->GetValue( id ) ) );
+ lenItem->setText( 0, tr( "LENGTH_EDGES" ));
+ lenItem->setText( 1, QString( "%1" ).arg( afunctor->GetValue( id )) );
}
if( e->GetType() == SMDSAbs_Face ) {
- //Area
- afunctor.reset( new SMESH::Controls::Area() );
+ //Area
+ afunctor.reset( new SMESH::Controls::Area() );
afunctor->SetMesh( actor()->GetObject()->GetMesh() );
afunctor->SetPrecision( cprecision );
QTreeWidgetItem* areaItem = createItem( cntrItem, Bold );
- areaItem->setText( 0, tr( "AREA_ELEMENTS" ) );
- areaItem->setText( 1, QString( "%1" ).arg( afunctor->GetValue(id) ) );
+ areaItem->setText( 0, tr( "AREA_ELEMENTS" ));
+ areaItem->setText( 1, QString( "%1" ).arg( afunctor->GetValue(id) ));
//Taper
- afunctor.reset( new SMESH::Controls::Taper() );
- afunctor->SetMesh( actor()->GetObject()->GetMesh() );
- afunctor->SetPrecision( cprecision );
- QTreeWidgetItem* taperlItem = createItem( cntrItem, Bold );
- taperlItem->setText( 0, tr( "TAPER_ELEMENTS" ) );
- taperlItem->setText( 1, QString( "%1" ).arg( afunctor->GetValue( id ) ) );
+ if ( e->NbNodes() == 4 ) // see SMESH_Controls.cxx
+ {
+ afunctor.reset( new SMESH::Controls::Taper() );
+ afunctor->SetMesh( actor()->GetObject()->GetMesh() );
+ afunctor->SetPrecision( cprecision );
+ QTreeWidgetItem* taperlItem = createItem( cntrItem, Bold );
+ taperlItem->setText( 0, tr( "TAPER_ELEMENTS" ));
+ taperlItem->setText( 1, QString( "%1" ).arg( afunctor->GetValue( id )) );
+ //Warping angle
+ afunctor.reset( new SMESH::Controls::Warping() );
+ afunctor->SetMesh( actor()->GetObject()->GetMesh() );
+ afunctor->SetPrecision( cprecision );
+ QTreeWidgetItem* warpItem = createItem( cntrItem, Bold );
+ warpItem->setText( 0, tr( "WARP_ELEMENTS" ));
+ warpItem->setText( 1, QString( "%1" ).arg( afunctor->GetValue( id )) );
+ }
//AspectRatio2D
- afunctor.reset( new SMESH::Controls::AspectRatio() );
- afunctor->SetMesh( actor()->GetObject()->GetMesh() );
- QTreeWidgetItem* ratlItem = createItem( cntrItem, Bold );
- ratlItem->setText( 0, tr( "ASPECTRATIO_ELEMENTS" ));
- ratlItem->setText( 1, QString( "%1" ).arg( afunctor->GetValue( id ) ) );
+ if ( !e->IsPoly() )
+ {
+ afunctor.reset( new SMESH::Controls::AspectRatio() );
+ afunctor->SetMesh( actor()->GetObject()->GetMesh() );
+ QTreeWidgetItem* ratlItem = createItem( cntrItem, Bold );
+ ratlItem->setText( 0, tr( "ASPECTRATIO_ELEMENTS" ));
+ ratlItem->setText( 1, QString( "%1" ).arg( afunctor->GetValue( id )) );
+ }
//Minimum angle
afunctor.reset( new SMESH::Controls::MinimumAngle() );
afunctor->SetMesh( actor()->GetObject()->GetMesh() );
afunctor->SetPrecision( cprecision );
QTreeWidgetItem* minanglItem = createItem( cntrItem, Bold );
- minanglItem->setText( 0, tr( "MINIMUMANGLE_ELEMENTS" ) );
- minanglItem->setText( 1, QString( "%1" ).arg( afunctor->GetValue( id ) ) );
- //Wraping angle
- afunctor.reset( new SMESH::Controls::Warping() );
- afunctor->SetMesh( actor()->GetObject()->GetMesh() );
- afunctor->SetPrecision( cprecision );
- QTreeWidgetItem* warpItem = createItem( cntrItem, Bold );
- warpItem->setText( 0, tr( "WARP_ELEMENTS" ));
- warpItem->setText( 1, QString( "%1" ).arg( afunctor->GetValue( id ) ) );
- //Skew
- afunctor.reset( new SMESH::Controls::Skew() );
- afunctor->SetMesh( actor()->GetObject()->GetMesh() );
- afunctor->SetPrecision( cprecision );
- QTreeWidgetItem* skewItem = createItem( cntrItem, Bold );
- skewItem->setText( 0, tr( "SKEW_ELEMENTS" ) );
- skewItem->setText( 1, QString( "%1" ).arg( afunctor->GetValue( id ) ) );
- //ElemDiam2D
- afunctor.reset( new SMESH::Controls::MaxElementLength2D() );
- afunctor->SetMesh( actor()->GetObject()->GetMesh() );
- QTreeWidgetItem* diamItem = createItem( cntrItem, Bold );
- diamItem->setText( 0, tr( "MAX_ELEMENT_LENGTH_2D" ));
- diamItem->setText( 1, QString( "%1" ).arg( afunctor->GetValue( id ) ) );
+ minanglItem->setText( 0, tr( "MINIMUMANGLE_ELEMENTS" ));
+ minanglItem->setText( 1, QString( "%1" ).arg( afunctor->GetValue( id )) );
+ //Skew
+ if ( e->NbNodes() == 3 || e->NbNodes() == 4 )
+ {
+ afunctor.reset( new SMESH::Controls::Skew() );
+ afunctor->SetMesh( actor()->GetObject()->GetMesh() );
+ afunctor->SetPrecision( cprecision );
+ QTreeWidgetItem* skewItem = createItem( cntrItem, Bold );
+ skewItem->setText( 0, tr( "SKEW_ELEMENTS" ));
+ skewItem->setText( 1, QString( "%1" ).arg( afunctor->GetValue( id )) );
+ }
+ //Deflection
+ if ( hasShapeToMesh() )
+ {
+ afunctor.reset( new SMESH::Controls::Deflection2D() );
+ afunctor->SetMesh( actor()->GetObject()->GetMesh() );
+ QTreeWidgetItem* deflItem = createItem( cntrItem, Bold );
+ deflItem->setText( 0, tr( "DEFLECTION_2D" ));
+ deflItem->setText( 1, QString( "%1" ).arg( afunctor->GetValue( id )) );
+ }
+ //ElemDiam2D
+ if ( !e->IsPoly() )
+ {
+ afunctor.reset( new SMESH::Controls::MaxElementLength2D() );
+ afunctor->SetMesh( actor()->GetObject()->GetMesh() );
+ QTreeWidgetItem* diamItem = createItem( cntrItem, Bold );
+ diamItem->setText( 0, tr( "MAX_ELEMENT_LENGTH_2D" ));
+ diamItem->setText( 1, QString( "%1" ).arg( afunctor->GetValue( id )) );
+ }
}
if( e->GetType() == SMDSAbs_Volume ) {
- //AspectRatio3D
- afunctor.reset( new SMESH::Controls::AspectRatio3D() );
- afunctor->SetMesh( actor()->GetObject()->GetMesh() );
- QTreeWidgetItem* ratlItem3 = createItem( cntrItem, Bold );
- ratlItem3->setText( 0, tr( "ASPECTRATIO_3D_ELEMENTS" ) );
- ratlItem3->setText( 1, QString( "%1" ).arg( afunctor->GetValue( id ) ) );
+ if ( !e->IsPoly() )
+ {
+ //AspectRatio3D
+ afunctor.reset( new SMESH::Controls::AspectRatio3D() );
+ afunctor->SetMesh( actor()->GetObject()->GetMesh() );
+ QTreeWidgetItem* ratlItem3 = createItem( cntrItem, Bold );
+ ratlItem3->setText( 0, tr( "ASPECTRATIO_3D_ELEMENTS" ));
+ ratlItem3->setText( 1, QString( "%1" ).arg( afunctor->GetValue( id )) );
+ }
//Volume
afunctor.reset( new SMESH::Controls::Volume() );
afunctor->SetMesh( actor()->GetObject()->GetMesh() );
QTreeWidgetItem* volItem = createItem( cntrItem, Bold );
- volItem->setText( 0, tr( "VOLUME_3D_ELEMENTS" ) );
- volItem->setText( 1, QString( "%1" ).arg( afunctor->GetValue( id ) ) );
+ volItem->setText( 0, tr( "VOLUME_3D_ELEMENTS" ));
+ volItem->setText( 1, QString( "%1" ).arg( afunctor->GetValue( id )) );
//ElementDiameter3D
afunctor.reset( new SMESH::Controls::MaxElementLength3D() );
afunctor->SetMesh( actor()->GetObject()->GetMesh() );
QTreeWidgetItem* diam3Item = createItem( cntrItem, Bold );
- diam3Item->setText( 0, tr( "MAX_ELEMENT_LENGTH_3D" ) );
- diam3Item->setText( 1, QString( "%1" ).arg( afunctor->GetValue( id ) ) );
+ diam3Item->setText( 0, tr( "MAX_ELEMENT_LENGTH_3D" ));
+ diam3Item->setText( 1, QString( "%1" ).arg( afunctor->GetValue( id )) );
}
+ //min edge length
+ afunctor.reset( new SMESH::Controls::Length2D() );
+ afunctor->SetMesh( actor()->GetObject()->GetMesh() );
+ QTreeWidgetItem* minEdgeItem = createItem( cntrItem, Bold );
+ minEdgeItem->setText( 0, tr( "MIN_ELEM_EDGE" ));
+ minEdgeItem->setText( 1, QString( "%1" ).arg( afunctor->GetValue( id )) );
+
// gravity center
XYZ gc = gravityCenter( e );
QTreeWidgetItem* gcItem = createItem( elemItem, Bold );
- gcItem->setText( 0, SMESHGUI_ElemInfo::tr( "GRAVITY_CENTER" ) );
+ gcItem->setText( 0, SMESHGUI_ElemInfo::tr( "GRAVITY_CENTER" ));
QTreeWidgetItem* xItem = createItem( gcItem );
xItem->setText( 0, "X" );
- xItem->setText( 1, QString::number( gc.x(), precision > 0 ? 'f' : 'g', qAbs( precision ) ) );
+ xItem->setText( 1, QString::number( gc.x(), precision > 0 ? 'f' : 'g', qAbs( precision )) );
QTreeWidgetItem* yItem = createItem( gcItem );
yItem->setText( 0, "Y" );
- yItem->setText( 1, QString::number( gc.y(), precision > 0 ? 'f' : 'g', qAbs( precision ) ) );
+ yItem->setText( 1, QString::number( gc.y(), precision > 0 ? 'f' : 'g', qAbs( precision )) );
QTreeWidgetItem* zItem = createItem( gcItem );
zItem->setText( 0, "Z" );
- zItem->setText( 1, QString::number( gc.z(), precision > 0 ? 'f' : 'g', qAbs( precision ) ) );
+ zItem->setText( 1, QString::number( gc.z(), precision > 0 ? 'f' : 'g', qAbs( precision )) );
// normal vector
if( e->GetType() == SMDSAbs_Face ) {
XYZ gc = normal( e );
QTreeWidgetItem* nItem = createItem( elemItem, Bold );
- nItem->setText( 0, SMESHGUI_ElemInfo::tr( "NORMAL_VECTOR" ) );
+ nItem->setText( 0, SMESHGUI_ElemInfo::tr( "NORMAL_VECTOR" ));
QTreeWidgetItem* xItem = createItem( nItem );
xItem->setText( 0, "X" );
- xItem->setText( 1, QString::number( gc.x(), precision > 0 ? 'f' : 'g', qAbs( precision ) ) );
+ xItem->setText( 1, QString::number( gc.x(), precision > 0 ? 'f' : 'g', qAbs( precision )) );
QTreeWidgetItem* yItem = createItem( nItem );
yItem->setText( 0, "Y" );
- yItem->setText( 1, QString::number( gc.y(), precision > 0 ? 'f' : 'g', qAbs( precision ) ) );
+ yItem->setText( 1, QString::number( gc.y(), precision > 0 ? 'f' : 'g', qAbs( precision )) );
QTreeWidgetItem* zItem = createItem( nItem );
zItem->setText( 0, "Z" );
- zItem->setText( 1, QString::number( gc.z(), precision > 0 ? 'f' : 'g', qAbs( precision ) ) );
+ zItem->setText( 1, QString::number( gc.z(), precision > 0 ? 'f' : 'g', qAbs( precision )) );
}
// element position
SMESH::SMESH_Mesh_ptr aMesh = actor()->GetObject()->GetMeshServer();
if ( e->GetType() >= SMDSAbs_Edge && e->GetType() <= SMDSAbs_Volume ) {
- if ( !CORBA::is_nil( aMesh ) ) {
+ if ( !CORBA::is_nil( aMesh )) {
SMESH::ElementPosition pos = aMesh->GetElementPosition( id );
int shapeID = pos.shapeID;
if ( shapeID > 0 ) {
case GEOM::SHELL: shapeType = SMESHGUI_ElemInfo::tr( "GEOM_SHELL" ); break;
default: shapeType = SMESHGUI_ElemInfo::tr( "GEOM_SHAPE" ); break;
}
- shItem->setText( 0, SMESHGUI_ElemInfo::tr( "POSITION" ) );
- shItem->setText( 1, QString( "%1 #%2" ).arg( shapeType ).arg( shapeID ) );
+ shItem->setText( 0, SMESHGUI_ElemInfo::tr( "POSITION" ));
+ shItem->setText( 1, QString( "%1 #%2" ).arg( shapeType ).arg( shapeID ));
}
}
}
// groups element belongs to
- if ( !CORBA::is_nil( aMesh ) ) {
+ if ( !CORBA::is_nil( aMesh )) {
SMESH::ListOfGroups_var groups = aMesh->GetGroups();
QTreeWidgetItem* groupsItem = 0;
for ( CORBA::ULong i = 0; i < groups->length(); i++ ) {
SMESH::SMESH_GroupBase_var aGrp = groups[i];
- if ( CORBA::is_nil( aGrp ) ) continue;
+ if ( CORBA::is_nil( aGrp )) continue;
QString aName = aGrp->GetName();
- if ( aGrp->GetType() != SMESH::NODE && !aName.isEmpty() && aGrp->Contains( id ) ) {
+ if ( aGrp->GetType() != SMESH::NODE && !aName.isEmpty() && aGrp->Contains( id )) {
if ( !groupsItem ) {
groupsItem = createItem( elemItem, Bold );
- groupsItem->setText( 0, SMESHGUI_AddInfo::tr( "GROUPS" ) );
+ groupsItem->setText( 0, SMESHGUI_AddInfo::tr( "GROUPS" ));
}
QTreeWidgetItem* it = createItem( groupsItem, Bold );
it->setText( 0, aName.trimmed() );
// type : group on geometry, standalone group, group on filter
QTreeWidgetItem* typeItem = createItem( it );
- typeItem->setText( 0, SMESHGUI_AddInfo::tr( "TYPE" ) );
- if ( !CORBA::is_nil( aStdGroup ) ) {
- typeItem->setText( 1, SMESHGUI_AddInfo::tr( "STANDALONE_GROUP" ) );
+ typeItem->setText( 0, SMESHGUI_AddInfo::tr( "TYPE" ));
+ if ( !CORBA::is_nil( aStdGroup )) {
+ typeItem->setText( 1, SMESHGUI_AddInfo::tr( "STANDALONE_GROUP" ));
}
- else if ( !CORBA::is_nil( aGeomGroup ) ) {
- typeItem->setText( 1, SMESHGUI_AddInfo::tr( "GROUP_ON_GEOMETRY" ) );
+ else if ( !CORBA::is_nil( aGeomGroup )) {
+ typeItem->setText( 1, SMESHGUI_AddInfo::tr( "GROUP_ON_GEOMETRY" ));
GEOM::GEOM_Object_var gobj = aGeomGroup->GetShape();
_PTR(SObject) sobj = SMESH::ObjectToSObject( gobj );
if ( sobj ) {
QTreeWidgetItem* gobjItem = createItem( typeItem );
- gobjItem->setText( 0, SMESHGUI_AddInfo::tr( "GEOM_OBJECT" ) );
+ gobjItem->setText( 0, SMESHGUI_AddInfo::tr( "GEOM_OBJECT" ));
gobjItem->setText( 1, sobj->GetName().c_str() );
}
}
- else if ( !CORBA::is_nil( aFltGroup ) ) {
- typeItem->setText( 1, SMESHGUI_AddInfo::tr( "GROUP_ON_FILTER" ) );
+ else if ( !CORBA::is_nil( aFltGroup )) {
+ typeItem->setText( 1, SMESHGUI_AddInfo::tr( "GROUP_ON_FILTER" ));
}
// size
QTreeWidgetItem* sizeItem = createItem( it );
- sizeItem->setText( 0, SMESHGUI_AddInfo::tr( "SIZE" ) );
- sizeItem->setText( 1, QString::number( aGrp->Size() ) );
+ sizeItem->setText( 0, SMESHGUI_AddInfo::tr( "SIZE" ));
+ sizeItem->setText( 1, QString::number( aGrp->Size() ));
// color
SALOMEDS::Color color = aGrp->GetColor();
QTreeWidgetItem* colorItem = createItem( it );
- colorItem->setText( 0, SMESHGUI_AddInfo::tr( "COLOR" ) );
- colorItem->setBackground( 1, QBrush( QColor( color.R*255., color.G*255., color.B*255.) ) );
+ colorItem->setText( 0, SMESHGUI_AddInfo::tr( "COLOR" ));
+ colorItem->setBackground( 1, QBrush( QColor( color.R*255., color.G*255., color.B*255.) ));
}
}
}
int precision = SMESHGUI::resourceMgr()->integerValue( "SMESH", "length_precision", 6 );
// node number and ID
QTreeWidgetItem* nodeItem = createItem( parentItem, Bold );
- nodeItem->setText( 0, QString( "%1 %2 / %3" ).arg( SMESHGUI_ElemInfo::tr( "NODE" ) ).arg( index ).arg( nbNodes ) );
- nodeItem->setText( 1, QString( "#%1" ).arg( node->GetID() ) );
+ nodeItem->setText( 0, QString( "%1 %2 / %3" ).arg( SMESHGUI_ElemInfo::tr( "NODE" )).arg( index ).arg( nbNodes ));
+ nodeItem->setText( 1, QString( "#%1" ).arg( node->GetID() ));
nodeItem->setData( 1, TypeRole, ElemConnectivity );
nodeItem->setData( 1, IdRole, node->GetID() );
nodeItem->setExpanded( false );
// node coordinates
QTreeWidgetItem* coordItem = createItem( nodeItem );
- coordItem->setText( 0, SMESHGUI_ElemInfo::tr( "COORDINATES" ) );
+ coordItem->setText( 0, SMESHGUI_ElemInfo::tr( "COORDINATES" ));
QTreeWidgetItem* xItem = createItem( coordItem );
xItem->setText( 0, "X" );
- xItem->setText( 1, QString::number( node->X(), precision > 0 ? 'f' : 'g', qAbs( precision ) ) );
+ xItem->setText( 1, QString::number( node->X(), precision > 0 ? 'f' : 'g', qAbs( precision )) );
QTreeWidgetItem* yItem = createItem( coordItem );
yItem->setText( 0, "Y" );
- yItem->setText( 1, QString::number( node->Y(), precision > 0 ? 'f' : 'g', qAbs( precision ) ) );
+ yItem->setText( 1, QString::number( node->Y(), precision > 0 ? 'f' : 'g', qAbs( precision )) );
QTreeWidgetItem* zItem = createItem( coordItem );
zItem->setText( 0, "Z" );
- zItem->setText( 1, QString::number( node->Z(), precision > 0 ? 'f' : 'g', qAbs( precision ) ) );
+ zItem->setText( 1, QString::number( node->Z(), precision > 0 ? 'f' : 'g', qAbs( precision )) );
// node connectivity
QTreeWidgetItem* nconItem = createItem( nodeItem );
- nconItem->setText( 0, SMESHGUI_ElemInfo::tr( "CONNECTIVITY" ) );
+ nconItem->setText( 0, SMESHGUI_ElemInfo::tr( "CONNECTIVITY" ));
Connectivity connectivity = nodeConnectivity( node );
if ( !connectivity.isEmpty() ) {
QString con = formatConnectivity( connectivity, SMDSAbs_0DElement );
if ( !con.isEmpty() ) {
QTreeWidgetItem* i = createItem( nconItem );
- i->setText( 0, SMESHGUI_ElemInfo::tr( "0D_ELEMENTS" ) );
+ i->setText( 0, SMESHGUI_ElemInfo::tr( "0D_ELEMENTS" ));
i->setText( 1, con );
}
con = formatConnectivity( connectivity, SMDSAbs_Edge );
if ( !con.isEmpty() ) {
QTreeWidgetItem* i = createItem( nconItem );
- i->setText( 0, SMESHGUI_ElemInfo::tr( "EDGES" ) );
+ i->setText( 0, SMESHGUI_ElemInfo::tr( "EDGES" ));
i->setText( 1, con );
i->setData( 1, TypeRole, NodeConnectivity );
}
con = formatConnectivity( connectivity, SMDSAbs_Ball );
if ( !con.isEmpty() ) {
QTreeWidgetItem* i = createItem( nconItem );
- i->setText( 0, SMESHGUI_ElemInfo::tr( "BALL_ELEMENTS" ) );
+ i->setText( 0, SMESHGUI_ElemInfo::tr( "BALL_ELEMENTS" ));
i->setText( 1, con );
i->setData( 1, TypeRole, NodeConnectivity );
}
con = formatConnectivity( connectivity, SMDSAbs_Face );
if ( !con.isEmpty() ) {
QTreeWidgetItem* i = createItem( nconItem );
- i->setText( 0, SMESHGUI_ElemInfo::tr( "FACES" ) );
+ i->setText( 0, SMESHGUI_ElemInfo::tr( "FACES" ));
i->setText( 1, con );
i->setData( 1, TypeRole, NodeConnectivity );
}
con = formatConnectivity( connectivity, SMDSAbs_Volume );
if ( !con.isEmpty() ) {
QTreeWidgetItem* i = createItem( nconItem );
- i->setText( 0, SMESHGUI_ElemInfo::tr( "VOLUMES" ) );
+ i->setText( 0, SMESHGUI_ElemInfo::tr( "VOLUMES" ));
i->setText( 1, con );
i->setData( 1, TypeRole, NodeConnectivity );
}
QFont f = item->font( 0 );
f.setBold( true );
for ( int i = 0; i < myInfo->columnCount(); i++ ) {
- if ( ( flags & Bold ) && ( i == 0 || flags & All ) )
+ if ( ( flags & Bold ) && ( i == 0 || flags & All ))
item->setFont( i, f );
}
+ if ( parent && parent->childCount() == 1 && itemDepth( parent ) == 1 )
+ {
+ QString resName = expandedResource( parent );
+ parent->setExpanded( SMESHGUI::resourceMgr()->booleanValue("SMESH", resName, true ));
+ }
+
item->setExpanded( true );
return item;
}
int type = aTreeItem->data( 1, TypeRole ).toInt();
int id = aTreeItem->data( 1, IdRole ).toInt();
QMenu menu;
- QAction* a = menu.addAction( tr( "SHOW_ITEM_INFO" ) );
+ QAction* a = menu.addAction( tr( "SHOW_ITEM_INFO" ));
if ( type == ElemConnectivity && id > 0 && menu.exec( e->globalPos() ) == a )
- emit( itemInfo( id ) );
+ emit( itemInfo( id ));
else if ( type == NodeConnectivity && menu.exec( e->globalPos() ) == a )
- emit( itemInfo( aTreeItem->text( 1 ) ) );
+ emit( itemInfo( aTreeItem->text( 1 )) );
}
-void SMESHGUI_TreeElemInfo::itemDoubleClicked( QTreeWidgetItem* theItem, int theColumn )
+void SMESHGUI_TreeElemInfo::itemDoubleClicked( QTreeWidgetItem* theItem, int theColumn )
{
if ( theItem ) {
int type = theItem->data( 1, TypeRole ).toInt();
int id = theItem->data( 1, IdRole ).toInt();
if ( type == ElemConnectivity && id > 0 )
- emit( itemInfo( id ) );
+ emit( itemInfo( id ));
else if ( type == NodeConnectivity )
- emit( itemInfo( theItem->text( 1 ) ) );
+ emit( itemInfo( theItem->text( 1 )) );
}
}
+void SMESHGUI_TreeElemInfo::saveExpanded( QTreeWidgetItem* theItem )
+{
+ if ( theItem )
+ SMESHGUI::resourceMgr()->setValue("SMESH", expandedResource( theItem ), theItem->isExpanded() );
+}
+
+QString SMESHGUI_TreeElemInfo::expandedResource( QTreeWidgetItem* theItem )
+{
+ return QString("Expanded_") + ( isElements() ? "E_" : "N_" ) + theItem->text(0);
+}
+
void SMESHGUI_TreeElemInfo::saveInfo( QTextStream &out )
{
out << QString( 12, '-' ) << "\n";
\param parent parent widget
*/
SMESHGUI_AddInfo::SMESHGUI_AddInfo( QWidget* parent )
-: QTreeWidget( parent )
+ : QTreeWidget( parent )
{
setColumnCount( 2 );
header()->setStretchLastSection( true );
myComputors.clear();
clear();
- if ( CORBA::is_nil( obj ) ) return;
+ if ( CORBA::is_nil( obj )) return;
_PTR(SObject) sobj = SMESH::ObjectToSObject( obj );
if ( !sobj ) return;
// name
QTreeWidgetItem* nameItem = createItem( 0, Bold | All );
- nameItem->setText( 0, tr( "NAME" ) );
+ nameItem->setText( 0, tr( "NAME" ));
nameItem->setText( 1, sobj->GetName().c_str() );
SMESH::SMESH_Mesh_var aMesh = SMESH::SMESH_Mesh::_narrow( obj );
QFont f = item->font( 0 );
f.setBold( true );
for ( int i = 0; i < columnCount(); i++ ) {
- if ( ( flags & Bold ) && ( i == 0 || flags & All ) )
+ if ( ( flags & Bold ) && ( i == 0 || flags & All ))
item->setFont( i, f );
}
GEOM::GEOM_Object_var shape = mesh->GetShapeToMesh();
SMESH::MedFileInfo_var inf = mesh->GetMEDFileInfo();
QTreeWidgetItem* typeItem = createItem( parent, Bold );
- typeItem->setText( 0, tr( "TYPE" ) );
- if ( !CORBA::is_nil( shape ) ) {
- typeItem->setText( 1, tr( "MESH_ON_GEOMETRY" ) );
+ typeItem->setText( 0, tr( "TYPE" ));
+ if ( !CORBA::is_nil( shape )) {
+ typeItem->setText( 1, tr( "MESH_ON_GEOMETRY" ));
_PTR(SObject) sobj = SMESH::ObjectToSObject( shape );
if ( sobj ) {
QTreeWidgetItem* gobjItem = createItem( typeItem );
- gobjItem->setText( 0, tr( "GEOM_OBJECT" ) );
+ gobjItem->setText( 0, tr( "GEOM_OBJECT" ));
gobjItem->setText( 1, sobj->GetName().c_str() );
}
}
else if ( strlen( (char*)inf->fileName ) > 0 ) {
- typeItem->setText( 1, tr( "MESH_FROM_FILE" ) );
+ typeItem->setText( 1, tr( "MESH_FROM_FILE" ));
QTreeWidgetItem* fileItem = createItem( typeItem );
- fileItem->setText( 0, tr( "FILE_NAME" ) );
+ fileItem->setText( 0, tr( "FILE_NAME" ));
fileItem->setText( 1, (char*)inf->fileName );
}
else {
- typeItem->setText( 1, tr( "STANDALONE_MESH" ) );
+ typeItem->setText( 1, tr( "STANDALONE_MESH" ));
}
// groups
_PTR(SObject) sobj = SMESH::ObjectToSObject( subMesh->GetFather() );
if ( sobj ) {
QTreeWidgetItem* nameItem = createItem( parent, Bold );
- nameItem->setText( 0, tr( "PARENT_MESH" ) );
+ nameItem->setText( 0, tr( "PARENT_MESH" ));
nameItem->setText( 1, sobj->GetName().c_str() );
}
}
_PTR(SObject) sobj = SMESH::ObjectToSObject( gobj );
if ( sobj ) {
QTreeWidgetItem* gobjItem = createItem( parent, Bold );
- gobjItem->setText( 0, tr( "GEOM_OBJECT" ) );
+ gobjItem->setText( 0, tr( "GEOM_OBJECT" ));
gobjItem->setText( 1, sobj->GetName().c_str() );
}
}
_PTR(SObject) sobj = SMESH::ObjectToSObject( grp->GetMesh() );
if ( sobj ) {
QTreeWidgetItem* nameItem = createItem( parent, Bold );
- nameItem->setText( 0, tr( "PARENT_MESH" ) );
+ nameItem->setText( 0, tr( "PARENT_MESH" ));
nameItem->setText( 1, sobj->GetName().c_str() );
}
}
// type : group on geometry, standalone group, group on filter
QTreeWidgetItem* typeItem = createItem( parent, Bold );
- typeItem->setText( 0, tr( "TYPE" ) );
- if ( !CORBA::is_nil( aStdGroup ) ) {
- typeItem->setText( 1, tr( "STANDALONE_GROUP" ) );
+ typeItem->setText( 0, tr( "TYPE" ));
+ if ( !CORBA::is_nil( aStdGroup )) {
+ typeItem->setText( 1, tr( "STANDALONE_GROUP" ));
}
- else if ( !CORBA::is_nil( aGeomGroup ) ) {
- typeItem->setText( 1, tr( "GROUP_ON_GEOMETRY" ) );
+ else if ( !CORBA::is_nil( aGeomGroup )) {
+ typeItem->setText( 1, tr( "GROUP_ON_GEOMETRY" ));
GEOM::GEOM_Object_var gobj = aGeomGroup->GetShape();
_PTR(SObject) sobj = SMESH::ObjectToSObject( gobj );
if ( sobj ) {
QTreeWidgetItem* gobjItem = createItem( typeItem );
- gobjItem->setText( 0, tr( "GEOM_OBJECT" ) );
+ gobjItem->setText( 0, tr( "GEOM_OBJECT" ));
gobjItem->setText( 1, sobj->GetName().c_str() );
}
}
- else if ( !CORBA::is_nil( aFltGroup ) ) {
- typeItem->setText( 1, tr( "GROUP_ON_FILTER" ) );
+ else if ( !CORBA::is_nil( aFltGroup )) {
+ typeItem->setText( 1, tr( "GROUP_ON_FILTER" ));
}
if ( !isShort ) {
break;
}
QTreeWidgetItem* etypeItem = createItem( parent, Bold );
- etypeItem->setText( 0, tr( "ENTITY_TYPE" ) );
+ etypeItem->setText( 0, tr( "ENTITY_TYPE" ));
etypeItem->setText( 1, etype );
}
groupSize = grp->Size();
QTreeWidgetItem* sizeItem = createItem( parent, Bold );
- sizeItem->setText( 0, tr( "SIZE" ) );
+ sizeItem->setText( 0, tr( "SIZE" ));
if ( groupSize > -1 ) {
- sizeItem->setText( 1, QString::number( groupSize ) );
+ sizeItem->setText( 1, QString::number( groupSize ));
}
else {
QPushButton* btn = new QPushButton( tr( meshLoaded ? "COMPUTE" : "LOAD"), this );
setItemWidget( sizeItem, 1, btn );
GrpComputor* comp = new GrpComputor( grp, sizeItem, this, /*size=*/true );
- connect( btn, SIGNAL( clicked() ), comp, SLOT( compute() ) );
+ connect( btn, SIGNAL( clicked() ), comp, SLOT( compute() ));
myComputors.append( comp );
if ( !meshLoaded )
- connect( btn, SIGNAL( clicked() ), this, SLOT( changeLoadToCompute() ) );
+ connect( btn, SIGNAL( clicked() ), this, SLOT( changeLoadToCompute() ));
}
// color
SALOMEDS::Color color = grp->GetColor();
QTreeWidgetItem* colorItem = createItem( parent, Bold );
- colorItem->setText( 0, tr( "COLOR" ) );
- colorItem->setBackground( 1, QBrush( QColor( color.R*255., color.G*255., color.B*255.) ) );
+ colorItem->setText( 0, tr( "COLOR" ));
+ colorItem->setBackground( 1, QBrush( QColor( color.R*255., color.G*255., color.B*255.) ));
// nb of underlying nodes
if ( grp->GetType() != SMESH::NODE) {
QTreeWidgetItem* nodesItem = createItem( parent, Bold );
- nodesItem->setText( 0, tr( "NB_NODES" ) );
+ nodesItem->setText( 0, tr( "NB_NODES" ));
int nbNodesLimit = SMESHGUI::resourceMgr()->integerValue( "SMESH", "info_groups_nodes_limit", 100000 );
bool toShowNodes = groupSize >= 0 ? ( grp->IsNodeInfoAvailable() || nbNodesLimit <= 0 || groupSize <= nbNodesLimit ) : false;
if ( toShowNodes && meshLoaded ) {
// already calculated and up-to-date
- nodesItem->setText( 1, QString::number( grp->GetNumberOfNodes() ) );
+ nodesItem->setText( 1, QString::number( grp->GetNumberOfNodes() ));
}
else {
QPushButton* btn = new QPushButton( tr( meshLoaded ? "COMPUTE" : "LOAD"), this );
setItemWidget( nodesItem, 1, btn );
GrpComputor* comp = new GrpComputor( grp, nodesItem, this );
- connect( btn, SIGNAL( clicked() ), comp, SLOT( compute() ) );
+ connect( btn, SIGNAL( clicked() ), comp, SLOT( compute() ));
myComputors.append( comp );
if ( !meshLoaded )
- connect( btn, SIGNAL( clicked() ), this, SLOT( changeLoadToCompute() ) );
+ connect( btn, SIGNAL( clicked() ), this, SLOT( changeLoadToCompute() ));
}
}
}
for ( int i = 0; i < parent->childCount() && !itemGroups; i++ ) {
if ( parent->child( i )->data( 0, Qt::UserRole ).toInt() == GROUPS_ID ) {
itemGroups = parent->child( i );
- ExtraWidget* extra = dynamic_cast<ExtraWidget*>( itemWidget( itemGroups, 1 ) );
+ ExtraWidget* extra = dynamic_cast<ExtraWidget*>( itemWidget( itemGroups, 1 ));
if ( extra )
extra->updateControls( myGroups->length(), idx );
while ( itemGroups->childCount() ) delete itemGroups->child( 0 ); // clear child items
QMap<int, QTreeWidgetItem*> grpItems;
for ( int i = idx*MAXITEMS ; i < qMin( (idx+1)*MAXITEMS, (int)myGroups->length() ); i++ ) {
SMESH::SMESH_GroupBase_var grp = myGroups[i];
- if ( CORBA::is_nil( grp ) ) continue;
+ if ( CORBA::is_nil( grp )) continue;
_PTR(SObject) grpSObj = SMESH::ObjectToSObject( grp );
if ( !grpSObj ) continue;
if ( !itemGroups ) {
// create top-level groups container item
itemGroups = createItem( parent, Bold | All );
- itemGroups->setText( 0, tr( "GROUPS" ) );
+ itemGroups->setText( 0, tr( "GROUPS" ));
itemGroups->setData( 0, Qt::UserRole, GROUPS_ID );
// total number of groups > 10, show extra widgets for info browsing
if ((int) myGroups->length() > MAXITEMS ) {
ExtraWidget* extra = new ExtraWidget( this, true );
- connect( extra->prev, SIGNAL( clicked() ), this, SLOT( showPreviousGroups() ) );
- connect( extra->next, SIGNAL( clicked() ), this, SLOT( showNextGroups() ) );
+ connect( extra->prev, SIGNAL( clicked() ), this, SLOT( showPreviousGroups() ));
+ connect( extra->next, SIGNAL( clicked() ), this, SLOT( showNextGroups() ));
setItemWidget( itemGroups, 1, extra );
extra->updateControls( myGroups->length(), idx );
}
if ( grpItems.find( grpType ) == grpItems.end() ) {
grpItems[ grpType ] = createItem( itemGroups, Bold | All );
- grpItems[ grpType ]->setText( 0, tr( QString( "GROUPS_%1" ).arg( grpType ).toLatin1().constData() ) );
+ grpItems[ grpType ]->setText( 0, tr( QString( "GROUPS_%1" ).arg( grpType ).toLatin1().constData() ));
itemGroups->insertChild( grpType-1, grpItems[ grpType ] );
}
for ( int i = 0; i < parent->childCount() && !itemSubMeshes; i++ ) {
if ( parent->child( i )->data( 0, Qt::UserRole ).toInt() == SUBMESHES_ID ) {
itemSubMeshes = parent->child( i );
- ExtraWidget* extra = dynamic_cast<ExtraWidget*>( itemWidget( itemSubMeshes, 1 ) );
+ ExtraWidget* extra = dynamic_cast<ExtraWidget*>( itemWidget( itemSubMeshes, 1 ));
if ( extra )
extra->updateControls( mySubMeshes->length(), idx );
while ( itemSubMeshes->childCount() ) delete itemSubMeshes->child( 0 ); // clear child items
QMap<int, QTreeWidgetItem*> smItems;
for ( int i = idx*MAXITEMS ; i < qMin( (idx+1)*MAXITEMS, (int)mySubMeshes->length() ); i++ ) {
SMESH::SMESH_subMesh_var sm = mySubMeshes[i];
- if ( CORBA::is_nil( sm ) ) continue;
+ if ( CORBA::is_nil( sm )) continue;
_PTR(SObject) smSObj = SMESH::ObjectToSObject( sm );
if ( !smSObj ) continue;
GEOM::GEOM_Object_var gobj = sm->GetSubShape();
- if ( CORBA::is_nil(gobj ) ) continue;
+ if ( CORBA::is_nil(gobj )) continue;
int smType = gobj->GetShapeType();
if ( smType == GEOM::COMPSOLID ) smType = GEOM::COMPOUND;
if ( !itemSubMeshes ) {
itemSubMeshes = createItem( parent, Bold | All );
- itemSubMeshes->setText( 0, tr( "SUBMESHES" ) );
+ itemSubMeshes->setText( 0, tr( "SUBMESHES" ));
itemSubMeshes->setData( 0, Qt::UserRole, SUBMESHES_ID );
// total number of sub-meshes > 10, show extra widgets for info browsing
if ((int) mySubMeshes->length() > MAXITEMS ) {
ExtraWidget* extra = new ExtraWidget( this, true );
- connect( extra->prev, SIGNAL( clicked() ), this, SLOT( showPreviousSubMeshes() ) );
- connect( extra->next, SIGNAL( clicked() ), this, SLOT( showNextSubMeshes() ) );
+ connect( extra->prev, SIGNAL( clicked() ), this, SLOT( showPreviousSubMeshes() ));
+ connect( extra->next, SIGNAL( clicked() ), this, SLOT( showNextSubMeshes() ));
setItemWidget( itemSubMeshes, 1, extra );
extra->updateControls( mySubMeshes->length(), idx );
}
if ( smItems.find( smType ) == smItems.end() ) {
smItems[ smType ] = createItem( itemSubMeshes, Bold | All );
- smItems[ smType ]->setText( 0, tr( QString( "SUBMESHES_%1" ).arg( smType ).toLatin1().constData() ) );
+ smItems[ smType ]->setText( 0, tr( QString( "SUBMESHES_%1" ).arg( smType ).toLatin1().constData() ));
itemSubMeshes->insertChild( smType, smItems[ smType ] );
}
{
if ( QTreeWidgetItem* item = myComputors[i]->getItem() )
{
- if ( QPushButton* btn = qobject_cast<QPushButton*>( itemWidget ( item, 1 ) ) )
+ if ( QPushButton* btn = qobject_cast<QPushButton*>( itemWidget ( item, 1 )) )
btn->setText( tr("COMPUTE") );
}
}
while ( *it ) {
if ( !( ( *it )->text(0) ).isEmpty() ) {
out << QString( SPACING_INFO * itemDepth( *it ), ' ' ) << ( *it )->text(0);
- if ( ( *it )->text(0) == tr( "COLOR" ) ) {
+ if ( ( *it )->text(0) == tr( "COLOR" )) {
out << ": " << ( ( ( *it )->background(1) ).color() ).name();
}
else if ( !( ( *it )->text(1) ).isEmpty() ) out << ": " << ( *it )->text(1);
\param page specifies the dialog page to be shown at the start-up
*/
SMESHGUI_MeshInfoDlg::SMESHGUI_MeshInfoDlg( QWidget* parent, int page )
-: QDialog( parent ), myActor( 0 )
+ : QDialog( parent ), myActor( 0 )
{
setModal( false );
setAttribute( Qt::WA_DeleteOnClose, true );
- setWindowTitle( tr( "MESH_INFO" ) );
+ setWindowTitle( tr( "MESH_INFO" ));
setSizeGripEnabled( true );
myTabWidget = new QTabWidget( this );
- // base info
+ // base info
myBaseInfo = new SMESHGUI_MeshInfo( myTabWidget );
- myTabWidget->addTab( myBaseInfo, tr( "BASE_INFO" ) );
+ myTabWidget->addTab( myBaseInfo, tr( "BASE_INFO" ));
// elem info
-
+
QWidget* w = new QWidget( myTabWidget );
myMode = new QButtonGroup( this );
myMode->addButton( new QRadioButton( tr( "ELEM_MODE" ), w ), ElemMode );
myMode->button( NodeMode )->setChecked( true );
myID = new QLineEdit( w );
- myID->setValidator( new SMESHGUI_IdValidator( this ) );
+ myID->setValidator( new SMESHGUI_IdValidator( this ));
+ myIDPreviewCheck = new QCheckBox( tr( "SHOW_IDS" ), w );
+ myIDPreview = new SMESHGUI_IdPreview( SMESH::GetViewWindow( SMESHGUI::GetSMESHGUI() ));
int mode = SMESHGUI::resourceMgr()->integerValue( "SMESH", "mesh_elem_info", 1 );
- mode = qMin( 1, qMax( 0, mode ) );
-
- if ( mode == 0 )
+ mode = qMin( 1, qMax( 0, mode ));
+
+ if ( mode == 0 )
myElemInfo = new SMESHGUI_SimpleElemInfo( w );
else
myElemInfo = new SMESHGUI_TreeElemInfo( w );
elemLayout->setSpacing( SPACING );
elemLayout->addWidget( myMode->button( NodeMode ), 0, 0 );
elemLayout->addWidget( myMode->button( ElemMode ), 0, 1 );
- elemLayout->addWidget( myID, 0, 2 );
- elemLayout->addWidget( myElemInfo, 1, 0, 1, 3 );
-
- myTabWidget->addTab( w, tr( "ELEM_INFO" ) );
+ elemLayout->addWidget( myID, 0, 2 );
+ elemLayout->addWidget( myIDPreviewCheck, 1, 0, 1, 2 );
+ elemLayout->addWidget( myElemInfo, 2, 0, 1, 3 );
+
+ myTabWidget->addTab( w, tr( "ELEM_INFO" ));
// additional info
myAddInfo = new SMESHGUI_AddInfo( myTabWidget );
- myTabWidget->addTab( myAddInfo, tr( "ADDITIONAL_INFO" ) );
+ myTabWidget->addTab( myAddInfo, tr( "ADDITIONAL_INFO" ));
// controls info
myCtrlInfo = new SMESHGUI_CtrlInfo( myTabWidget );
- myTabWidget->addTab( myCtrlInfo, tr( "CTRL_INFO" ) );
+ myTabWidget->addTab( myCtrlInfo, tr( "CTRL_INFO" ));
// buttons
l->addWidget( myTabWidget );
l->addLayout( btnLayout );
- myTabWidget->setCurrentIndex( qMax( (int)BaseInfo, qMin( (int)ElemInfo, page ) ) );
+ myTabWidget->setCurrentIndex( qMax( (int)BaseInfo, qMin( (int)ElemInfo, page )));
- connect( okBtn, SIGNAL( clicked() ), this, SLOT( reject() ) );
- connect( dumpBtn, SIGNAL( clicked() ), this, SLOT( dump() ) );
- connect( helpBtn, SIGNAL( clicked() ), this, SLOT( help() ) );
- connect( myTabWidget, SIGNAL( currentChanged( int ) ), this, SLOT( updateSelection() ) );
- connect( myMode, SIGNAL( buttonClicked( int ) ), this, SLOT( modeChanged() ) );
- connect( myID, SIGNAL( textChanged( QString ) ), this, SLOT( idChanged() ) );
- connect( SMESHGUI::GetSMESHGUI(), SIGNAL( SignalDeactivateActiveDialog() ), this, SLOT( deactivate() ) );
- connect( SMESHGUI::GetSMESHGUI(), SIGNAL( SignalCloseAllDialogs() ), this, SLOT( reject() ) );
- connect( myElemInfo, SIGNAL( itemInfo( int ) ), this, SLOT( showItemInfo( int ) ) );
- connect( myElemInfo, SIGNAL( itemInfo( QString ) ), this, SLOT( showItemInfo( QString ) ) );
+ connect( okBtn, SIGNAL( clicked() ), this, SLOT( reject() ));
+ connect( dumpBtn, SIGNAL( clicked() ), this, SLOT( dump() ));
+ connect( helpBtn, SIGNAL( clicked() ), this, SLOT( help() ));
+ connect( myTabWidget, SIGNAL( currentChanged( int )), this, SLOT( updateSelection() ));
+ connect( myMode, SIGNAL( buttonClicked( int )), this, SLOT( modeChanged() ));
+ connect( myID, SIGNAL( textChanged( QString )), this, SLOT( idChanged() ));
+ connect( myIDPreviewCheck, SIGNAL( toggled(bool) ), this, SLOT( idPreviewChange(bool) ));
+ connect( SMESHGUI::GetSMESHGUI(), SIGNAL( SignalDeactivateActiveDialog() ), this, SLOT( deactivate() ));
+ connect( SMESHGUI::GetSMESHGUI(), SIGNAL( SignalCloseAllDialogs() ), this, SLOT( reject() ));
+ connect( myElemInfo, SIGNAL( itemInfo( int )), this, SLOT( showItemInfo( int )));
+ connect( myElemInfo, SIGNAL( itemInfo( QString )), this, SLOT( showItemInfo( QString )));
+
+ myIDPreviewCheck->setChecked( SMESHGUI::resourceMgr()->booleanValue( "SMESH", id_preview_resource, false ));
updateSelection();
}
*/
SMESHGUI_MeshInfoDlg::~SMESHGUI_MeshInfoDlg()
{
+ delete myIDPreview;
}
/*!
*/
void SMESHGUI_MeshInfoDlg::showInfo( const Handle(SALOME_InteractiveObject)& IO )
{
+ if ( !IO.IsNull() )
+ myIO = IO;
+
SMESH::SMESH_IDSource_var obj = SMESH::IObjectToInterface<SMESH::SMESH_IDSource>( IO );
- if ( !CORBA::is_nil( obj ) ) {
+ if ( !CORBA::is_nil( obj ))
+ {
myAddInfo->showInfo( obj ); // nb of nodes in a group can be computed by myAddInfo,
myBaseInfo->showInfo( obj ); // and it will be used by myBaseInfo (IPAL52871)
- myCtrlInfo->showInfo( obj );
+ if ( myTabWidget->currentIndex() == CtrlInfo )
+ myCtrlInfo->showInfo( obj );
- myActor = SMESH::FindActorByEntry( IO->getEntry() );
- SVTK_Selector* selector = SMESH::GetSelector();
- QString ID;
- int nb = 0;
- if ( myActor && selector ) {
- nb = myMode->checkedId() == NodeMode ?
- SMESH::GetNameOfSelectedElements( selector, IO, ID ) :
- SMESH::GetNameOfSelectedNodes( selector, IO, ID );
- }
- myElemInfo->setSource( myActor ) ;
- if ( nb > 0 ) {
- myID->setText( ID.trimmed() );
- QSet<long> ids;
- QStringList idTxt = ID.split( " ", QString::SkipEmptyParts );
- foreach ( ID, idTxt )
- ids << ID.trimmed().toLong();
- myElemInfo->showInfo( ids, myMode->checkedId() == ElemMode );
- }
- else {
- myID->clear();
- myElemInfo->clear();
+ {
+ myActor = SMESH::FindActorByEntry( IO->getEntry() );
+ SVTK_Selector* selector = SMESH::GetSelector();
+ QString ID;
+ int nb = 0;
+ if ( myActor && selector ) {
+ nb = myMode->checkedId() == NodeMode ?
+ SMESH::GetNameOfSelectedElements( selector, IO, ID ) :
+ SMESH::GetNameOfSelectedNodes( selector, IO, ID );
+ }
+ myElemInfo->setSource( myActor, obj ) ;
+ if ( nb > 0 ) {
+ myID->setText( ID.trimmed() );
+ QSet<long> ids;
+ QStringList idTxt = ID.split( " ", QString::SkipEmptyParts );
+ foreach ( ID, idTxt )
+ ids << ID.trimmed().toLong();
+ myElemInfo->showInfo( ids, myMode->checkedId() == ElemMode );
+ }
+ else {
+ myID->clear();
+ myElemInfo->clear();
+ }
}
}
}
if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow() )
aViewWindow->SetSelectionMode( ActorSelection );
QDialog::reject();
+ myIDPreview->SetPointsLabeled(false);
}
/*!
disconnect( selMgr, 0, this, 0 );
selMgr->clearFilters();
- if ( myTabWidget->currentIndex() == BaseInfo || myTabWidget->currentIndex() == AddInfo || myTabWidget->currentIndex() == CtrlInfo ) {
+ if ( myTabWidget->currentIndex() == BaseInfo ||
+ myTabWidget->currentIndex() == AddInfo ||
+ myTabWidget->currentIndex() == CtrlInfo ) {
SMESH::SetPointRepresentation( false );
if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow() )
aViewWindow->SetSelectionMode( ActorSelection );
SMESH_Actor* oldActor = myActor;
myID->clear();
- connect( selMgr, SIGNAL( currentSelectionChanged() ), this, SLOT( updateInfo() ) );
+ connect( selMgr, SIGNAL( currentSelectionChanged() ), this, SLOT( updateInfo() ));
updateInfo();
if ( oldActor == myActor && myActor && !oldID.isEmpty() ) {
Handle(SALOME_InteractiveObject) IO = selected.First();
showInfo( IO );
}
-// else {
-// myBaseInfo->clear();
-// myElemInfo->clear();
-// myAddInfo->clear();
-// }
+ else {
+ showInfo( myIO );
+ }
}
/*!
void SMESHGUI_MeshInfoDlg::deactivate()
{
myTabWidget->setEnabled( false );
- disconnect( SMESHGUI::selectionMgr(), SIGNAL( currentSelectionChanged() ), this, SLOT( updateInfo() ) );
+ disconnect( SMESHGUI::selectionMgr(), SIGNAL( currentSelectionChanged() ), this, SLOT( updateInfo() ));
}
/*!
}
/*!
- \brief Caled when users prints mesh element ID in the corresponding field.
+ \brief Called when users prints mesh element ID in the corresponding field.
*/
void SMESHGUI_MeshInfoDlg::idChanged()
{
+ myIDPreview->SetPointsLabeled( false );
+
SVTK_Selector* selector = SMESH::GetSelector();
if ( myActor && selector ) {
Handle(SALOME_InteractiveObject) IO = myActor->getIO();
TColStd_MapOfInteger ID;
- QSet<long> ids;
+ QSet<long> ids;
+ std::vector<int> idVec;
+ std::list< gp_XYZ > aGrCentersXYZ;
QStringList idTxt = myID->text().split( " ", QString::SkipEmptyParts );
foreach ( QString tid, idTxt ) {
long id = tid.trimmed().toLong();
- const SMDS_MeshElement* e = myMode->checkedId() == ElemMode ?
+ const SMDS_MeshElement* e = myMode->checkedId() == ElemMode ?
myActor->GetObject()->GetMesh()->FindElement( id ) :
myActor->GetObject()->GetMesh()->FindNode( id );
if ( e ) {
ID.Add( id );
ids << id;
+ if ( myMode->checkedId() == ElemMode )
+ {
+ idVec.push_back( id );
+ aGrCentersXYZ.push_back( myElemInfo->getGravityCenter( e ));
+ }
}
}
selector->AddOrRemoveIndex( IO, ID, false );
if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow() ) {
+
+ if ( myMode->checkedId() == NodeMode )
+ myIDPreview->SetPointsData( myActor->GetObject()->GetMesh(), ID );
+ else
+ myIDPreview->SetElemsData( idVec, aGrCentersXYZ );
+
+ bool showIDs = ( !ID.IsEmpty() &&
+ myIDPreviewCheck->isChecked() &&
+ myTabWidget->currentIndex() == ElemInfo );
+ myIDPreview->SetPointsLabeled( showIDs, myActor->GetVisibility() );
+
aViewWindow->highlight( IO, true, true );
aViewWindow->Repaint();
}
}
}
+/*!
+ * \brief Show IDs clicked
+ */
+void SMESHGUI_MeshInfoDlg::idPreviewChange( bool isOn )
+{
+ myIDPreview->SetPointsLabeled( isOn && !myID->text().simplified().isEmpty() );
+ SMESHGUI::resourceMgr()->setValue("SMESH", id_preview_resource, isOn );
+ if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow() )
+ aViewWindow->Repaint();
+}
+
void SMESHGUI_MeshInfoDlg::showItemInfo( int id )
{
- if ( id > 0 && myActor->GetObject()->GetMesh()->FindNode( id ) ) {
+ if ( id > 0 && myActor->GetObject()->GetMesh()->FindNode( id )) {
myMode->button( NodeMode )->click();
- myID->setText( QString::number( id ) );
+ myID->setText( QString::number( id ));
}
}
_PTR( Study ) aStudy = appStudy->studyDS();
QStringList aFilters;
- aFilters.append( tr( "TEXT_FILES" ) );
+ aFilters.append( tr( "TEXT_FILES" ));
bool anIsBase = true;
bool anIsElem = true;
}
DumpFileDlg fd( this );
- fd.setWindowTitle( tr( "SAVE_INFO" ) );
+ fd.setWindowTitle( tr( "SAVE_INFO" ));
fd.setNameFilters( aFilters );
fd.myBaseChk->setChecked( anIsBase );
fd.myElemChk->setChecked( anIsElem );
return;
QFile aFile( aFileName );
- if ( !aFile.open( QIODevice::WriteOnly | QIODevice::Text ) )
+ if ( !aFile.open( QIODevice::WriteOnly | QIODevice::Text ))
return;
QTextStream out( &aFile );
myWidgets << aName;
SUIT_ResourceMgr* aResMgr = SUIT_Session::session()->resourceMgr();
- QIcon aComputeIcon( aResMgr->loadPixmap( "SMESH", tr( "ICON_COMPUTE" ) ) );
+ QIcon aComputeIcon( aResMgr->loadPixmap( "SMESH", tr( "ICON_COMPUTE" )) );
SMESH::FilterManager_var aFilterMgr = SMESH::GetFilterManager();
myWidgets << aNodesFree;
myPredicates << aFilterMgr->CreateFreeNodes();
//
+ QLabel* aNodesNbConnLab = new QLabel( tr( "MAX_NODE_CONNECTIVITY" ), this );
+ QLabel* aNodesNbConn = createField();
+ myWidgets << aNodesNbConn;
+ myNodeConnFunctor = aFilterMgr->CreateNodeConnectivityNumber();
+ //
QLabel* aNodesDoubleLab = new QLabel( tr( "NUMBER_OF_THE_DOUBLE_NODES" ), this );
QLabel* aNodesDouble = createField();
myWidgets << aNodesDouble;
myToleranceWidget = new SMESHGUI_SpinBox( this );
myToleranceWidget->RangeStepAndValidator(0.0000000001, 1000000.0, 0.0000001, "length_precision" );
myToleranceWidget->setAcceptNames( false );
- myToleranceWidget->SetValue( SMESHGUI::resourceMgr()->doubleValue( "SMESH", "equal_nodes_tolerance", 1e-7 ) );
+ myToleranceWidget->SetValue( SMESHGUI::resourceMgr()->doubleValue( "SMESH", "equal_nodes_tolerance", 1e-7 ));
// edges info
QLabel* anEdgesLab = new QLabel( tr( "EDGES_INFO" ), this );
aFreeNodesBtn->setIcon(aComputeIcon);
myButtons << aFreeNodesBtn; //0
+ QToolButton* aNodesNbConnBtn = new QToolButton( this );
+ aNodesNbConnBtn->setIcon(aComputeIcon);
+ myButtons << aNodesNbConnBtn; //1
+
QToolButton* aDoubleNodesBtn = new QToolButton( this );
aDoubleNodesBtn->setIcon(aComputeIcon);
- myButtons << aDoubleNodesBtn; //1
+ myButtons << aDoubleNodesBtn; //2
QToolButton* aDoubleEdgesBtn = new QToolButton( this );
aDoubleEdgesBtn->setIcon(aComputeIcon);
- myButtons << aDoubleEdgesBtn; //2
+ myButtons << aDoubleEdgesBtn; //3
QToolButton* aDoubleFacesBtn = new QToolButton( this );
aDoubleFacesBtn->setIcon(aComputeIcon);
- myButtons << aDoubleFacesBtn; //3
+ myButtons << aDoubleFacesBtn; //4
QToolButton* aOverContFacesBtn = new QToolButton( this );
aOverContFacesBtn->setIcon(aComputeIcon);
- myButtons << aOverContFacesBtn; //4
+ myButtons << aOverContFacesBtn; //5
QToolButton* aComputeFaceBtn = new QToolButton( this );
aComputeFaceBtn->setIcon(aComputeIcon);
- myButtons << aComputeFaceBtn; //5
+ myButtons << aComputeFaceBtn; //6
QToolButton* aDoubleVolumesBtn = new QToolButton( this );
aDoubleVolumesBtn->setIcon(aComputeIcon);
- myButtons << aDoubleVolumesBtn; //6
+ myButtons << aDoubleVolumesBtn; //7
QToolButton* aOverContVolumesBtn = new QToolButton( this );
aOverContVolumesBtn->setIcon(aComputeIcon);
- myButtons << aOverContVolumesBtn; //7
+ myButtons << aOverContVolumesBtn; //8
QToolButton* aComputeVolumeBtn = new QToolButton( this );
aComputeVolumeBtn->setIcon(aComputeIcon);
- myButtons << aComputeVolumeBtn; //8
-
- connect( aComputeFaceBtn, SIGNAL( clicked() ), this, SLOT( computeAspectRatio() ) );
- connect( aComputeVolumeBtn, SIGNAL( clicked() ), this, SLOT( computeAspectRatio3D() ) );
- connect( aFreeNodesBtn, SIGNAL( clicked() ), this, SLOT( computeFreeNodesInfo() ) );
- connect( aDoubleNodesBtn, SIGNAL( clicked() ), this, SLOT( computeDoubleNodesInfo() ) );
- connect( aDoubleEdgesBtn, SIGNAL( clicked() ), this, SLOT( computeDoubleEdgesInfo() ) );
- connect( aDoubleFacesBtn, SIGNAL( clicked() ), this, SLOT( computeDoubleFacesInfo() ) );
- connect( aOverContFacesBtn, SIGNAL( clicked() ), this, SLOT( computeOverConstrainedFacesInfo() ) );
- connect( aDoubleVolumesBtn, SIGNAL( clicked() ), this, SLOT( computeDoubleVolumesInfo() ) );
- connect( aOverContVolumesBtn, SIGNAL( clicked() ), this, SLOT( computeOverConstrainedVolumesInfo() ) );
+ myButtons << aComputeVolumeBtn; //9
+
+ connect( aComputeFaceBtn, SIGNAL( clicked() ), this, SLOT( computeAspectRatio() ));
+ connect( aComputeVolumeBtn, SIGNAL( clicked() ), this, SLOT( computeAspectRatio3D() ));
+ connect( aFreeNodesBtn, SIGNAL( clicked() ), this, SLOT( computeFreeNodesInfo() ));
+ connect( aNodesNbConnBtn, SIGNAL( clicked() ), this, SLOT( computeNodesNbConnInfo() ));
+ connect( aDoubleNodesBtn, SIGNAL( clicked() ), this, SLOT( computeDoubleNodesInfo() ));
+ connect( aDoubleEdgesBtn, SIGNAL( clicked() ), this, SLOT( computeDoubleEdgesInfo() ));
+ connect( aDoubleFacesBtn, SIGNAL( clicked() ), this, SLOT( computeDoubleFacesInfo() ));
+ connect( aOverContFacesBtn, SIGNAL( clicked() ), this, SLOT( computeOverConstrainedFacesInfo() ));
+ connect( aDoubleVolumesBtn, SIGNAL( clicked() ), this, SLOT( computeDoubleVolumesInfo() ));
+ connect( aOverContVolumesBtn,SIGNAL( clicked() ), this, SLOT( computeOverConstrainedVolumesInfo() ));
connect( myToleranceWidget, SIGNAL(valueChanged(double)), this, SLOT( setTolerance( double )));
setFontAttributes( aNameLab );
myMainLayout->addWidget( aNodesFreeLab, 2, 0 ); //3
myMainLayout->addWidget( aNodesFree, 2, 1 ); //4
myMainLayout->addWidget( aFreeNodesBtn, 2, 2 ); //5
- myMainLayout->addWidget( aNodesDoubleLab, 3, 0 ); //6
- myMainLayout->addWidget( aNodesDouble, 3, 1 ); //7
- myMainLayout->addWidget( aDoubleNodesBtn, 3, 2 ); //8
- myMainLayout->addWidget( aToleranceLab, 4, 0 ); //9
- myMainLayout->addWidget( myToleranceWidget, 4, 1 ); //10
- myMainLayout->addWidget( anEdgesLab, 5, 0, 1, 3 ); //11
- myMainLayout->addWidget( anEdgesDoubleLab, 6, 0 ); //12
- myMainLayout->addWidget( anEdgesDouble, 6, 1 ); //13
- myMainLayout->addWidget( aDoubleEdgesBtn, 6, 2 ); //14
- myMainLayout->addWidget( aFacesLab, 7, 0, 1, 3 ); //15
- myMainLayout->addWidget( aFacesDoubleLab, 8, 0 ); //16
- myMainLayout->addWidget( aFacesDouble, 8, 1 ); //17
- myMainLayout->addWidget( aDoubleFacesBtn, 8, 2 ); //18
- myMainLayout->addWidget( aFacesOverLab, 9, 0 ); //19
- myMainLayout->addWidget( aFacesOver, 9, 1 ); //20
- myMainLayout->addWidget( aOverContFacesBtn, 9, 2 ); //21
- myMainLayout->addWidget( anAspectRatioLab, 10, 0 ); //22
- myMainLayout->addWidget( aComputeFaceBtn, 10, 2 ); //23
- myMainLayout->addWidget( myPlot, 11, 0, 1, 3 );//24
- myMainLayout->addWidget( aVolumesLab, 12, 0, 1, 3 );//25
- myMainLayout->addWidget( aVolumesDoubleLab, 13, 0 ); //26
- myMainLayout->addWidget( aVolumesDouble, 13, 1 ); //27
- myMainLayout->addWidget( aDoubleVolumesBtn, 13, 2 ); //28
- myMainLayout->addWidget( aVolumesOverLab, 14, 0 ); //28
- myMainLayout->addWidget( aVolumesOver, 14, 1 ); //30
- myMainLayout->addWidget( aOverContVolumesBtn,14, 2 ); //31
- myMainLayout->addWidget( anAspectRatio3DLab, 15, 0 ); //32
- myMainLayout->addWidget( aComputeVolumeBtn, 15, 2 ); //33
- myMainLayout->addWidget( myPlot3D, 16, 0, 1, 3 );//34
+ myMainLayout->addWidget( aNodesNbConnLab, 3, 0 ); //6
+ myMainLayout->addWidget( aNodesNbConn, 3, 1 ); //7
+ myMainLayout->addWidget( aNodesNbConnBtn, 3, 2 ); //8
+ myMainLayout->addWidget( aNodesDoubleLab, 4, 0 ); //9
+ myMainLayout->addWidget( aNodesDouble, 4, 1 ); //10
+ myMainLayout->addWidget( aDoubleNodesBtn, 4, 2 ); //11
+ myMainLayout->addWidget( aToleranceLab, 5, 0 ); //12
+ myMainLayout->addWidget( myToleranceWidget, 5, 1 ); //13
+ myMainLayout->addWidget( anEdgesLab, 6, 0, 1, 3 ); //14
+ myMainLayout->addWidget( anEdgesDoubleLab, 7, 0 ); //15
+ myMainLayout->addWidget( anEdgesDouble, 7, 1 ); //16
+ myMainLayout->addWidget( aDoubleEdgesBtn, 7, 2 ); //17
+ myMainLayout->addWidget( aFacesLab, 8, 0, 1, 3 ); //18
+ myMainLayout->addWidget( aFacesDoubleLab, 9, 0 ); //19
+ myMainLayout->addWidget( aFacesDouble, 9, 1 ); //20
+ myMainLayout->addWidget( aDoubleFacesBtn, 9, 2 ); //21
+ myMainLayout->addWidget( aFacesOverLab, 10, 0 ); //22
+ myMainLayout->addWidget( aFacesOver, 10, 1 ); //23
+ myMainLayout->addWidget( aOverContFacesBtn, 10, 2 ); //24
+ myMainLayout->addWidget( anAspectRatioLab, 11, 0 ); //25
+ myMainLayout->addWidget( aComputeFaceBtn, 11, 2 ); //26
+ myMainLayout->addWidget( myPlot, 12, 0, 1, 3 );//27
+ myMainLayout->addWidget( aVolumesLab, 13, 0, 1, 3 );//28
+ myMainLayout->addWidget( aVolumesDoubleLab, 14, 0 ); //29
+ myMainLayout->addWidget( aVolumesDouble, 14, 1 ); //30
+ myMainLayout->addWidget( aDoubleVolumesBtn, 14, 2 ); //31
+ myMainLayout->addWidget( aVolumesOverLab, 15, 0 ); //32
+ myMainLayout->addWidget( aVolumesOver, 15, 1 ); //33
+ myMainLayout->addWidget( aOverContVolumesBtn,15, 2 ); //34
+ myMainLayout->addWidget( anAspectRatio3DLab, 16, 0 ); //35
+ myMainLayout->addWidget( aComputeVolumeBtn, 16, 2 ); //36
+ myMainLayout->addWidget( myPlot3D, 17, 0, 1, 3 );//37
myMainLayout->setColumnStretch( 0, 0 );
myMainLayout->setColumnStretch( 1, 5 );
lab->setAlignment( Qt::AlignCenter );
lab->setAutoFillBackground( true );
QPalette pal = lab->palette();
- pal.setColor( QPalette::Window, QApplication::palette().color( QPalette::Active, QPalette::Base ) );
+ pal.setColor( QPalette::Window, QApplication::palette().color( QPalette::Active, QPalette::Base ));
lab->setPalette( pal );
lab->setMinimumWidth( 60 );
return lab;
if ( Max( (int)nbNodes, (int)nbElems ) <= ctrlLimit ) {
// free nodes
computeFreeNodesInfo();
+ computeNodesNbConnInfo();
// double nodes
if ( Max( (int)mesh->NbNodes(), (int)mesh->NbElements() ) <= ctrlLimit )
computeDoubleNodesInfo();
else {
myButtons[0]->setEnabled( true );
myButtons[1]->setEnabled( true );
+ myButtons[2]->setEnabled( true );
}
}
else {
- for( int i=2; i<=10; i++)
+ for( int i=2; i<=11; i++)
myMainLayout->itemAt(i)->widget()->setVisible( false );
}
if( nbElemsByType[ SMESH::EDGE ] <= ctrlLimit )
computeDoubleEdgesInfo();
else
- myButtons[2]->setEnabled( true );
+ myButtons[3]->setEnabled( true );
}
else {
for( int i=11; i<=14; i++)
computeAspectRatio();
}
else {
- myButtons[3]->setEnabled( true );
myButtons[4]->setEnabled( true );
myButtons[5]->setEnabled( true );
+ myButtons[6]->setEnabled( true );
}
#ifdef DISABLE_PLOT2DVIEWER
- myMainLayout->setRowStretch(11,0);
- for( int i=22; i<=24; i++)
+ myMainLayout->setRowStretch(12,0);
+ for( int i=25; i<=27; i++)
myMainLayout->itemAt(i)->widget()->setVisible( false );
#endif
}
else {
- myMainLayout->setRowStretch(11,0);
- for( int i=15; i<=24; i++)
+ myMainLayout->setRowStretch(12,0);
+ for( int i=18; i<=27; i++)
myMainLayout->itemAt(i)->widget()->setVisible( false );
}
computeOverConstrainedVolumesInfo();
// aspect Ratio 3D histogram
computeAspectRatio3D();
- }
- else {
- myButtons[6]->setEnabled( true );
- myButtons[7]->setEnabled( true );
- myButtons[8]->setEnabled( true );
- }
+ }
+ else {
+ myButtons[7]->setEnabled( true );
+ myButtons[8]->setEnabled( true );
+ myButtons[9]->setEnabled( true );
+ }
#ifdef DISABLE_PLOT2DVIEWER
- myMainLayout->setRowStretch(16,0);
- for( int i=32; i<=34; i++)
+ myMainLayout->setRowStretch(17,0);
+ for( int i=35; i<=37; i++)
myMainLayout->itemAt(i)->widget()->setVisible( false );
#endif
}
else {
- myMainLayout->setRowStretch(16,0);
- for( int i=25; i<=34; i++)
+ myMainLayout->setRowStretch(17,0);
+ for( int i=28; i<=37; i++)
myMainLayout->itemAt(i)->widget()->setVisible( false );
}
}
void SMESHGUI_CtrlInfo::computeDoubleNodesInfo()
{
- computeNb( SMESH::FT_EqualNodes, 1, 2 );
+ computeNb( SMESH::FT_EqualNodes, 2, 3 );
}
void SMESHGUI_CtrlInfo::computeDoubleEdgesInfo()
{
- computeNb( SMESH::FT_EqualEdges, 2, 3 );
+ computeNb( SMESH::FT_EqualEdges, 3, 4 );
}
void SMESHGUI_CtrlInfo::computeDoubleFacesInfo()
{
- computeNb( SMESH::FT_EqualFaces, 3, 4 );
+ computeNb( SMESH::FT_EqualFaces, 4, 5 );
}
void SMESHGUI_CtrlInfo::computeOverConstrainedFacesInfo()
{
- computeNb( SMESH::FT_OverConstrainedFace, 4, 5 );
+ computeNb( SMESH::FT_OverConstrainedFace, 5, 6 );
}
void SMESHGUI_CtrlInfo::computeDoubleVolumesInfo()
{
- computeNb( SMESH::FT_EqualVolumes, 6, 6 );
+ computeNb( SMESH::FT_EqualVolumes, 7, 7 );
}
void SMESHGUI_CtrlInfo::computeOverConstrainedVolumesInfo()
{
- computeNb( SMESH::FT_OverConstrainedVolume, 7, 7 );
+ computeNb( SMESH::FT_OverConstrainedVolume, 8, 8 );
+}
+
+void SMESHGUI_CtrlInfo::computeNodesNbConnInfo()
+{
+ myButtons[ 1 ]->setEnabled( false );
+ myWidgets[ 2 ]->setText( "" );
+ SMESH::SMESH_Mesh_var mesh = myObject->GetMesh();
+ if ( mesh->_is_nil() ) return;
+ if ( !mesh->IsLoaded() )
+ {
+ mesh->Load();
+ this->showInfo( myObject ); // try to show all values
+ if ( !myWidgets[ 2 ]->text().isEmpty() )
+ return; // already computed
+ }
+ myNodeConnFunctor->SetMesh( mesh );
+ SMESH::Histogram_var histogram =
+ myNodeConnFunctor->GetLocalHistogram( 1, /*isLogarithmic=*/false, myObject );
+
+ myWidgets[ 2 ]->setText( QString::number( histogram[0].max ));
}
void SMESHGUI_CtrlInfo::computeAspectRatio()
{
#ifndef DISABLE_PLOT2DVIEWER
- myButtons[5]->setEnabled( false );
+ myButtons[6]->setEnabled( false );
if ( myObject->_is_nil() ) return;
void SMESHGUI_CtrlInfo::computeAspectRatio3D()
{
#ifndef DISABLE_PLOT2DVIEWER
- myButtons[8]->setEnabled( false );
+ myButtons[9]->setEnabled( false );
if ( myObject->_is_nil() ) return;
*/
void SMESHGUI_CtrlInfo::clearInternal()
{
- for( int i=0; i<=34; i++)
+ for( int i=0; i<=35; i++)
myMainLayout->itemAt(i)->widget()->setVisible( true );
- for( int i=0; i<=8; i++)
+ for( int i=0; i<=9; i++)
myButtons[i]->setEnabled( false );
myPlot->detachItems();
myPlot3D->detachItems();
aNumFun->SetMesh( mesh );
CORBA::Long cprecision = 6;
- if ( SMESHGUI::resourceMgr()->booleanValue( "SMESH", "use_precision", false ) )
+ if ( SMESHGUI::resourceMgr()->booleanValue( "SMESH", "use_precision", false ))
cprecision = SMESHGUI::resourceMgr()->integerValue( "SMESH", "controls_precision", -1 );
aNumFun->SetPrecision( cprecision );
/*isLogarithmic=*/false,
myObject );
Plot2d_Histogram* aHistogram = new Plot2d_Histogram();
- aHistogram->setColor( palette().color( QPalette::Highlight ) );
+ aHistogram->setColor( palette().color( QPalette::Highlight ));
if ( &histogramVar.in() )
{
for ( size_t i = 0, nb = histogramVar->length(); i < nb; i++ )
/*!
\brief Constructor
\param parent parent widget
- \param page specifies the dialog page to be shown at the start-up
*/
SMESHGUI_CtrlInfoDlg::SMESHGUI_CtrlInfoDlg( QWidget* parent )
-: QDialog( parent )
+ : QDialog( parent )
{
setAttribute( Qt::WA_DeleteOnClose, true );
- setWindowTitle( tr( "CTRL_INFO" ) );
+ setWindowTitle( tr( "CTRL_INFO" ));
setMinimumSize( 400, 600 );
myCtrlInfo = new SMESHGUI_CtrlInfo( this );
l->addWidget( myCtrlInfo );
l->addLayout( btnLayout );
- connect( okBtn, SIGNAL( clicked() ), this, SLOT( reject() ) );
- connect( dumpBtn, SIGNAL( clicked() ), this, SLOT( dump() ) );
- connect( helpBtn, SIGNAL( clicked() ), this, SLOT( help() ) );
- connect( SMESHGUI::GetSMESHGUI(), SIGNAL( SignalDeactivateActiveDialog() ), this, SLOT( deactivate() ) );
- connect( SMESHGUI::GetSMESHGUI(), SIGNAL( SignalCloseAllDialogs() ), this, SLOT( reject() ) );
+ connect( okBtn, SIGNAL( clicked() ), this, SLOT( reject() ));
+ connect( dumpBtn, SIGNAL( clicked() ), this, SLOT( dump() ));
+ connect( helpBtn, SIGNAL( clicked() ), this, SLOT( help() ));
+ connect( SMESHGUI::GetSMESHGUI(), SIGNAL( SignalDeactivateActiveDialog() ), this, SLOT( deactivate() ));
+ connect( SMESHGUI::GetSMESHGUI(), SIGNAL( SignalCloseAllDialogs() ), this, SLOT( reject() ));
updateSelection();
}
*/
void SMESHGUI_CtrlInfoDlg::showInfo( const Handle(SALOME_InteractiveObject)& IO )
{
- if ( SMESH::SMESH_IDSource_var obj = SMESH::IObjectToInterface<SMESH::SMESH_IDSource>( IO ) )
+ if ( SMESH::SMESH_IDSource_var obj = SMESH::IObjectToInterface<SMESH::SMESH_IDSource>( IO ))
myCtrlInfo->showInfo( obj );
}
LightApp_SelectionMgr* selMgr = SMESHGUI::selectionMgr();
disconnect( selMgr, 0, this, 0 );
SMESH::SetPointRepresentation( false );
- connect( selMgr, SIGNAL( currentSelectionChanged() ), this, SLOT( updateInfo() ) );
+ connect( selMgr, SIGNAL( currentSelectionChanged() ), this, SLOT( updateInfo() ));
updateInfo();
}
*/
void SMESHGUI_CtrlInfoDlg::deactivate()
{
- disconnect( SMESHGUI::selectionMgr(), SIGNAL( currentSelectionChanged() ), this, SLOT( updateInfo() ) );
+ disconnect( SMESHGUI::selectionMgr(), SIGNAL( currentSelectionChanged() ), this, SLOT( updateInfo() ));
}
/*!
_PTR( Study ) aStudy = appStudy->studyDS();
QStringList aFilters;
- aFilters.append( tr( "TEXT_FILES" ) );
+ aFilters.append( tr( "TEXT_FILES" ));
DumpFileDlg fd( this );
- fd.setWindowTitle( tr( "SAVE_INFO" ) );
+ fd.setWindowTitle( tr( "SAVE_INFO" ));
fd.setNameFilters( aFilters );
fd.myBaseChk->hide();
fd.myElemChk->hide();
return;
QFile aFile( aFileName );
- if ( !aFile.open( QIODevice::WriteOnly | QIODevice::Text ) )
+ if ( !aFile.open( QIODevice::WriteOnly | QIODevice::Text ))
return;
QTextStream out( &aFile );