Salome HOME
23514: EDF 16031 - SMESH freezes
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_MeshInfosBox.cxx
1 // Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License, or (at your option) any later version.
7 //
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19
20 // File   : SMESHGUI_MeshInfosBox.cxx
21 // Author : Edward AGAPOV, Open CASCADE S.A.S.
22 // SMESH includes
23 //
24 #include "SMESHGUI_MeshInfosBox.h"
25
26 #include "SMDSAbs_ElementType.hxx"
27
28 // Qt includes
29 #include <QFrame>
30 #include <QLabel>
31 #include <QGridLayout>
32
33 #define SPACING 6
34 #define MARGIN  11
35
36 #define COLONIZE(str)   (QString(str).contains(":") > 0 ? QString(str) : QString(str) + " :" )
37
38 static void addSeparator( QWidget* parent )
39 {
40   QGridLayout* l = qobject_cast<QGridLayout*>( parent->layout() );
41   int row  = l->rowCount();
42   int cols = l->columnCount();
43   for ( int i = 0; i < cols; i++ ) {
44     QFrame* hline = new QFrame( parent );
45     hline->setFrameStyle( QFrame::HLine | QFrame::Sunken );
46     l->addWidget( hline, row, i );
47   }
48 }
49
50 enum TCol {
51   COL_ALGO = 0, COL_SHAPE, COL_ERROR, COL_SHAPEID, COL_PUBLISHED, COL_BAD_MESH, NB_COLUMNS
52 };
53
54 // =========================================================================================
55 /*!
56  * \brief Box showing mesh info
57  */
58 // =========================================================================================
59
60 SMESHGUI_MeshInfosBox::SMESHGUI_MeshInfosBox(const bool full, QWidget* theParent)
61 : QGroupBox( tr("SMESH_MESHINFO_TITLE"), theParent ), myFull( full ),
62   myNbNode(0),
63   my0DElem(0),
64   myBall(0),
65   myNbEdge(0), myNbLinEdge(0), myNbQuadEdge(0),
66   myNbTrai(0), myNbLinTrai(0), myNbQuadTrai(0), myNbBiQuadTrai(0),
67   myNbQuad(0), myNbLinQuad(0), myNbQuadQuad(0), myNbBiQuadQuad(0),
68   myNbFace(0), myNbLinFace(0), myNbQuadFace(0), myNbBiQuadFace(0),
69   myNbPolyg(0), myNbQuadPolyg(0),
70   myNbHexa(0), myNbLinHexa(0), myNbQuadHexa(0), myNbBiQuadHexa(0),
71   myNbTetra(0),myNbLinTetra(0),myNbQuadTetra(0),
72   myNbPyra(0), myNbLinPyra(0), myNbQuadPyra(0),
73   myNbPrism(0),myNbLinPrism(0), myNbQuadPrism(0), myNbBiQuadPrism(0),
74   myNbVolum(0), myNbLinVolum(0), myNbQuadVolum(0), myNbBiQuadVolum(0),
75   myNbHexaPrism(0),
76   myNbPolyh(0)
77 {
78   QGridLayout* l = new QGridLayout(this);
79   l->setMargin( MARGIN );
80   l->setSpacing( SPACING );
81
82   QFont italic = font(); italic.setItalic(true);
83   QFont bold   = font(); bold.setBold(true);
84
85   QLabel* lab;
86   int row = 0;
87
88   // title
89   lab = new QLabel( this );
90   lab->setMinimumWidth(100); lab->setFont( italic );
91   l->addWidget( lab, row, 0 );
92   // --
93   lab = new QLabel(tr("SMESH_MESHINFO_ORDER0"), this );
94   lab->setMinimumWidth(100); lab->setFont( italic );
95   l->addWidget( lab, row, 1 );
96   // --
97   lab = new QLabel(tr("SMESH_MESHINFO_ORDER1"), this );
98   lab->setMinimumWidth(100); lab->setFont( italic );
99   l->addWidget( lab, row, 2 );
100   // --
101   lab = new QLabel(tr("SMESH_MESHINFO_ORDER2"), this );
102   lab->setMinimumWidth(100); lab->setFont( italic );
103   l->addWidget( lab, row, 3 );
104   // --
105   lab = new QLabel(tr("SMESH_MESHINFO_ORDER3"), this );
106   lab->setMinimumWidth(100); lab->setFont( italic );
107   l->addWidget( lab, row, 4 );
108
109   if ( myFull )
110   {
111     // nodes
112     row = l->rowCount();         // retrieve current row count
113     // --
114     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_NODES")), this );
115     lab->setFont( bold );
116     l->addWidget( lab,           row, 0 );
117     // --
118     myNbNode = new QLabel( this );
119     l->addWidget( myNbNode,      row, 1 );
120
121     addSeparator(this);          // add separator
122
123     // 0D elements
124     row = l->rowCount();         // retrieve current row count
125     // --
126     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_0DELEMS")), this );
127     lab->setFont( bold );
128     l->addWidget( lab,           row, 0 );
129     // --
130     my0DElem = new QLabel( this );
131     l->addWidget( my0DElem,      row, 1 );
132
133     addSeparator(this);          // add separator
134
135     // balls
136     row = l->rowCount();         // retrieve current row count
137     // --
138     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_BALLS")), this );
139     lab->setFont( bold );
140     l->addWidget( lab,           row, 0 );
141     // --
142     myBall = new QLabel( this );
143     l->addWidget( myBall,      row, 1 );
144
145     addSeparator(this);          // add separator
146
147     // edges
148     row = l->rowCount();         // retrieve current row count
149     // --
150     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_EDGES")), this );
151     lab->setFont( bold );
152     l->addWidget( lab,           row, 0 );
153     // --
154     myNbEdge = new QLabel( this );
155     l->addWidget( myNbEdge,      row, 1 );
156     // --
157     myNbLinEdge = new QLabel( this );
158     l->addWidget( myNbLinEdge,   row, 2 );
159     // --
160     myNbQuadEdge = new QLabel( this );
161     l->addWidget( myNbQuadEdge,  row, 3 );
162
163     addSeparator(this);          // add separator
164
165     // faces
166     row = l->rowCount();         // retrieve current row count
167     // --
168     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_FACES")), this);
169     lab->setFont( bold );
170     l->addWidget( lab,            row, 0 );
171     // --
172     myNbFace       = new QLabel( this );
173     l->addWidget( myNbFace,       row, 1 );
174     // --
175     myNbLinFace    = new QLabel( this );
176     l->addWidget( myNbLinFace,    row,  2 );
177     // --
178     myNbQuadFace   = new QLabel( this );
179     l->addWidget( myNbQuadFace,   row, 3 );
180     // --
181     myNbBiQuadFace = new QLabel( this );
182     l->addWidget( myNbBiQuadFace, row, 4 );
183     // --
184     row++;                       // increment row count
185     // ... triangles
186     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_TRIANGLES")), this );
187     l->addWidget( lab,            row, 0 );
188     // --
189     myNbTrai       = new QLabel( this );
190     l->addWidget( myNbTrai,       row, 1 );
191     // --
192     myNbLinTrai    = new QLabel( this );
193     l->addWidget( myNbLinTrai,    row, 2 );
194     // --
195     myNbQuadTrai   = new QLabel( this );
196     l->addWidget( myNbQuadTrai,   row, 3 );
197     // --
198     myNbBiQuadTrai = new QLabel( this );
199     l->addWidget( myNbBiQuadTrai, row, 4 );
200     // --
201     row++;                       // increment row count
202     // ... quadrangles
203     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_QUADRANGLES")), this );
204     l->addWidget( lab,            row, 0 );
205     // --
206     myNbQuad       = new QLabel( this );
207     l->addWidget( myNbQuad,       row, 1 );
208     // --
209     myNbLinQuad    = new QLabel( this );
210     l->addWidget( myNbLinQuad,    row, 2 );
211     // --
212     myNbQuadQuad   = new QLabel( this );
213     l->addWidget( myNbQuadQuad,   row, 3 );
214     // --
215     myNbBiQuadQuad = new QLabel( this );
216     l->addWidget( myNbBiQuadQuad, row, 4 );
217     // --
218     row++;                       // increment row count
219     // ... poligones
220     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_POLYGONES")), this );
221     l->addWidget( lab,           row, 0 );
222     // --
223     myNbPolyg    = new QLabel( this );
224     l->addWidget( myNbPolyg,     row, 1 );
225     // --
226     myNbLinPolyg = new QLabel( this );
227     l->addWidget( myNbLinPolyg,    row, 2 );
228     // --
229     myNbQuadPolyg = new QLabel( this );
230     l->addWidget( myNbQuadPolyg,   row, 3 );
231
232     addSeparator(this);          // add separator
233
234     // volumes
235     row = l->rowCount();         // retrieve current row count
236     // --
237     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_VOLUMES")), this);
238     lab->setFont( bold );
239     l->addWidget( lab,             row, 0 );
240     // --
241     myNbVolum       = new QLabel( this );
242     l->addWidget( myNbVolum,       row, 1 );
243     // --
244     myNbLinVolum    = new QLabel( this );
245     l->addWidget( myNbLinVolum,    row, 2 );
246     // --
247     myNbQuadVolum   = new QLabel( this );
248     l->addWidget( myNbQuadVolum,   row, 3 );
249     // --
250     myNbBiQuadVolum = new QLabel( this );
251     l->addWidget( myNbBiQuadVolum, row, 4 );
252     // --
253     row++;                       // increment row count
254     // ... tetras
255     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_TETRAS")), this );
256     l->addWidget( lab,           row, 0 );
257     // --
258     myNbTetra     = new QLabel( this );
259     l->addWidget( myNbTetra,     row, 1 );
260     // --
261     myNbLinTetra  = new QLabel( this );
262     l->addWidget( myNbLinTetra,  row, 2 );
263     // --
264     myNbQuadTetra = new QLabel( this );
265     l->addWidget( myNbQuadTetra, row, 3 );
266     // --
267     row++;                       // increment row count
268     // ... hexas
269     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_HEXAS")), this );
270     l->addWidget( lab,            row, 0 );
271     // --
272     myNbHexa       = new QLabel( this );
273     l->addWidget( myNbHexa,       row, 1 );
274     // --
275     myNbLinHexa    = new QLabel( this );
276     l->addWidget( myNbLinHexa,    row, 2 );
277     // --
278     myNbQuadHexa   = new QLabel( this );
279     l->addWidget( myNbQuadHexa,   row, 3 );
280     // --
281     myNbBiQuadHexa = new QLabel( this );
282     l->addWidget( myNbBiQuadHexa, row, 4 );
283     // --
284     row++;                       // increment row count
285     // ... pyras
286     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_PYRAS")), this );
287     l->addWidget( lab,           row, 0 );
288     // --
289     myNbPyra      = new QLabel( this );
290     l->addWidget( myNbPyra,      row, 1 );
291     // --
292     myNbLinPyra   = new QLabel( this );
293     l->addWidget( myNbLinPyra,   row, 2 );
294     // --
295     myNbQuadPyra  = new QLabel( this );
296     l->addWidget( myNbQuadPyra,  row, 3 );
297     // --
298     row++;                       // increment row count
299     // ... prisms
300     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_PRISMS")), this );
301     l->addWidget( lab,           row, 0 );
302     // --
303     myNbPrism     = new QLabel( this );
304     l->addWidget( myNbPrism,     row, 1 );
305     // --
306     myNbLinPrism  = new QLabel( this );
307     l->addWidget( myNbLinPrism,  row, 2 );
308     // --
309     myNbQuadPrism = new QLabel( this );
310     l->addWidget( myNbQuadPrism, row, 3 );
311     // --
312     myNbBiQuadPrism = new QLabel( this );
313     l->addWidget( myNbBiQuadPrism, row, 4 );
314     // --
315     row++;                       // increment row count
316     // ... hexa prisms
317     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_HEXAPRISM")), this );
318     l->addWidget( lab,           row, 0 );
319     // --
320     myNbHexaPrism     = new QLabel( this );
321     l->addWidget( myNbHexaPrism, row, 1 );
322     // --
323     row++;                       // increment row count
324     // ... polyedres
325     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_POLYEDRES")), this );
326     l->addWidget( lab,           row, 0 );
327     // --
328     myNbPolyh     = new QLabel( this );
329     l->addWidget( myNbPolyh,     row, 1 );
330   }
331   else
332   {
333     // nodes
334     row = l->rowCount();         // retrieve current row count
335     // --
336     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_NODES")), this );
337     l->addWidget( lab,           row, 0 );
338     // --
339     myNbNode      = new QLabel( this );
340     l->addWidget( myNbNode,      row, 1 );
341
342     // 0D elements
343     row = l->rowCount();         // retrieve current row count
344     // --
345     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_0DELEMS")), this );
346     l->addWidget( lab,           row, 0 );
347     // --
348     my0DElem = new QLabel( this );
349     l->addWidget( my0DElem,      row, 1 );
350
351     // balls
352     row = l->rowCount();         // retrieve current row count
353     // --
354     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_BALLS")), this );
355     l->addWidget( lab,           row, 0 );
356     // --
357     myBall = new QLabel( this );
358     l->addWidget( myBall,        row, 1 );
359
360     addSeparator(this);          // add separator
361
362     // edges
363     row = l->rowCount();         // retrieve current row count
364     // --
365     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_EDGES")), this );
366     l->addWidget( lab,           row, 0 );
367     // --
368     myNbEdge      = new QLabel( this );
369     l->addWidget( myNbEdge,      row, 1 );
370     // --
371     myNbLinEdge   = new QLabel( this );
372     l->addWidget( myNbLinEdge,   row, 2 );
373     // --
374     myNbQuadEdge  = new QLabel( this );
375     l->addWidget( myNbQuadEdge,  row, 3 );
376
377     // faces
378     row = l->rowCount();         // retrieve current row count
379     // --
380     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_FACES")), this);
381     l->addWidget( lab,            row, 0 );
382     // --
383     myNbFace       = new QLabel( this );
384     l->addWidget( myNbFace,       row, 1 );
385     // --
386     myNbLinFace    = new QLabel( this );
387     l->addWidget( myNbLinFace,    row, 2 );
388     // --
389     myNbQuadFace   = new QLabel( this );
390     l->addWidget( myNbQuadFace,   row, 3 );
391     // --
392     myNbBiQuadFace = new QLabel( this );
393     l->addWidget( myNbBiQuadFace, row, 4 );
394
395     // volumes
396     row = l->rowCount();         // retrieve current row count
397     // --
398     lab = new QLabel(COLONIZE(tr("SMESH_MESHINFO_VOLUMES")), this);
399     l->addWidget( lab,             row, 0 );
400     // --
401     myNbVolum       = new QLabel( this );
402     l->addWidget( myNbVolum,       row, 1 );
403     // --
404     myNbLinVolum    = new QLabel( this );
405     l->addWidget( myNbLinVolum,    row, 2 );
406     // --
407     myNbQuadVolum   = new QLabel( this );
408     l->addWidget( myNbQuadVolum,   row, 3 );
409     // --
410     myNbBiQuadVolum = new QLabel( this );
411     l->addWidget( myNbBiQuadVolum, row, 4 );
412   }
413 }
414
415 // =========================================================================================
416 /*!
417  * \brief Set mesh info
418  */
419 // =========================================================================================
420
421 void SMESHGUI_MeshInfosBox::SetMeshInfo(const SMESH::long_array& theInfo)
422 {
423   // nodes
424   myNbNode       ->setText( QString("%1").arg( theInfo[SMDSEntity_Node] ));
425
426   //0D elements
427   my0DElem       ->setText( QString("%1").arg( theInfo[SMDSEntity_0D] ));
428
429   //balls
430   myBall         ->setText( QString("%1").arg( theInfo[SMDSEntity_Ball] ));
431
432   // edges
433   myNbEdge       ->setText( QString("%1").arg( theInfo[SMDSEntity_Edge] +
434                                                theInfo[SMDSEntity_Quad_Edge] ));
435   myNbLinEdge    ->setText( QString("%1").arg( theInfo[SMDSEntity_Edge] ));
436   myNbQuadEdge   ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Edge] ));
437
438   // faces
439   myNbFace       ->setText( QString("%1").arg( theInfo[SMDSEntity_Triangle] +
440                                                theInfo[SMDSEntity_Quad_Triangle] +
441                                                theInfo[SMDSEntity_BiQuad_Triangle] +
442                                                theInfo[SMDSEntity_Quadrangle] +
443                                                theInfo[SMDSEntity_Quad_Quadrangle] +
444                                                theInfo[SMDSEntity_BiQuad_Quadrangle] +
445                                                theInfo[SMDSEntity_Polygon] +
446                                                theInfo[SMDSEntity_Quad_Polygon]));
447   myNbLinFace    ->setText( QString("%1").arg( theInfo[SMDSEntity_Triangle] +
448                                                theInfo[SMDSEntity_Quadrangle] +
449                                                theInfo[SMDSEntity_Polygon] ));
450   myNbQuadFace   ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Triangle] +
451                                                theInfo[SMDSEntity_Quad_Quadrangle] +
452                                                theInfo[SMDSEntity_Quad_Polygon] ));
453   myNbBiQuadFace ->setText( QString("%1").arg( theInfo[SMDSEntity_BiQuad_Triangle] +
454                                                theInfo[SMDSEntity_BiQuad_Quadrangle] ));
455
456   // volumes
457   myNbVolum      ->setText( QString("%1").arg( theInfo[SMDSEntity_Tetra] +
458                                                theInfo[SMDSEntity_Quad_Tetra] +
459                                                theInfo[SMDSEntity_Pyramid] +
460                                                theInfo[SMDSEntity_Quad_Pyramid] +
461                                                theInfo[SMDSEntity_Hexa] +
462                                                theInfo[SMDSEntity_Quad_Hexa] +
463                                                theInfo[SMDSEntity_TriQuad_Hexa] +
464                                                theInfo[SMDSEntity_Penta] +
465                                                theInfo[SMDSEntity_Quad_Penta] +
466                                                theInfo[SMDSEntity_BiQuad_Penta] +
467                                                theInfo[SMDSEntity_Hexagonal_Prism] +
468                                                theInfo[SMDSEntity_Polyhedra] ));
469   myNbLinVolum   ->setText( QString("%1").arg( theInfo[SMDSEntity_Tetra] +
470                                                theInfo[SMDSEntity_Pyramid] +
471                                                theInfo[SMDSEntity_Hexa] +
472                                                theInfo[SMDSEntity_Penta] +
473                                                theInfo[SMDSEntity_Polyhedra] ));
474   myNbQuadVolum  ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Tetra] +
475                                                theInfo[SMDSEntity_Quad_Pyramid] +
476                                                theInfo[SMDSEntity_Quad_Hexa] +
477                                                theInfo[SMDSEntity_Quad_Penta] ));
478   myNbBiQuadVolum->setText( QString("%1").arg( theInfo[SMDSEntity_TriQuad_Hexa] +
479                                                theInfo[SMDSEntity_BiQuad_Penta] ));
480
481   if ( myFull )
482   {
483     // triangles
484     myNbTrai       ->setText( QString("%1").arg( theInfo[SMDSEntity_Triangle] +
485                                                  theInfo[SMDSEntity_Quad_Triangle] +
486                                                  theInfo[SMDSEntity_BiQuad_Triangle] ));
487     myNbLinTrai    ->setText( QString("%1").arg( theInfo[SMDSEntity_Triangle] ));
488     myNbQuadTrai   ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Triangle] ));
489     myNbBiQuadTrai ->setText( QString("%1").arg( theInfo[SMDSEntity_BiQuad_Triangle] ));
490     // quadrangles
491     myNbQuad       ->setText( QString("%1").arg( theInfo[SMDSEntity_Quadrangle] +
492                                                  theInfo[SMDSEntity_Quad_Quadrangle] +
493                                                  theInfo[SMDSEntity_BiQuad_Quadrangle] ));
494     myNbLinQuad    ->setText( QString("%1").arg( theInfo[SMDSEntity_Quadrangle] ));
495     myNbQuadQuad   ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Quadrangle] ));
496     myNbBiQuadQuad ->setText( QString("%1").arg( theInfo[SMDSEntity_BiQuad_Quadrangle]));
497     // poligones
498     myNbPolyg      ->setText( QString("%1").arg( theInfo[SMDSEntity_Polygon] +
499                                                  theInfo[SMDSEntity_Quad_Polygon] ));
500     myNbLinPolyg   ->setText( QString("%1").arg( theInfo[SMDSEntity_Polygon] ));
501     myNbQuadPolyg  ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Polygon] ));
502
503     // tetras
504     myNbTetra      ->setText( QString("%1").arg( theInfo[SMDSEntity_Tetra] +
505                                                  theInfo[SMDSEntity_Quad_Tetra] ));
506     myNbLinTetra   ->setText( QString("%1").arg( theInfo[SMDSEntity_Tetra] ));
507     myNbQuadTetra  ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Tetra] ));
508     // hexas
509     myNbHexa       ->setText( QString("%1").arg( theInfo[SMDSEntity_Hexa] +
510                                                  theInfo[SMDSEntity_TriQuad_Hexa] +
511                                                  theInfo[SMDSEntity_Quad_Hexa] ));
512     myNbLinHexa    ->setText( QString("%1").arg( theInfo[SMDSEntity_Hexa] ));
513     myNbQuadHexa   ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Hexa] ));
514     myNbBiQuadHexa ->setText( QString("%1").arg( theInfo[SMDSEntity_TriQuad_Hexa] ));
515     // pyras
516     myNbPyra     ->setText( QString("%1").arg( theInfo[SMDSEntity_Pyramid] +
517                                                theInfo[SMDSEntity_Quad_Pyramid] ));
518     myNbLinPyra  ->setText( QString("%1").arg( theInfo[SMDSEntity_Pyramid] ));
519     myNbQuadPyra ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Pyramid] ));
520     // prisms
521     myNbPrism    ->setText( QString("%1").arg( theInfo[SMDSEntity_Penta] +
522                                                theInfo[SMDSEntity_Quad_Penta] +
523                                                                                            theInfo[SMDSEntity_BiQuad_Penta] ));
524     myNbLinPrism   ->setText( QString("%1").arg( theInfo[SMDSEntity_Penta] ));
525     myNbQuadPrism  ->setText( QString("%1").arg( theInfo[SMDSEntity_Quad_Penta] ));
526     myNbBiQuadPrism->setText( QString("%1").arg( theInfo[SMDSEntity_BiQuad_Penta] ));
527     // octahedra
528     myNbHexaPrism->setText( QString("%1").arg( theInfo[ SMDSEntity_Hexagonal_Prism ]));
529     // polyedres
530     myNbPolyh    ->setText( QString("%1").arg( theInfo[SMDSEntity_Polyhedra] ));
531   }
532 }