]> SALOME platform Git repositories - modules/hexablock.git/commitdiff
Salome HOME
Mise a jour source recette Hexablock 6
authorabuhsing <abuhsing>
Tue, 9 Jul 2013 14:20:52 +0000 (14:20 +0000)
committerabuhsing <abuhsing>
Tue, 9 Jul 2013 14:20:52 +0000 (14:20 +0000)
 Committing in .

 Modified Files:
  Tag: V7_main
  src/HEXABLOCK/HexBiCylinder.cxx
  src/HEXABLOCK/HexBiCylinder.hxx
  src/HEXABLOCK/HexDocument_v6.cxx
  src/HEXABLOCK/HexEdgeShape.cxx src/HEXABLOCK/HexElements.cxx
  src/HEXABLOCK/HexElements.hxx src/HEXABLOCK/HexHexa.cxx
  src/HEXABLOCK/HexNewShape.cxx src/HEXABLOCK/HexQuad.cxx
  src/HEXABLOCK/HexQuad.hxx src/HEXABLOCK/test_hexa6.cxx
  src/HEXABLOCKGUI/CutEdge_QTD.ui
  src/HEXABLOCKGUI/EdgeAssoc_QTD.ui
  src/HEXABLOCKGUI/Group_QTD.ui
  src/HEXABLOCKGUI/HEXABLOCKGUI.cxx
  src/HEXABLOCKGUI/HEXABLOCKGUI.hxx
  src/HEXABLOCKGUI/HEXABLOCKGUI_DocumentDelegate.cxx
  src/HEXABLOCKGUI/HEXABLOCKGUI_DocumentItem.cxx
  src/HEXABLOCKGUI/HEXABLOCKGUI_DocumentItem.hxx
  src/HEXABLOCKGUI/HEXABLOCKGUI_DocumentModel.cxx
  src/HEXABLOCKGUI/HEXABLOCKGUI_DocumentModel.hxx
  src/HEXABLOCKGUI/HEXABLOCKGUI_DocumentPanel.cxx
  src/HEXABLOCKGUI/HEXABLOCKGUI_DocumentPanel.hxx
  src/HEXABLOCKGUI/JoinQuad_QTD.ui
  src/HEXABLOCKGUI/MakeCylinder_QTD.ui
  src/HEXABLOCKGUI/MakeCylinders_QTD.ui
  src/HEXABLOCKGUI/MakeGrid_QTD.ui
  src/HEXABLOCKGUI/MakeHemiSphere_QTD.ui
  src/HEXABLOCKGUI/MakePipe_QTD.ui
  src/HEXABLOCKGUI/MakePipes_QTD.ui
  src/HEXABLOCKGUI/PrismQuad_QTD.ui
  src/HEXABLOCKGUI/Propagation_QTD.ui
  src/HEXABLOCKGUI/QuadRevolution_QTD.ui
  src/HEXABLOCKGUI/ReplaceHexa_QTD.ui
  src/HEXABLOCKGUI/resources/HEXABLOCK_msg_en.ts
  src/HEXABLOCK_SWIG/hexablock_swig.py
  src/HEXABLOCK_SWIG/hexablock_swig_wrap.cc
  src/TEST_PY/recettes/troisCylindres.py
  src/TEST_PY/recettes/tuyauterie.py
 Removed Files:
  Tag: V7_main
  src/TEST_PY/test_unit/bielle.brep
  src/TEST_PY/test_unit/bielle.stp
  src/TEST_PY/test_unit/bielle_v1.py
  src/TEST_PY/test_unit/bielle_v5.py
  src/TEST_PY/test_unit/tuyau.brep
  src/TEST_PY/test_unit/tuyau_v5.py
 ----------------------------------------------------------------------

45 files changed:
src/HEXABLOCK/HexBiCylinder.cxx
src/HEXABLOCK/HexBiCylinder.hxx
src/HEXABLOCK/HexDocument_v6.cxx
src/HEXABLOCK/HexEdgeShape.cxx
src/HEXABLOCK/HexElements.cxx
src/HEXABLOCK/HexElements.hxx
src/HEXABLOCK/HexHexa.cxx
src/HEXABLOCK/HexNewShape.cxx
src/HEXABLOCK/HexQuad.cxx
src/HEXABLOCK/HexQuad.hxx
src/HEXABLOCK/test_hexa6.cxx
src/HEXABLOCKGUI/CutEdge_QTD.ui
src/HEXABLOCKGUI/EdgeAssoc_QTD.ui
src/HEXABLOCKGUI/Group_QTD.ui
src/HEXABLOCKGUI/HEXABLOCKGUI.cxx
src/HEXABLOCKGUI/HEXABLOCKGUI.hxx
src/HEXABLOCKGUI/HEXABLOCKGUI_DocumentDelegate.cxx
src/HEXABLOCKGUI/HEXABLOCKGUI_DocumentItem.cxx
src/HEXABLOCKGUI/HEXABLOCKGUI_DocumentItem.hxx
src/HEXABLOCKGUI/HEXABLOCKGUI_DocumentModel.cxx
src/HEXABLOCKGUI/HEXABLOCKGUI_DocumentModel.hxx
src/HEXABLOCKGUI/HEXABLOCKGUI_DocumentPanel.cxx
src/HEXABLOCKGUI/HEXABLOCKGUI_DocumentPanel.hxx
src/HEXABLOCKGUI/JoinQuad_QTD.ui
src/HEXABLOCKGUI/MakeCylinder_QTD.ui
src/HEXABLOCKGUI/MakeCylinders_QTD.ui
src/HEXABLOCKGUI/MakeGrid_QTD.ui
src/HEXABLOCKGUI/MakeHemiSphere_QTD.ui
src/HEXABLOCKGUI/MakePipe_QTD.ui
src/HEXABLOCKGUI/MakePipes_QTD.ui
src/HEXABLOCKGUI/PrismQuad_QTD.ui
src/HEXABLOCKGUI/Propagation_QTD.ui
src/HEXABLOCKGUI/QuadRevolution_QTD.ui
src/HEXABLOCKGUI/ReplaceHexa_QTD.ui
src/HEXABLOCKGUI/resources/HEXABLOCK_msg_en.ts
src/HEXABLOCK_SWIG/hexablock_swig.py
src/HEXABLOCK_SWIG/hexablock_swig_wrap.cc
src/TEST_PY/recettes/troisCylindres.py
src/TEST_PY/recettes/tuyauterie.py
src/TEST_PY/test_unit/bielle.brep [deleted file]
src/TEST_PY/test_unit/bielle.stp [deleted file]
src/TEST_PY/test_unit/bielle_v1.py [deleted file]
src/TEST_PY/test_unit/bielle_v5.py [deleted file]
src/TEST_PY/test_unit/tuyau.brep [deleted file]
src/TEST_PY/test_unit/tuyau_v5.py [deleted file]

index e35cd78325d2989ff8258a1e9ddf618d4f393f8f..59468446d9426827671b5a0ed5fede0978a5601a 100755 (executable)
@@ -162,26 +162,29 @@ Edge* BiCylinder::addEdge (Vertex* v1, Vertex* v2, int cyl, int dir, int nx,
          printf ("%s  ((%s, %s)) = (%s,%s)\n", NameOf(edge),
                  NameOf(edge->getVertex(0)), NameOf(edge->getVertex(1)),
                  NameOf(v1), NameOf(v2));
-         if (NOT edge->definedBy (v1,v2))
+         if (edge->definedBy (v1,v2))
+            return tab_edge [nro];
+         else
             printf (" **** Incoherence !!\n");
          }
-      return tab_edge [nro];
       }
 
    if (v1==NULL || v2==NULL)
       return NULL;
 
    Edge* edge = findEdge (v1, v2);
-   if (edge==NULL)
-       edge = newEdge (v1, v2);
+   if (edge!=NULL)
+       return edge;
 
+   edge = newEdge (v1, v2);
    map_edge [key] = nbr_edges;
    tab_edge.push_back (edge);
+   nbr_edges ++;
 
    if (db)
       {
       printf (" tab_edge [%d,%d, %d,%d,%d] = E%d = ", cyl, dir, nx, ny, nz,
-                                                     nbr_edges);
+                                                      nbr_edges-1);
       if (edge == NULL)
          printf ("NULL\n");
       else
@@ -189,7 +192,6 @@ Edge* BiCylinder::addEdge (Vertex* v1, Vertex* v2, int cyl, int dir, int nx,
                                     NameOf(edge->getVertex(0)),
                                     NameOf(edge->getVertex(1)));
       }
-   nbr_edges ++;
    return edge;
 }
 // ====================================================== addQuad
@@ -208,7 +210,9 @@ Quad* BiCylinder::addQuad (Edge* e1, Edge* e2, Edge* e3, Edge* e4, int cyl,
                                                         nbr_quads);
          printf ("%s  (%s, %s, %s, %s)\n", NameOf(quad),
                  NameOf(e1), NameOf(e2), NameOf(e3), NameOf(e4));
-         if (NOT quad->definedBy (e1,e3))
+         if (quad->definedBy (e1,e3))
+            return tab_quad [nro];
+         else
             {
             printf (" **** Incoherence !!\n");
             printf ("%s =  (%s, %s, %s, %s)\n", NameOf(quad),
@@ -219,17 +223,21 @@ Quad* BiCylinder::addQuad (Edge* e1, Edge* e2, Edge* e3, Edge* e4, int cyl,
                  NameOf(quad->getVertex(1)), NameOf(quad->getVertex(2)));
             }
          }
-      return tab_quad [nro];
       }
 
-   Quad* quad = newQuad (e1, e2, e3, e4);
+   Quad* quad = Elements::findQuad (e1, e2);
+   if (quad!=NULL) 
+      return quad;
+
+   quad = newQuad (e1, e2, e3, e4);
    map_quad [key] = nbr_quads;
    tab_quad.push_back (quad);
+   nbr_quads ++;
 
    if (db)
       {
       printf (" tab_quad [%d,%d, %d,%d,%d] = Q%d = ", cyl, dir, nx, ny, nz,
-                                                     nbr_quads);
+                                                      nbr_quads-1);
       if (quad == NULL)
          printf ("NULL\n");
       else
@@ -237,7 +245,6 @@ Quad* BiCylinder::addQuad (Edge* e1, Edge* e2, Edge* e3, Edge* e4, int cyl,
                  NameOf(quad->getEdge(0)), NameOf(quad->getEdge(1)),
                  NameOf(quad->getEdge(2)), NameOf(quad->getEdge(3)));
       }
-   nbr_quads ++;
    return quad;
 }
 // ====================================================== addHexa
@@ -248,9 +255,14 @@ Hexa* BiCylinder::addHexa (Quad* q1, Quad* q2, Quad* q3, Quad* q4, Quad* q5,
    int nro = map_hexa [key];
    if (nro>0)
       {
-      printf (" tab_hexa [%d, %d,%d,%d] = H%d est deja la\n ",
+      if (tab_hexa [nro]->definedBy (q1,q2))
+         {
+         printf (" tab_hexa [%d, %d,%d,%d] = H%d est deja la\n ",
                           cyl, nx, ny, nz, nbr_hexas);
-      return tab_hexa [nro];
+         return tab_hexa [nro];
+         }
+      printf (" Incoherence : tab_hexa [%d, %d,%d,%d] = H%d = %s\n ",
+                    cyl, nx, ny, nz, nbr_hexas, tab_hexa [nro]->getName ());
       }
 
    Hexa* hexa = newHexa (q1, q2, q3, q4, q5, q6);
@@ -371,6 +383,28 @@ Quad* BiCylinder::findQuad (Edge* e1, Edge* e2, int dir, int nx, int ny, int nz)
    fatal_error ("HexBiCylinder : Quad non trouve");
    return NULL;
 }
+/*******************************************
+// ====================================================== findQuad
+Quad* BiCylinder::findQuad (Edge* e1, Edge* e2)
+{
+   for (it_map=map_quad.begin() ; it_map!=map_quad.end() ; ++it_map)
+       {
+       int   nro = it_map->second;
+       Quad* elt = tab_quad[nro];
+       if (elt != NULL && elt->definedBy (e1, e2))
+          {
+          int key = getKey (CylBig, dir, nx, ny, nz);
+          map_quad [key] = nro;
+          if (db)
+             printf ("findQuad [%d, %d,%d,%d] = E%d = '%d' = %s\n",
+                       dir, nx, ny, nz, nro, it_map->first, NameOf(elt));
+          return elt;
+          }
+       }
+   fatal_error ("HexBiCylinder : Quad non trouve");
+   return NULL;
+}
+ ********************************************/
 // ====================================================== findHexa
 Hexa* BiCylinder::findHexa (Quad* q1, Quad* q2, int nx, int ny, int nz)
 {
@@ -409,6 +443,14 @@ void BiCylinder::createLittlePipe ()
       addSlice (CylSmall, 1, 1, -h2, cross_rayext [CylSmall]);
       addSlice (CylSmall, 0, 2, h3-h2, cross_rayint [CylSmall]);
       }
+   else if (cyl_fill) 
+      {
+      addSlice (CylSmall, 0, 1, -h2, cross_rayint [CylSmall]);
+
+      addSlice (CylSmall, 1, 1, -h2, cross_rayext [CylSmall]);
+      addSlice (CylSmall, 0, 2, h3-h2, cross_rayint [CylSmall]);
+      }
+
 
    addSlice (CylSmall, 2, 1, -h2, cross_rayext [CylBig]);
    addSlice (CylSmall, 1, 2, h3-h2, cross_rayint [CylBig]);
@@ -422,19 +464,38 @@ void BiCylinder::createLittlePipe ()
       addSlice (CylSmall, 0, 5,  h5, cross_rayint [CylSmall]);
       addSlice (CylSmall, 1, 5,  h5, cross_rayext [CylSmall]);
       }
+   else if (cyl_fill) 
+      {
+      addSlice (CylSmall, 0, 3, h2-h3, cross_rayint [CylSmall]);
+      addSlice (CylSmall, 1, 4,  h2, cross_rayext [CylSmall]);
 
+      addSlice (CylSmall, 0, 4,  h2, cross_rayint [CylSmall]);
+      }
+                 //--------------------------------- Remplissage
                     //    ka kb kc kd
    if (at_left)
       {
       fillSlice (CylSmall, 0,0, 0,2, 1,1, 1,0);
       fillSlice (CylSmall, 0,2, 1,2, 2,1, 1,1); 
       if (cyl_fill)
-          addCube (CylSmall, 0,0,2);
+         {
+         addCube (CylSmall, 0,0,2);
+         }
       }
-    else
+    else if (cyl_fill)
+      {
+      fillSlice (CylSmall, 0,1, 0,2, 1,2, 2,1);
+      addCube (CylSmall, 1,0);
+      }
+    else 
       addCube ( CylSmall, 1, 2);
 
-   fillSlice (CylSmall, 1,2, 1,3, 2,4, 2,1, true);
+   fillSlice     (CylSmall, 1,2, 1,3, 2,4, 2,1, true);
+   if (cyl_fill)
+      {
+      addCube   (CylSmall, 2,0, 3);
+      fillSlice (CylSmall, 0,2, 0,3, 1,3, 1,2);
+      }
 
    if (at_right)
       {
@@ -443,55 +504,14 @@ void BiCylinder::createLittlePipe ()
       if (cyl_fill)
           addCube (CylSmall, 3, 0, 5);
       }
+    else if (cyl_fill)
+      {
+      fillSlice (CylSmall, 0,3, 0,4, 2,4, 1,3);
+      addCube   (CylSmall, 3, 0);
+      }
     else
       addCube ( CylSmall, 3, 1);
 }
-// ====================================================== createLittleCyl
-void BiCylinder::createLittleCyl ()
-{
-   Real lg    = cross_hauteur[CylSmall];
-   Real rayon = cross_rayext[CylSmall];
-
-   Real h1 = calc_distance (cross_center, cross_orismall);
-   Real h2 = cross_rayext[CylBig]*cos45;
-
-   if (at_left)
-       addCarre (CylSmall, 0, -h1, rayon);
-   addCarre (CylSmall, 1, -h2, rayon);
-   addCarre (CylSmall, 2,  h2, rayon);
-   if (at_right)
-       addCarre (CylSmall, 3,  lg-h1, rayon);
-
-   addSlice (CylSmall, 1, 1, -h2, cross_rayext [CylBig]);
-   addSlice (CylSmall, 1, 2,  h2, cross_rayext [CylBig]);
-
-   if (at_left)
-       addCube (CylSmall, 0);
-
-   addCube (CylSmall, 1);
-
-   if (at_right)
-       addCube (CylSmall, 2);
-
-   fillSlice (CylSmall, 0,1, 0,2, 1,2, 1,1);  // OK
-}
-// ====================================================== createBigCyl
-void BiCylinder::createBigCyl ()
-{
-   Real lg   = cross_hauteur[CylBig];
-   Real rext = cross_rayext [CylBig];
-
-   Real h1   = calc_distance (cross_center, cross_oribig);
-   Real h2   = rext * cos45;
-
-   addCarre (CylBig, 0, -h1,   rext);
-   addCarre (CylBig, 1, -h2,   rext, true);
-   addCarre (CylBig, 2,  h2,   rext, true);
-   addCarre (CylBig, 3, lg-h1, rext);
-
-   addCube (CylBig, 0);
-   addCube (CylBig, 2);
-}
 // ====================================================== createBigPipe
 void BiCylinder::createBigPipe ()
 {
@@ -533,7 +553,8 @@ void BiCylinder::adjustLittleSlice (int ni, int nk)
    double prayon  = cross_rayext[CylSmall];
    if (ni==0)
       {
-      grayon2 = cross_rayint[CylBig] * cross_rayint[CylBig];
+      if (NOT cyl_fill)
+          grayon2 = cross_rayint[CylBig] * cross_rayint[CylBig];
       prayon  = cross_rayint[CylSmall];
       }
 
@@ -733,31 +754,41 @@ void BiCylinder::fillSlice (int cyl, int nia, int nka, int nib, int nkb,
        }
 }
 // ====================================================== assoCylinders
-void BiCylinder::assoCylinders (double* snormal, double* gnormal)
+void BiCylinder::assoCylinders ()
 {
    char     name [12];
    sprintf (name, "grid_%02d", el_id);
    grid_geom = el_root->addShape (name, SH_INTER);
    grid_geom -> openShape();
 
-   int s_kmax = 5;
-   int isize   = cyl_fill ? 1 : 2;
+   int s_kmax  = 5;
+   int imin    = cyl_fill ? 1 : 0;
    int g_ksize = 4;
 
-   for (int ni=0 ; ni<isize ; ni++)
+   for (int ni=imin ; ni<2 ; ni++)
        {
        assoSlice (CylSmall, ni, 0, cross_dirsmall);
        assoSlice (CylSmall, ni, s_kmax, cross_dirsmall);
 
        for (int nk=0 ; nk<g_ksize ; nk++)
             assoSlice (CylBig, ni, nk, cross_dirbig);
+      }
 
-       if (at_left)
-          assoIntersection (1, 1, cross_dirsmall, cross_dirbig);
-       assoIntersection (0, 2, cross_dirsmall, cross_dirbig);
-       //   assoIntersection (0, 3, cross_dirsmall, cross_dirbig);
-       //   assoIntersection (1, 4, cross_dirsmall, cross_dirbig);
+
+   if (at_left)
+      {
+      assoIntersection (1, 1);
+      if (NOT cyl_fill)
+          assoIntersection (0, 2);
+      }
+
+   if (at_right)
+      {
+      assoIntersection (1, 4);
+      if (NOT cyl_fill)
+          assoIntersection (0, 3);
       }
+
    grid_geom -> closeShape();
 }
 // ====================================================== assoSlice
@@ -789,7 +820,37 @@ void BiCylinder::assoSlice (int cyl, int nx, int nzs, double* normal)
 
    int subid = grid_geom->addCircle (center, sqrt(rayon), normal, vbase);
    for (int ny=0 ; ny<NbrCotes ; ny++)
-       assoArc (cyl, nx, ny, nzs, subid);
+       {
+       int ny1 = (ny+1) MODULO NbrCotes;
+       Vertex* va = getVertexIJK (cyl, nx, ny , nzs);
+       Vertex* vb = getVertexIJK (cyl, nx, ny1, nzs);
+
+       assoArc (cyl, ny, va, vb, subid);
+       }
+}
+// ===================================================== assoArc
+void BiCylinder::assoArc (int cyl, int ny, Vertex* v1, Vertex* v2, int subid)
+{
+    const double Decal = 1.0 / NbrCotes;
+    const double Start = Decal / 2;
+
+    int    ny2    = ny+1;
+    double posit  = Start + ny*Decal;
+    Edge*  edge   = findEdge (v1, v2);
+    if (edge==NULL)
+       return;
+                                        // Vertex
+    grid_geom->addAssociation (v1, subid, posit);
+
+    if (ny2 < NbrCotes)
+       {
+       grid_geom->addAssociation (edge, subid, posit, posit+Decal);
+       }
+    else
+       {
+       grid_geom->addAssociation (edge, subid, posit, 1.0);
+       grid_geom->addAssociation (edge, subid, 0,   Start);
+       }
 }
 // ===================================================== assoArc
 void BiCylinder::assoArc (int cyl, int nx, int ny, int nz, int subid)
@@ -820,9 +881,9 @@ void BiCylinder::assoArc (int cyl, int nx, int ny, int nz, int subid)
        }
 }
 // ===================================================== assoIntersection
-int BiCylinder::assoIntersection (int nxs, int nzs, double* snorm,
-                                                    double* bnorm)
+int BiCylinder::assoIntersection (int nxs, int nzs)
 {
+   int ier = HOK;
    Real3  pse, psw, sorig, sbase;
    Real3  pbe, pbw, borig, bbase;
    string brep;
@@ -858,8 +919,8 @@ int BiCylinder::assoIntersection (int nxs, int nzs, double* snorm,
    double* orig = nzs < MiddleSlice1 ? sorig : cross_center; // Pb orientation
 
    BiCylinderShape bicyl_shape (el_root);
-   int ier = bicyl_shape.defineCyls (borig, bnorm, bbase, brayon, bhaut,
-                                      orig, snorm, sbase, srayon, shaut);
+   ier = bicyl_shape.defineCyls (borig, cross_dirbig,   bbase, brayon, bhaut,
+                                  orig, cross_dirsmall, sbase, srayon, shaut);
    if (ier != HOK)
       return ier;
 
@@ -868,11 +929,17 @@ int BiCylinder::assoIntersection (int nxs, int nzs, double* snorm,
        Vertex* node = getVertexIJK (CylSmall, nxs, ny, nzs);
        if (node!=NULL)
            node->clearAssociation ();
+       // Edge*   edge = getEdgeJ     (CylSmall, nxs, ny, nzs);
+       // if (edge!=NULL) edge->clearAssociation ();
        }
 
    for (int ny=0 ; ny<NbrCotes ; ny++)
        {
-       Edge* edge = getEdgeJ (CylSmall, nxs, ny, nzs);
+       int ny1 = (ny+1) MODULO QUAD4;
+       Vertex* node0 = getVertexIJK (CylSmall, nxs, ny, nzs);
+       Vertex* node1 = getVertexIJK (CylSmall, nxs, ny1, nzs);
+ //    Edge*   edge  = getEdgeJ (CylSmall, nxs, ny, nzs);
+       Edge*   edge  = findEdge (node0, node1);
        bicyl_shape.associate (edge);
        }
 
@@ -920,45 +987,26 @@ int BiCylinder::makePipes (Vertex* ori1, double* vz1, double rint1,
       adjustLittleSlice (1, 1);
       adjustLittleSlice (0, 2);
       }
+   else if (cyl_fill) 
+      {
+      adjustLittleSlice (0, 1);
+      }
+
    if (at_right) 
       {
       adjustLittleSlice (0, 3);
       adjustLittleSlice (1, 4);
       }
-
-   transfoVertices (cross_center, cross_dirsmall, cross_dirbig);
-   // assoCylinders   (cross_dirsmall, cross_dirbig);
-
-#if 0
-   // iprim->getCoord (snorm);
-   // kprim->getCoord (bnorm);
-
-   Real3 bnorm  = {0, 0, 1};
-   Real3 snorm  = {1, 0, 0};
-   assoCylinders (snorm, bnorm);
-
-/*********************************************
-   if (at_left)
+   else if (cyl_fill) 
       {
-      assoIntersection (NxExt, 1, snorm, bnorm);
-      if (grid_type == GR_BIPIPE)
-         {
-         assoIntersection (NxInt, 2, snorm, bnorm);
-         }
+      adjustLittleSlice (0, 4);
       }
 
-   if (at_right)
-      {
-      assoIntersection (NxExt, NbrSlices1-1, snorm, bnorm);
-      if (grid_type == GR_BIPIPE)
-         {
-         assoIntersection (NxInt, NbrSlices1-2, snorm, bnorm);
-         }
-      }
 
-  ******************************************* */
+   transfoVertices (cross_center, cross_dirsmall, cross_dirbig);
+   assoCylinders   ();
+
    //  assoResiduelle ();
-#endif
    // el_root->reorderQuads ();
    return HOK;
 }
index 35acf65541c8b292fd3cb8479886a86215d8dff9..6da6a4ec990b7249369fb791953c24c133f0546e 100755 (executable)
@@ -66,8 +66,6 @@ private :
 
    void createLittlePipe ();
    void createBigPipe    ();
-   void createLittleCyl ();
-   void createBigCyl    ();
    void adjustLittleSlice  (int nx, int nzs);
    void adjustLittleSquare (int nk);
 
@@ -86,14 +84,13 @@ private :
    Quad*   findQuad (Edge* e1, Edge* e2, int dir, int nx, int ny, int nz);
    Hexa*   findHexa (Quad* qa, Quad* qb, int nx, int ny, int nz);
 
-   Edge* findEdge (Vertex* v1, Vertex* v2);
-   Quad* findQuad (Edge*   e1, Edge*   e2);
+   Edge* findEdge (Vertex* v1, Vertex* v2);    // A replacer dans HexElements
 
-   void assoCylinder  (int cyl, double* normal);
-   void assoCylinders (double* snormal, double* gnormal);
+   void assoCylinders ();
    void assoSlice    (int cyl, int nx, int nzs, double* norm);
    void assoArc (int cyl, int nx, int ny, int nz, int subid);
-   int  assoIntersection (int nx, int nzlice, double* snorm, double* bnorm);
+   void assoArc (int cyl, int ny, Vertex* v1, Vertex* v2, int subid);
+   int  assoIntersection (int nx, int nzlice);
 
 
    void addSlice  (int cyl, int i, int k, double h, double r, bool find=false);
index 163b7701935aa86b6ec5d14529bb8db82187626c..0b9c2a3adddc83ef410086a7591a0806274ab5ab 100644 (file)
@@ -986,6 +986,7 @@ Elements* Document::joinQuadUni (Quad* quada, Quad* quadb, Vertex* va1,
    RealVector tlen;
    Elements*  grid = new Elements (this);
 
+   update ();
    grid->checkQuad  (quada);
    grid->checkQuad  (quadb, -1);
    grid->checkSense (3, va1, va2, quada);
@@ -1014,6 +1015,7 @@ Elements* Document::joinQuad (Quad* quada, Quad* quadb, Vertex* va1,
    Quads      tquada;
    Elements*  grid = new Elements (this);
 
+   update ();
    grid->checkQuad   (quada);
    grid->checkQuad   (quadb, -1);
    grid->checkSense  (3, va1, va2, quada);
@@ -1039,6 +1041,7 @@ Elements* Document::joinQuadsUni (Quads tquada, Quad* quadb, Vertex* va1,
    RealVector tlen;
    Elements* grid = new Elements (this);
 
+   update ();
    grid->checkQuads (tquada);
    grid->checkQuad  (quadb, -1);
    if (tquada.size()>0) 
@@ -1066,6 +1069,7 @@ Elements* Document::joinQuads (Quads tquada, Quad* quadb, Vertex* va1,
 
    Elements* grid = new Elements (this);
 
+   update ();
    grid->checkQuads (tquada);
    grid->checkQuad  (quadb, -1);
    if (tquada.size()>0) 
index bd34bb705e092d5f3fd1279b2d631a61db40849a..356bec1a5b0bff30ff4784ede3200dc6586059ef 100755 (executable)
@@ -119,7 +119,7 @@ int EdgeShape::getPoint (double param, double* point)
 // ========================================================= samePoints
 bool EdgeShape::samePoints (double* point1, double* point2)
 {
-   const double Epsilon2 = 1e-4;
+   const double Epsilon2 = 1e-6;
    bool   rep = same_coords (point1, point2, Epsilon2);
    return rep;
 }
index 34891524a8f54b693add9d11088db46336b5107b..5dd09d3bf14e849f453e3761038f5269267e6ec8 100755 (executable)
@@ -798,5 +798,18 @@ int Elements::findVertex (double vx, double vy, double vz)
        }
    return NOTHING;
 }
+// ============================================================ findQuad
+Quad* Elements::findQuad (Edge* e1, Edge* e2)
+{
+   int nbre = tab_quad.size();
+   for (int nro=0 ; nro<nbre ; nro++)
+       {
+       Quad* quad = tab_quad [nro];
+       if (quad != NULL && quad->isHere ()
+                        && quad->definedBy (e1, e2))
+              return quad;
+       }
+   return NULL;
+}
 
 END_NAMESPACE_HEXA
index fb3a54cffd226f21aace078dfa59c0589555c159..df75ba87706f8b954c1f4c79d6634c15580487ab 100755 (executable)
@@ -62,10 +62,12 @@ public:
 #ifndef SWIG
 public:
    int findHexa   (Hexa*   elt);
-   int findQuad   (Quad*   elt);
-   int findEdge   (Edge*   elt);
+   int findQuad   (Quad*   elt);   // indexQuad   ?
+   int findEdge   (Edge*   elt);   // indexVertex ?
 
    int findVertex (double vx, double vy, double vz);
+   Edge* findEdge   (Vertex* v1, Vertex* v2);
+   Quad* findQuad   (Edge*   e1, Edge*   e2);
 
    Elements (Document* doc, int nx, int ny, int nz);
    Elements (Elements* orig);
index 3290a835a2128c4788d4e3e50f42e17e05e168c7..e5ab2439d93898ae08566f013bb91bfbc7401cd3 100755 (executable)
@@ -1152,12 +1152,18 @@ bool Hexa::definedBy  (Vertex* v1, Vertex* v2)
 // =============================================================== definedBy
 bool Hexa::definedBy  (Quad* qa, Quad* qb)
 {
-   for (int nc=0 ; nc< 3 ; nc++)
+   if (qa==qb || BadElement (qa) || BadElement (qb))
+       return false;
+
+   bool p1 = false, p2 = false;
+   for (int nq=0 ; nq< HQ_MAXI ; nq++)
        {
-       if (   (qa == h_quad[2*nc]   && qb == h_quad[2*nc+1])
-           || (qa == h_quad[2*nc+1] && qb == h_quad[2*nc])) return true;
+       if (qa == h_quad[nq])
+          p1 = true;
+       else if (qb == h_quad[nq])
+          p2 = true;
        }
-   return false;
+   return p1 && p2;
 }
 // =============================================================== setColor
 void Hexa::setColor  (double val)
index 6f9e6f3363a6648134a33fea3228a649b71ea492..7f109cf802dd152380734da03a87095e1413402f 100755 (executable)
@@ -59,7 +59,7 @@
 BEGIN_NAMESPACE_HEXA
 
 static bool db  = on_debug ();  // == getenv ("HEXA_DB") > 0
-static bool db0 = true;
+static bool db0 = db;
 
 // ====================================================== Constructeur
 NewShape::NewShape (Document* dad, EnumShape type)
@@ -224,6 +224,15 @@ void NewShape::addAssociation (Edge* edge, int subid, double pmin, double pmax)
    if (edge==NULL)
       return;
 
+   if (db0) 
+      {
+      cout << edge->getName() 
+           << " = (" << edge->getVertex(0)->getName() 
+           << ", "   << edge->getVertex(1)->getName() 
+           << ") --> subid= " << subid << " [ " 
+           << pmin << ", " << pmax << "]" << endl;
+      }
+
    asso_edge.push_back (edge);
    asso_pmin.push_back (pmin);
    asso_pmax.push_back (pmax);
index 1488e7078747b21ee5810c3f3eebe061ce4de5e5..f82af4f4fb9eeb743e0382a2061543c9096e1ff0 100755 (executable)
@@ -32,7 +32,7 @@
 
 BEGIN_NAMESPACE_HEXA
 
-bool db = true;
+bool db = false;
 
 // ======================================================== Constructeur
 Quad::Quad (Vertex* va, Vertex* vb, Vertex* vc, Vertex* vd)
@@ -802,4 +802,31 @@ void Quad::reorienter  ()
        printf (" %s est reoriente\n", el_name.c_str());
    q_orientation = Q_DIRECT;
 }
+// =============================================================== getCenter
+double* Quad::getCenter (double* center)
+{
+   center[dir_x] = center[dir_y] = center[dir_z] =  0;
+   if (BadElement (this))
+      return NULL;
+
+   for (int nv=0 ; nv<QUAD4 ; nv++)
+       {
+       if (BadElement (q_vertex [nv]))
+           return NULL;
+       center [dir_x] += q_vertex[nv]->getX();
+       center [dir_y] += q_vertex[nv]->getY();
+       center [dir_z] += q_vertex[nv]->getZ();
+       }
+    return center;
+}
+// =============================================================== getCenter
+double Quad::dist2 (double* point)
+{
+   Real3 center;
+   getCenter (center);
+   double d2 = carre (point[dir_x] - center[dir_x]) 
+             + carre (point[dir_y] - center[dir_y]) 
+             + carre (point[dir_z] - center[dir_z]) ;
+   return d2;
+}
 END_NAMESPACE_HEXA
index ef4a8e9fc438cbb8bf9504f4274606defd79b53e..65d045ad3c9b98a60b58fc8abb8470726a3e0c23 100755 (executable)
@@ -54,6 +54,9 @@ public:
     virtual void  clearAssociation  ();
 
     void setColor  (double valeur);
+    Vertex* nearestVertex (Vertex* other);
+    double* getCenter     (double* center);
+
     Quad (Vertex* va, Vertex* vb, Vertex* vc, Vertex* vd);
 
 #ifndef SWIG
@@ -118,7 +121,7 @@ public:
     int   countAssociation ()                     { return tab_assoc.size () ; }
     FaceShape* getAssociation (int nro);
 
-    Vertex* nearestVertex (Vertex* other);
+    double  dist2         (double* point);
 
 private:
     friend class Cloner;
index 017bc7e1c6d0d2ce7985c96665300daaa799035e..1b95526a0b57df443e05f0d9d8dfbe201dd5c771 100644 (file)
@@ -37,7 +37,7 @@ static Hex::Hex         mon_ex;
 static Hex::Document*   docu = NULL;
 static cpchar           case_name = "hexa";
 
-// ======================================================== get_document 
+// ======================================================== get_document
 Hex::Document* get_document ()
 {
    if (docu==NULL)
@@ -53,7 +53,7 @@ void save_file ()
    char filename[20];
 
    nbr_files ++;
-   sprintf (filename, "%s%02d.vtk", case_name, nbr_files); 
+   sprintf (filename, "%s%02d.vtk", case_name, nbr_files);
    docu->saveVtk (filename);
 }
 
@@ -67,20 +67,20 @@ Hex::Vertex* nearest (Hex::Elements* grid, Hex::Vertex* vertex)
     double       py = vertex->getY();
     double       pz = vertex->getZ();
     for (int nro=0 ; nro < nbre ; ++nro)
-        { 
+        {
         Hex::Vertex* v1 = grid->getVertex (nro);
-        double       d2 = Hex::carre(px-v1->getX()) + Hex::carre(py-v1->getY()) 
+        double       d2 = Hex::carre(px-v1->getX()) + Hex::carre(py-v1->getY())
                                                     + Hex::carre(pz-v1->getZ()) ;
         if (d2 < dmin)
-           { 
+           {
            result = v1;
            dmin   = d2;
            }
         }
 
-    cout << " nearest : " << vertex->getName() 
-         << " -> "        << result->getName() 
-         << " ( " << px << ",  " << py << ",  " << pz << ") " << endl; 
+    cout << " nearest : " << vertex->getName()
+         << " -> "        << result->getName()
+         << " ( " << px << ",  " << py << ",  " << pz << ") " << endl;
     return result;
 }
 
@@ -89,14 +89,14 @@ void eplucher (Hex::Document* doc, Hex::Elements* grid, string& radical)
 {
    int nbfic = 0;
    int nbre  = grid->countHexa();
-   for (int nro=nbre-1 ; nro >0 ; nro--) 
+   for (int nro=nbre-1 ; nro >0 ; nro--)
        {
        nbfic++;
        char name [32];
        sprintf (name, "%s%02d.vtk", radical.c_str(), nbfic);
        grid->saveVtk (name);
        doc->removeHexa (grid->getHexa(nro));
-       } 
+       }
 }
 // ======================================================== test_cartesian6
 int test_cartesian6 (int nbargs, cpchar tabargs[])
@@ -118,7 +118,7 @@ int test_cartesian6 (int nbargs, cpchar tabargs[])
    Hex::Vector*   vy    = doc->addVector (0, 1, 0);
    Hex::Vector*   vz    = doc->addVector (0, 0, 1);
    double dx =1, dy=1, dz=1;
-   Hex::Elements* grid2 = doc->makeCartesianUni (orig2, vx, vy, vz, dx, dy, dz, 
+   Hex::Elements* grid2 = doc->makeCartesianUni (orig2, vx, vy, vz, dx, dy, dz,
                                                         size_x, size_y, size_z);
    grid2->saveVtk ("makeCartesianUni.vtk");
    PutData (grid2->isValid());
@@ -153,7 +153,7 @@ int test_cylinder60 (int nbargs, cpchar tabargs[])
    Hex::Vector*  vx   = doc->addVector (1, 0, 0);
    Hex::Vector*  vz   = doc->addVector (0, 0, 1);
    double rint =1, rext = 3, angle = 360, hauteur = 2;
-   Hex::Elements* grid3 = doc->makePipeUni (orig, vx, vz, 
+   Hex::Elements* grid3 = doc->makePipeUni (orig, vx, vz,
                                                 rint, rext, angle, hauteur,
                                                 size_x, size_y, size_z);
    grid3->saveVtk ("makeCylinderUni.vtk");
@@ -193,7 +193,7 @@ int test_cylinder6 (int nbargs, cpchar tabargs[])
    Hex::Elements* grid1 = doc->makeCylinderTop (size_x, size_y, size_z);
    grid1->saveVtk ("makeCylinderTop.vtk");
    PutData (grid1->isValid());
-   
+
 
    Hex::Elements* grid2 = doc->makePipeTop (size_x, size_y, size_z);
    grid2->saveVtk ("makePipeTop.vtk");
@@ -204,7 +204,7 @@ int test_cylinder6 (int nbargs, cpchar tabargs[])
    Hex::Vector*  vx    = doc->addVector (1, 0, 0);
    Hex::Vector*  vz    = doc->addVector (0, 0, 1);
    double rint =2, rext = 4, angle = 300, hauteur = 1;
-   Hex::Elements* grid3 = doc->makeCylinderUni (orig2, vx, vz, 
+   Hex::Elements* grid3 = doc->makeCylinderUni (orig2, vx, vz,
                                                 rint, rext, angle, hauteur,
                                                 2, 3, 2);
                                     //          size_x, size_y, size_z);
@@ -248,7 +248,7 @@ int test_spherical6 (int nbargs, cpchar tabargs[])
    PutData (nbhexas);
    for (int nro=3 ; nro<nbhexas ; nro +=3)
        grid1->getHexa(nro)->remove();
+
    grid1->saveVtk ("makeSphericalTop.vtk");
 
    Hex::Vertex*  orig2 = doc->addVertex (0, 0, 10);
@@ -265,7 +265,7 @@ int test_spherical6 (int nbargs, cpchar tabargs[])
 
    for (int nro=3 ; nro<nbhexas ; nro +=3)
        grid2->getHexa(nro)->remove();
+
    grid2->saveVtk ("makeSphericalUni.vtk");
    return HOK;
 }
@@ -283,14 +283,14 @@ int test_rind6 (int nbargs, cpchar tabargs[])
    PutData (grid1->isValid());
    if (NOT (grid1->isValid()))
        Hex::what ();
-   else 
+   else
        grid1->saveVtk ("makeSphereTop.vtk");
 
    Hex::Elements* grid2 = doc->makeRindTop (size_r, size_a, size_h);
    PutData (grid2->isValid());
    if (NOT (grid2->isValid()))
        Hex::what ();
-   else 
+   else
        grid2->saveVtk ("makeRindTop.vtk");
 
    Hex::Vertex* orig  = doc->addVertex (0, 0, 0);
@@ -302,41 +302,34 @@ int test_rind6 (int nbargs, cpchar tabargs[])
    double rext  = 10;
    double angle = 180;
 
-   Hex::Elements* grid3 = doc->makeSphereUni (orig, vx, vz, 
-                                              rtrou, rext, angle, vplan, 
+   Hex::Elements* grid3 = doc->makeSphereUni (orig, vx, vz,
+                                              rtrou, rext, angle, vplan,
                                               size_r, size_a, size_h);
    if (NOT (grid3->isValid()))
        Hex::what ();
-   else 
+   else
        grid3->saveVtk ("makeSphereUni.vtk");
 
-   Hex::Elements* grid4 = doc->makeRindUni (orig, vx, vz, 
-                                            rtrou, rext, rint, angle, vplan, 
+   Hex::Elements* grid4 = doc->makeRindUni (orig, vx, vz,
+                                            rtrou, rint, rext, angle, vplan,
                                             size_r, size_a, size_h);
    if (NOT (grid4->isValid()))
        Hex::what ();
-   else 
+   else
        grid4->saveVtk ("makeRindUni.vtk");
 
-   Hex::Elements* grid5 = doc->makePartSphere (orig, vx, vz, rext, rtrou, vplan,
-                                               angle, size_r, size_a, size_h);
-   if (NOT (grid5->isValid()))
-       Hex::what ();
-   else 
-       grid5->saveVtk ("makeSphereOld.vtk");
-
    Hex::RealVector trad, tang, tphi;
    double dr     = (rext-rtrou)/size_r;
    double dtheta = angle/size_a;
    double dphi   = 180.0/size_h;
    for (int nro=0 ; nro<=size_r ; nro++) trad.push_back (rtrou + nro*dr);
    for (int nro=0 ; nro<=size_a ; nro++) tang.push_back (        nro*dtheta);
-   for (int nro=0 ; nro<=size_h ; nro++) tphi.push_back (-90   + nro*dphi); 
+   for (int nro=0 ; nro<=size_h ; nro++) tphi.push_back (-90   + nro*dphi);
 
    Hex::Elements* grid6 = doc->makeSphere (orig, vx, vz, trad, tang, tphi);
    if (NOT (grid6->isValid()))
        Hex::what ();
-   else 
+   else
        grid6->saveVtk ("makeSphereNew.vtk");
 
    trad.clear ();
@@ -345,7 +338,7 @@ int test_rind6 (int nbargs, cpchar tabargs[])
    Hex::Elements* grid7 = doc->makeRind (orig, vx, vz, trad, tang, tphi);
    if (NOT (grid7->isValid()))
        Hex::what ();
-   else 
+   else
        grid7->saveVtk ("makeRindNew.vtk");
    return HOK;
 }
@@ -364,7 +357,7 @@ int test_pipes6 (int nbargs, cpchar tabargs[])
        else if (arg=="-pipe")  pipe    = true;
        else if (arg=="-left")  t_left  = true;
        else if (arg=="-right") t_right = true;
-       else 
+       else
           {
           cout << " Syntax : " << endl;
           cout << " $ " << tabargs[0]  << " <args> " << endl;
@@ -390,13 +383,13 @@ int test_pipes6 (int nbargs, cpchar tabargs[])
    if (t_left)
       {
       h1 = 10;
-      radical += "_L";  
+      radical += "_L";
       }
    else if (t_right)
       {
       xl1 = -2;
       h1   = 10;
-      radical += "_R";  
+      radical += "_R";
       }
 
    Hex::Document* doc  = get_document ();
@@ -407,7 +400,7 @@ int test_pipes6 (int nbargs, cpchar tabargs[])
    Hex::Vector* vz2   = doc->addVector ( 1, 0,  0);
 
    Hex::BiCylinder* grid1 = NULL;
-   if (pipe) 
+   if (pipe)
        grid1 = doc->makePipes (ori1, vz1, rint1, rext1, h1, ori2, vz2, rint2,
                                rext2, h2);
    else
@@ -589,7 +582,7 @@ int test_joint6 (int nbargs, cpchar tabargs[])
    Hex::what ();
    if (NOT joint->isValid ())
       return HERR;
-   
+
    doc->saveVtk ("jointQuad2.vtk");
    int nbr_joint_vertex =  joint->countVertex ();
    int nbr_surf_vertex  =  nbr_joint_vertex/(hauteur+1);
@@ -710,14 +703,14 @@ int test_monica (int nbargs, cpchar tabargs[])
    Hex::what ();
    save_file ();
 
-   Hex::Elements* pipe = doc->makePipeUni (orig2, vxy, vz, 0.15, 0.5, 360, 3, 
+   Hex::Elements* pipe = doc->makePipeUni (orig2, vxy, vz, 0.15, 0.5, 360, 3,
                                            1, 4, 3);
    doc->dump ();
    Hex::what ();
    for (int nv=0 ; nv<8 ; nv++)
        tabv0.push_back (nearest (pipe, tabv1[nv]));
 
-   doc->setLevel (1); 
+   doc->setLevel (1);
    for (int nv=0 ; nv<8 ; nv++)
        {
        int ier = doc->mergeVertices (tabv0[nv], tabv1[nv]);
index 03cd5bef39752210b32fe6dbcbdfb0b67af1993e..c70bc2948fa7c6fc15dc3b147710a370242bf3eb 100644 (file)
@@ -65,7 +65,7 @@
       <item row="0" column="1">
        <widget class="QLineEdit" name="e_le">
         <property name="sizePolicy">
-         <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+         <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
       <item row="0" column="1">
        <widget class="QSpinBox" name="nb_cut_spb">
         <property name="sizePolicy">
-         <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+         <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
      </property>
      <widget class="QWidget" name="ext_height_tab">
       <attribute name="title">
-       <string>height</string>
+       <string>length</string>
       </attribute>
       <layout class="QGridLayout" name="gridLayout_4">
        <item row="0" column="0">
index 0208df7899347e4ec62693c7a3d22f4e92ef70ef..b193aa3c38ade2e80c4c1eafc71e1f4d4df80a64 100644 (file)
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>260</width>
-    <height>635</height>
+    <width>334</width>
+    <height>653</height>
    </rect>
   </property>
   <property name="sizePolicy">
    <string>Edge(s) Association</string>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout_4">
+   <item>
+    <widget class="QGroupBox" name="groupBox_3">
+     <property name="minimumSize">
+      <size>
+       <width>0</width>
+       <height>52</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>16777215</width>
+       <height>52</height>
+      </size>
+     </property>
+     <property name="title">
+      <string/>
+     </property>
+     <layout class="QHBoxLayout" name="horizontalLayout_2">
+      <item>
+       <widget class="QRadioButton" name="single_rb">
+        <property name="text">
+         <string>One edge</string>
+        </property>
+        <property name="checked">
+         <bool>true</bool>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QRadioButton" name="multiple_rb">
+        <property name="text">
+         <string>Line</string>
+        </property>
+        <property name="checked">
+         <bool>false</bool>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
    <item>
     <widget class="QScrollArea" name="scrollArea">
      <property name="sizePolicy">
        <rect>
         <x>0</x>
         <y>0</y>
-        <width>222</width>
-        <height>654</height>
+        <width>314</width>
+        <height>575</height>
        </rect>
       </property>
       <layout class="QVBoxLayout" name="verticalLayout_2">
        <item>
-        <widget class="QGroupBox" name="groupBox_3">
+        <widget class="QGroupBox" name="vertex_gb">
+         <property name="enabled">
+          <bool>false</bool>
+         </property>
          <property name="minimumSize">
           <size>
            <width>0</width>
-           <height>52</height>
-          </size>
-         </property>
-         <property name="maximumSize">
-          <size>
-           <width>16777215</width>
-           <height>52</height>
+           <height>0</height>
           </size>
          </property>
          <property name="title">
-          <string/>
+          <string>Vertex</string>
          </property>
-         <layout class="QHBoxLayout" name="horizontalLayout_2">
-          <item>
-           <widget class="QRadioButton" name="single_rb">
+         <layout class="QFormLayout" name="formLayout_2">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label">
             <property name="text">
-             <string>One edge</string>
-            </property>
-            <property name="checked">
-             <bool>true</bool>
+             <string>First:</string>
             </property>
            </widget>
           </item>
-          <item>
-           <widget class="QRadioButton" name="multiple_rb">
-            <property name="text">
-             <string>Line</string>
-            </property>
-            <property name="checked">
-             <bool>false</bool>
-            </property>
-           </widget>
+          <item row="0" column="1">
+           <widget class="QLineEdit" name="first_vex_le"/>
           </item>
          </layout>
         </widget>
        </item>
        <item>
-        <widget class="QGroupBox" name="groupBox_2">
+        <widget class="QGroupBox" name="single_edge_gb">
          <property name="minimumSize">
           <size>
-           <width>5</width>
-           <height>0</height>
+           <width>0</width>
+           <height>58</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>16777215</width>
+           <height>58</height>
           </size>
          </property>
          <property name="title">
-          <string/>
+          <string>Edge of model</string>
          </property>
-         <layout class="QVBoxLayout" name="verticalLayout_5">
-          <item>
-           <widget class="QGroupBox" name="vertex_gb">
-            <property name="enabled">
-             <bool>false</bool>
+         <layout class="QFormLayout" name="formLayout_3">
+          <item row="0" column="0" colspan="2">
+           <widget class="QLineEdit" name="single_edge_le">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
             </property>
-            <property name="minimumSize">
+            <property name="maximumSize">
              <size>
-              <width>0</width>
-              <height>0</height>
+              <width>16777215</width>
+              <height>58</height>
              </size>
             </property>
-            <property name="title">
-             <string>Vertex</string>
-            </property>
-            <layout class="QFormLayout" name="formLayout_2">
-             <item row="0" column="0">
-              <widget class="QLabel" name="label">
-               <property name="text">
-                <string>First:</string>
-               </property>
-              </widget>
-             </item>
-             <item row="0" column="1">
-              <widget class="QLineEdit" name="first_vex_le"/>
-             </item>
-            </layout>
            </widget>
           </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QGroupBox" name="edge_gb">
+         <property name="minimumSize">
+          <size>
+           <width>0</width>
+           <height>0</height>
+          </size>
+         </property>
+         <property name="title">
+          <string>Edges of model</string>
+         </property>
+         <layout class="QVBoxLayout" name="verticalLayout_3">
           <item>
-           <widget class="QGroupBox" name="single_edge_gb">
-            <property name="minimumSize">
-             <size>
-              <width>0</width>
-              <height>58</height>
-             </size>
+           <widget class="QListWidget" name="edges_lw">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
             </property>
             <property name="maximumSize">
              <size>
               <width>16777215</width>
-              <height>58</height>
+              <height>16777215</height>
              </size>
             </property>
-            <property name="title">
-             <string>Edge of model</string>
-            </property>
-            <layout class="QFormLayout" name="formLayout_3">
-             <item row="0" column="0" colspan="2">
-              <widget class="QLineEdit" name="single_edge_le">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="maximumSize">
-                <size>
-                 <width>16777215</width>
-                 <height>58</height>
-                </size>
-               </property>
-              </widget>
-             </item>
-            </layout>
            </widget>
           </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QGroupBox" name="line_gb">
+         <property name="minimumSize">
+          <size>
+           <width>0</width>
+           <height>0</height>
+          </size>
+         </property>
+         <property name="title">
+          <string>Line of the geometry</string>
+         </property>
+         <layout class="QVBoxLayout" name="verticalLayout">
           <item>
-           <widget class="QGroupBox" name="edge_gb">
-            <property name="minimumSize">
-             <size>
-              <width>0</width>
-              <height>0</height>
-             </size>
-            </property>
-            <property name="title">
-             <string>Edges of model</string>
-            </property>
-            <layout class="QVBoxLayout" name="verticalLayout_3">
-             <item>
-              <widget class="QListWidget" name="edges_lw">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="maximumSize">
-                <size>
-                 <width>16777215</width>
-                 <height>16777215</height>
-                </size>
-               </property>
-              </widget>
-             </item>
-            </layout>
-           </widget>
+           <layout class="QFormLayout" name="formLayout_4">
+            <item row="0" column="0">
+             <widget class="QLabel" name="label_4">
+              <property name="text">
+               <string>Line : </string>
+              </property>
+             </widget>
+            </item>
+            <item row="0" column="1">
+             <widget class="QLineEdit" name="single_line_le">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="readOnly">
+               <bool>false</bool>
+              </property>
+             </widget>
+            </item>
+           </layout>
           </item>
           <item>
-           <widget class="QGroupBox" name="line_gb">
-            <property name="minimumSize">
-             <size>
-              <width>0</width>
-              <height>0</height>
-             </size>
-            </property>
-            <property name="title">
-             <string>Line of the geometry</string>
+           <widget class="QListWidget" name="lines_lw">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
             </property>
-            <layout class="QVBoxLayout" name="verticalLayout">
-             <item>
-              <layout class="QFormLayout" name="formLayout_4">
-               <item row="0" column="0">
-                <widget class="QLabel" name="label_4">
-                 <property name="text">
-                  <string>Line : </string>
-                 </property>
-                </widget>
-               </item>
-               <item row="0" column="1">
-                <widget class="QLineEdit" name="single_line_le">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="readOnly">
-                  <bool>false</bool>
-                 </property>
-                </widget>
-               </item>
-              </layout>
-             </item>
-             <item>
-              <widget class="QListWidget" name="lines_lw">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <layout class="QHBoxLayout" name="horizontalLayout">
-               <item>
-                <widget class="QCheckBox" name="close_cb">
-                 <property name="text">
-                  <string>Closed line</string>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QCheckBox" name="inverse_cb">
-                 <property name="enabled">
-                  <bool>false</bool>
-                 </property>
-                 <property name="text">
-                  <string>Inversion</string>
-                 </property>
-                </widget>
-               </item>
-              </layout>
-             </item>
-             <item>
-              <widget class="QGroupBox" name="groupBox">
-               <property name="minimumSize">
-                <size>
-                 <width>0</width>
-                 <height>86</height>
-                </size>
-               </property>
-               <property name="maximumSize">
-                <size>
-                 <width>16777215</width>
-                 <height>16777215</height>
-                </size>
-               </property>
-               <property name="title">
-                <string>Parameters</string>
-               </property>
-               <layout class="QFormLayout" name="formLayout">
-                <item row="0" column="0">
-                 <widget class="QLabel" name="label_2">
-                  <property name="text">
-                   <string>Start : </string>
-                  </property>
-                 </widget>
-                </item>
-                <item row="1" column="0">
-                 <widget class="QLabel" name="label_3">
-                  <property name="text">
-                   <string>End : </string>
-                  </property>
-                 </widget>
-                </item>
-                <item row="0" column="1">
-                 <widget class="QDoubleSpinBox" name="pstart_spb">
-                  <property name="decimals">
-                   <number>6</number>
-                  </property>
-                  <property name="maximum">
-                   <double>1.000000000000000</double>
-                  </property>
-                  <property name="singleStep">
-                   <double>0.010000000000000</double>
-                  </property>
-                 </widget>
-                </item>
-                <item row="1" column="1">
-                 <widget class="QDoubleSpinBox" name="pend_spb">
-                  <property name="decimals">
-                   <number>6</number>
-                  </property>
-                  <property name="maximum">
-                   <double>1.000000000000000</double>
-                  </property>
-                  <property name="singleStep">
-                   <double>0.010000000000000</double>
-                  </property>
-                 </widget>
-                </item>
-               </layout>
-              </widget>
-             </item>
-            </layout>
            </widget>
           </item>
+          <item>
+           <layout class="QHBoxLayout" name="horizontalLayout">
+            <item>
+             <widget class="QCheckBox" name="close_cb">
+              <property name="text">
+               <string>Closed line</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QCheckBox" name="inverse_cb">
+              <property name="enabled">
+               <bool>false</bool>
+              </property>
+              <property name="text">
+               <string>Inversion</string>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </item>
+          <item>
+           <layout class="QFormLayout" name="formLayout">
+            <item row="0" column="0">
+             <widget class="QLabel" name="label_2">
+              <property name="text">
+               <string>Start : </string>
+              </property>
+             </widget>
+            </item>
+            <item row="0" column="1">
+             <widget class="QDoubleSpinBox" name="pstart_spb">
+              <property name="decimals">
+               <number>6</number>
+              </property>
+              <property name="maximum">
+               <double>1.000000000000000</double>
+              </property>
+              <property name="singleStep">
+               <double>0.010000000000000</double>
+              </property>
+             </widget>
+            </item>
+            <item row="1" column="0">
+             <widget class="QLabel" name="label_3">
+              <property name="text">
+               <string>End : </string>
+              </property>
+             </widget>
+            </item>
+            <item row="1" column="1">
+             <widget class="QDoubleSpinBox" name="pend_spb">
+              <property name="decimals">
+               <number>6</number>
+              </property>
+              <property name="maximum">
+               <double>1.000000000000000</double>
+              </property>
+              <property name="singleStep">
+               <double>0.010000000000000</double>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </item>
          </layout>
         </widget>
        </item>
     </hint>
    </hints>
   </connection>
-  <connection>
-   <sender>close_cb</sender>
-   <signal>toggled(bool)</signal>
-   <receiver>label_3</receiver>
-   <slot>setDisabled(bool)</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>196</x>
-     <y>495</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>67</x>
-     <y>581</y>
-    </hint>
-   </hints>
-  </connection>
   <connection>
    <sender>close_cb</sender>
    <signal>toggled(bool)</signal>
     </hint>
    </hints>
   </connection>
-  <connection>
-   <sender>close_cb</sender>
-   <signal>toggled(bool)</signal>
-   <receiver>pend_spb</receiver>
-   <slot>setDisabled(bool)</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>81</x>
-     <y>489</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>142</x>
-     <y>569</y>
-    </hint>
-   </hints>
-  </connection>
  </connections>
 </ui>
index d581574266ac18d05a09cd61561d63a72f7ca1ef..621f8f92cb325102731e4da0df036b03dd6ffd7c 100644 (file)
@@ -7,11 +7,11 @@
     <x>0</x>
     <y>0</y>
     <width>194</width>
-    <height>256</height>
+    <height>206</height>
    </rect>
   </property>
   <property name="sizePolicy">
-   <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+   <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
     <horstretch>0</horstretch>
     <verstretch>0</verstretch>
    </sizepolicy>
   <property name="windowTitle">
    <string>Group Creation</string>
   </property>
-  <layout class="QVBoxLayout" name="verticalLayout_3">
+  <layout class="QVBoxLayout" name="verticalLayout_2">
    <item>
     <widget class="QGroupBox" name="groupBox">
-     <property name="minimumSize">
-      <size>
-       <width>5</width>
-       <height>0</height>
-      </size>
-     </property>
-     <property name="title">
-      <string/>
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
      </property>
      <layout class="QVBoxLayout" name="verticalLayout">
       <item>
-       <widget class="QFrame" name="frame">
+       <widget class="QWidget" name="" native="true">
         <property name="sizePolicy">
          <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
-        <property name="frameShape">
-         <enum>QFrame::StyledPanel</enum>
-        </property>
-        <property name="frameShadow">
-         <enum>QFrame::Raised</enum>
-        </property>
         <layout class="QFormLayout" name="formLayout">
          <item row="0" column="0">
           <widget class="QLabel" name="label">
        </widget>
       </item>
       <item>
-       <layout class="QGridLayout" name="gridLayout">
-        <item row="0" column="0" rowspan="2">
-         <widget class="QListWidget" name="eltBase_lw">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-         </widget>
-        </item>
-       </layout>
+       <widget class="QListWidget" name="eltBase_lw">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+       </widget>
       </item>
      </layout>
     </widget>
  </widget>
  <tabstops>
   <tabstop>name_le</tabstop>
-  <tabstop>eltBase_lw</tabstop>
   <tabstop>kind_cb</tabstop>
  </tabstops>
  <resources/>
index 32eea50a43698eb2922b44d2e5474e791bcdbb91..75770b5da0406a02716c7c20ad6976e4a84e8bd4 100755 (executable)
@@ -254,31 +254,6 @@ void HEXABLOCKGUI::viewManagers( QStringList& list ) const
     //   list.append( SVTK_Viewer::Type() );
 }
 
-void HEXABLOCKGUI::restoreGraphicViews()
-{
-    //Init OCC
-    if (currentOccGView == NULL)
-    {
-        currentOccGView = new OccGraphicView(graphicViewsHandler->createOccWindow(),
-                application()->desktop());
-        currentOccGView->getViewWindow()->installEventFilter(this);
-    }
-    else if (currentOccGView->getViewWindow() == NULL)
-    {
-        currentOccGView->setViewWindow(graphicViewsHandler->createOccWindow());
-        currentOccGView->getViewWindow()->installEventFilter(this);
-    }
-
-    //Init VTK
-    if (currentDocGView == NULL)
-        newDocument();
-    else if (currentDocGView->getViewWindow() == NULL)
-    {
-        currentDocGView->setViewWindow(graphicViewsHandler->createVtkWindow());
-        currentDocGView->getViewWindow()->installEventFilter(this);
-    }
-}
-
 
 bool HEXABLOCKGUI::activateModule( SUIT_Study* theStudy )
 {
@@ -390,17 +365,22 @@ bool HEXABLOCKGUI::deactivateModule( SUIT_Study* theStudy )
     disconnect( getApp()->objectBrowser()->treeView(),SIGNAL( clicked(const QModelIndex&) ),
             this, SLOT( onObjectBrowserClick(const QModelIndex&) ) );
 
-    if ( currentDocGView != NULL && currentDocGView->getViewWindow() != NULL )
-        //default selectionMode in VTKView
-        currentDocGView->getViewWindow()->SetSelectionMode( ActorSelection );
-
-    if (currentOccGView != NULL)
-    {
-        //defaut selectionMode in OccView
-        selectionMgr()->clearSelected();
-        currentOccGView->globalSelection();
-        currentOccGView->localSelection(TopAbs_SHAPE);
-    }
+//    if ( currentDocGView != NULL && currentDocGView->getViewWindow() != NULL )
+//    {
+//        //default selectionMode in VTKView
+////        currentDocGView->getViewWindow()->SetSelectionMode( ActorSelection );
+//        currentDocGView->getViewWindow()->close();
+//    }
+//
+//    if (currentOccGView != NULL)
+//    {
+//        //defaut selectionMode in OccView
+////        selectionMgr()->clearSelected();
+////        currentOccGView->globalSelection();
+////        currentOccGView->localSelection(TopAbs_SHAPE);
+//        if (currentOccGView->getViewWindow() != NULL)
+//            currentOccGView->getViewWindow()->close();
+//    }
 
     qDeleteAll(myOCCSelectors);
     myOCCSelectors.clear();
@@ -410,14 +390,16 @@ bool HEXABLOCKGUI::deactivateModule( SUIT_Study* theStudy )
     myVTKSelectors.clear();
     getApp()->selectionMgr()->setEnabled( true, SVTK_Viewer::Type() );
 
-    bool bOk = SalomeApp_Module::deactivateModule( theStudy );
-
     //Must be done for all views later
     if (currentOccGView != NULL && currentOccGView->getViewWindow() != NULL)
-        currentOccGView->getViewWindow()->removeEventFilter(this);
+//        currentOccGView->getViewWindow()->removeEventFilter(this);
+        currentOccGView->getViewWindow()->close();
 
     if (currentDocGView != NULL && currentDocGView->getViewWindow() != NULL)
-        currentDocGView->getViewWindow()->removeEventFilter(this);
+//        currentDocGView->getViewWindow()->removeEventFilter(this);
+        currentDocGView->getViewWindow()->close();
+
+    bool bOk = SalomeApp_Module::deactivateModule( theStudy );
 
     //switch off current document graphic view
     switchOffGraphicView(currentDocGView);
@@ -600,6 +582,7 @@ void HEXABLOCKGUI::onObjectBrowserClick(const QModelIndex& index)
 {
     // ** we want to switch automatically to the right view windows
 
+    MESSAGE("===============>  ON OBJECT BROWSER CLICKED!!!!!!! ");
     //first, find selected item
     QString itemEntry;
     DataObjectList dol = getApp()->objectBrowser()->getSelected();
@@ -622,8 +605,7 @@ void HEXABLOCKGUI::onObjectBrowserClick(const QModelIndex& index)
     //Init OCC if necessary
     if (currentOccGView == NULL)
     {
-        currentOccGView = new OccGraphicView(graphicViewsHandler->createOccWindow(),
-                application()->desktop());
+        currentOccGView = new OccGraphicView(graphicViewsHandler->createOccWindow(), application()->desktop());
         currentOccGView->getViewWindow()->installEventFilter(this);
     }
     else if (currentOccGView->getViewWindow() == NULL)
@@ -1879,17 +1861,6 @@ void HEXABLOCKGUI::switchOnGraphicView(VtkDocumentGraphicView* dgview)
    connect( dgview->getMeshSelectionModel(), SIGNAL( selectionChanged(const QItemSelection &, const QItemSelection &) ),
          this, SLOT( onSelectionChanged(const QItemSelection &, const QItemSelection &) ), Qt::UniqueConnection );
 
-   if (currentDocGView != NULL)
-   {
-       if (currentDocGView->getViewWindow() != NULL)
-           dgview->setViewWindow(currentDocGView->getViewWindow());
-       else
-       {
-           dgview->setViewWindow(graphicViewsHandler->createVtkWindow());
-           dgview->getViewWindow()->installEventFilter(this);
-       }
-   }
-   dgview->getViewWindow()->setFocus();
    showAllMenus();
 }
 
@@ -1925,6 +1896,7 @@ void HEXABLOCKGUI::switchOffGraphicView(VtkDocumentGraphicView* dgview, bool sav
 void HEXABLOCKGUI::switchModel(VtkDocumentGraphicView* dgview)
 {
     DEBTRACE("HEXABLOCKGUI::switchModel " << dgview);
+    MESSAGE("=========> SWITCH MODEL");
 
     if (dgview == NULL)
     {
@@ -1964,7 +1936,27 @@ void HEXABLOCKGUI::switchModel(VtkDocumentGraphicView* dgview)
     _meshTreeView->setSelectionModel(dgview->getMeshSelectionModel());
     _meshTreeView->setEditTriggers(QAbstractItemView::AllEditTriggers);
 
-    //switch on this graphic view (connect signals...)
+
+    // = * init occ view * =
+    if (currentOccGView != NULL && currentOccGView->getViewWindow() == NULL)
+    {
+        currentOccGView->setViewWindow(graphicViewsHandler->createOccWindow());
+        currentOccGView->getViewWindow()->installEventFilter(this);
+    }
+    // ==
+
+
+    // = * init vtk view * =
+    if (currentDocGView != NULL && currentDocGView->getViewWindow() != NULL)
+        dgview->setViewWindow(currentDocGView->getViewWindow());
+
+    if (dgview->getViewWindow() == NULL)
+    {
+        dgview->setViewWindow(graphicViewsHandler->createVtkWindow());
+        dgview->getViewWindow()->installEventFilter(this);
+    }
+    // ==
+
     switchOnGraphicView(dgview);
     currentDocGView = dgview;
     currentDocGView->getViewWindow()->setFocus();
@@ -2069,7 +2061,7 @@ void HEXABLOCKGUI::newDocument()
     // Create Document from HEXABLOCK ENGINE
     pair <QString, HEXA_NS::Document*> docEntry_Doc ( newHexaDocument() );
 
-    VtkDocumentGraphicView* newGraphicView;
+    VtkDocumentGraphicView* newGraphicView = NULL;
     //One document at a time
     if (currentDocGView != NULL)
     {
@@ -2909,27 +2901,27 @@ void HEXABLOCKGUI::test_make_cart_grid()
 void HEXABLOCKGUI::test_make_elmts_transform()
 {
 
-    int size_x = 1;
-    int size_y = 1;
-    int size_z = 2;
-
-    QModelIndex orig = getCurrentModel()->addVertex(0, 0, 0);
-    QModelIndex dirVr = getCurrentModel()->addVector(1, 1, 1);
+//    int size_x = 1;
+//    int size_y = 1;
+//    int size_z = 2;
+//
+//    QModelIndex orig = getCurrentModel()->addVertex(0, 0, 0);
+//    QModelIndex dirVr = getCurrentModel()->addVector(1, 1, 1);
 
     //obsolete
-    QModelIndex grid = getCurrentModel()->makeCartesian(orig, dirVr, size_x, size_y, size_z);//, 0, 0, 0);
+//    QModelIndex grid = getCurrentModel()->makeCartesian(orig, dirVr, size_x, size_y, size_z);//, 0, 0, 0);
     // orig.setScalar(2);
 
     // file_name = os.path.join(os.environ['TMP'], 'transfo0.vtk')
     // getCurrentModel()->saveVtk(file_name)
 
-    QModelIndex devant = getCurrentModel()->addVector(5, 0, 0);
-    QModelIndex grid2  = getCurrentModel()->makeTranslation(grid, devant);
+//    QModelIndex devant = getCurrentModel()->addVector(5, 0, 0);
+//    QModelIndex grid2  = getCurrentModel()->makeTranslation(grid, devant);
 
     // file_name = os.path.join(os.environ['TMP'], 'transfo_translation.vtk')
     // getCurrentModel()->saveVtk(file_name)
 
-    QModelIndex grid4 = getCurrentModel()->makeRotation(grid2, orig, dirVr, 45);
+//    QModelIndex grid4 = getCurrentModel()->makeRotation(grid2, orig, dirVr, 45);
 
 
     // file_name = os.path.join(os.environ['TMP'], 'transfo_rotation.vtk');
index 6e513cb796b6b141f215c34edd3c7a3c6e120d8a..a058435a565518f8d7f3ec11df84aa5e4ed46757 100755 (executable)
@@ -300,7 +300,6 @@ private:
 
 
   QStringList getQuickDirList();
-  void restoreGraphicViews();
   void clearDialogs();
 
   SOCC_Prs* getOccPrs(HEXABLOCK::GUI::VtkDocumentGraphicView* docGView)
index 18384aa8a0c2ce066d0fae4b0a895cd7149212f4..36c274b0969f49333eac9bcce7cd1a0d9b42c43e 100755 (executable)
@@ -66,8 +66,14 @@ QWidget *DocumentDelegate::createEditor( QWidget                    *parent,
     case QUAD_TREE :     editor = new QuadDialog(_dw, HexaBaseDialog::INFO_MODE);     break;
     case HEXA_TREE :     editor = new HexaDialog(_dw, HexaBaseDialog::INFO_MODE);     break;
     case VECTOR_TREE :   editor = new VectorDialog(_dw, HexaBaseDialog::INFO_MODE);   break;
-    case CYLINDER_TREE : editor = new CylinderDialog(_dw, HexaBaseDialog::INFO_MODE);   break;
-    case PIPE_TREE :     editor = new PipeDialog(_dw, HexaBaseDialog::INFO_MODE);       break;
+
+//    case ELEMENTS_DIR_TREE : trouver le type exact (cylinder ou pipe) et creer la boite d'info en fonction.
+
+    // * OBSOLETE ******
+//    case CYLINDER_TREE : editor = new CylinderDialog(_dw, HexaBaseDialog::INFO_MODE);   break;
+//    case PIPE_TREE :     editor = new PipeDialog(_dw, HexaBaseDialog::INFO_MODE);       break;
+    // ******************
+
     case GROUP_TREE       : editor = new GroupDialog(_dw, HexaBaseDialog::INFO_MODE/*UPDATE_MODE*/); break;
     case LAW_TREE         : editor = new LawDialog(_dw, HexaBaseDialog::INFO_MODE); break;
     case PROPAGATION_TREE : editor = new PropagationDialog(_dw, HexaBaseDialog::INFO_MODE); break;
@@ -136,19 +142,32 @@ void DocumentDelegate::setEditorData( QWidget *editor,
       vectorEditor->setValue(value);
     }
     break;
-    case CYLINDER_TREE : {
-      HEXA_NS::Cylinder *value = documentModel->getHexaPtr<HEXA_NS::Cylinder*>(index);
-      CylinderDialog *cylinderEditor = static_cast<CylinderDialog*>(editor);
-      cylinderEditor->setValue(value);
-    }
-    break;
-    case PIPE_TREE : {
-      HEXA_NS::Pipe *value = documentModel->getHexaPtr<HEXA_NS::Pipe*>(index);
-      PipeDialog *pipeEditor= static_cast<PipeDialog*>(editor);
-      pipeEditor->setValue(value);
+
+    /*
+    case ELEMENTS_DIR_TREE : {
+        HEXA_NS::Elements* value = documentModel->getHexaPtr<HEXA_NS::Elements*>(index);
+        // trouver le type exact (cylinder ou pipe) pour choisir le bon editor
+        // editor->setValue(value)
     }
     break;
-    case GROUP_TREE :{
+    */
+
+    // ************ OBSOLETE ********************
+//    case CYLINDER_TREE : {
+//      HEXA_NS::Cylinder *value = documentModel->getHexaPtr<HEXA_NS::Cylinder*>(index);
+//      CylinderDialog *cylinderEditor = static_cast<CylinderDialog*>(editor);
+//      cylinderEditor->setValue(value);
+//    }
+//    break;
+//    case PIPE_TREE : {
+//      HEXA_NS::Pipe *value = documentModel->getHexaPtr<HEXA_NS::Pipe*>(index);
+//      PipeDialog *pipeEditor= static_cast<PipeDialog*>(editor);
+//      pipeEditor->setValue(value);
+//    }
+//    break;
+    // ************ FIN OBSOLETE *****************
+
+    case GROUP_TREE : {
       HEXA_NS::Group *value = index.data( HEXA_DATA_ROLE ).value< HEXA_NS::Group* >();
       GroupDialog *groupEditor = static_cast<GroupDialog*>(editor);
       groupEditor->setValue(value);
index 8405795a33dc40044b8863802a70d0d324f26093..dfa87b7bc1abf342508cf522010871e444055fe6 100755 (executable)
@@ -118,8 +118,8 @@ QVariant ElementItem::data( int role ) const
         case QUADITEM: return QVariant::fromValue( (HEXA_NS::Quad*)m_DocElt );
         case HEXAITEM: return QVariant::fromValue( (HEXA_NS::Hexa*)m_DocElt );
         case VECTORITEM: return QVariant::fromValue( (HEXA_NS::Vector*)m_DocElt );
-        case CYLINDERITEM: return QVariant::fromValue( (HEXA_NS::Cylinder*)m_DocElt );
-        case PIPEITEM: return QVariant::fromValue( (HEXA_NS::Pipe*)m_DocElt );
+//        case CYLINDERITEM: return QVariant::fromValue( (HEXA_NS::Cylinder*)m_DocElt );
+//        case PIPEITEM: return QVariant::fromValue( (HEXA_NS::Pipe*)m_DocElt );
         case ELEMENTSITEM: return QVariant::fromValue( (HEXA_NS::Elements*)m_DocElt );
         case CROSSELEMENTSITEM: return QVariant::fromValue( (HEXA_NS::CrossElements*)m_DocElt );
         case GEOMSHAPEITEM: return QVariant::fromValue( (HEXA_NS::NewShape*) m_DocElt );
@@ -185,17 +185,17 @@ VectorItem::VectorItem( HEXA_NS::Vector* hexaVector, QString entry ):
 {
 }
 
-// ----------------------- CYLINDER (BUILDER)
-CylinderItem::CylinderItem( HEXA_NS::Cylinder* hexaCylinder, QString entry):
-               StandardElementItem(hexaCylinder, entry, CYLINDERITEM, CYLINDER_TREE)
-{
-}
-
-// ----------------------- PIPE     (BUILDER)
-PipeItem::PipeItem( HEXA_NS::Pipe* hexaPipe, QString entry ):
-               StandardElementItem(hexaPipe, entry, PIPEITEM, PIPE_TREE)
-{
-}
+//// ----------------------- CYLINDER (BUILDER)
+//CylinderItem::CylinderItem( HEXA_NS::Cylinder* hexaCylinder, QString entry):
+//             StandardElementItem(hexaCylinder, entry, CYLINDERITEM, CYLINDER_TREE)
+//{
+//}
+//
+//// ----------------------- PIPE     (BUILDER)
+//PipeItem::PipeItem( HEXA_NS::Pipe* hexaPipe, QString entry ):
+//             StandardElementItem(hexaPipe, entry, PIPEITEM, PIPE_TREE)
+//{
+//}
 
 // ----------------------- ELEMENTS      (NOT USED)
 ElementsItem::ElementsItem( HEXA_NS::Elements* hexaElements, QString entry ):
@@ -204,10 +204,10 @@ ElementsItem::ElementsItem( HEXA_NS::Elements* hexaElements, QString entry ):
 }
 
 // ----------------------- CROSSELEMENTS (NOT USED)
-CrossElementsItem::CrossElementsItem( HEXA_NS::CrossElements* hexaCrossElts, QString entry ):
-               StandardElementItem(hexaCrossElts, entry, CROSSELEMENTSITEM, CROSSELEMENTS_TREE)
-{
-}
+//CrossElementsItem::CrossElementsItem( HEXA_NS::CrossElements* hexaCrossElts, QString entry ):
+//             StandardElementItem(hexaCrossElts, entry, CROSSELEMENTSITEM, CROSSELEMENTS_TREE)
+//{
+//}
 
 // ----------------------- GEOM     (GEOMETRY)
 GeomItem::GeomItem( HEXA_NS::EltBase* geomShape, QString entry, HexaType ttype, HexaTreeRole treeRole, HEXA_NS::EltBase* assoc ):
index 017e2d5d0c4c29964abd2143e14e147c5422e84d..04efacb2eabf9c6bafa665ccc3030d389771296b 100755 (executable)
@@ -82,8 +82,6 @@ namespace HEXABLOCK
       HEXAITEM,
 
       VECTORITEM,
-      CYLINDERITEM,
-      PIPEITEM,
       ELEMENTSITEM,
       CROSSELEMENTSITEM,
 
@@ -107,8 +105,6 @@ namespace HEXABLOCK
       HEXA_TREE,
 
       VECTOR_TREE,
-      CYLINDER_TREE,
-      PIPE_TREE,
       ELEMENTS_TREE,
       CROSSELEMENTS_TREE,
 
@@ -131,8 +127,6 @@ namespace HEXABLOCK
       HEXA_DIR_TREE,
 
       VECTOR_DIR_TREE,
-      CYLINDER_DIR_TREE,
-      PIPE_DIR_TREE,
       ELEMENTS_DIR_TREE,
       CROSSELEMENTS_DIR_TREE,
 
@@ -235,18 +229,18 @@ namespace HEXABLOCK
     };
     //-----------------------------------------
 
-    class CylinderItem : public StandardElementItem
-    {
-      public:
-        CylinderItem( HEXA_NS::Cylinder* hexaCyl, QString entry = "");
-    };
+//    class CylinderItem : public StandardElementItem
+//    {
+//      public:
+//        CylinderItem( HEXA_NS::Cylinder* hexaCyl, QString entry = "");
+//    };
     //-----------------------------------------
 
-    class PipeItem : public StandardElementItem
-    {
-      public:
-        PipeItem( HEXA_NS::Pipe* hexaPipe, QString entry = "");
-    };
+//    class PipeItem : public StandardElementItem
+//    {
+//      public:
+//        PipeItem( HEXA_NS::Pipe* hexaPipe, QString entry = "");
+//    };
     //-----------------------------------------
 
     class ElementsItem : public StandardElementItem
@@ -255,11 +249,11 @@ namespace HEXABLOCK
         ElementsItem( HEXA_NS::Elements* hexaElements, QString entry = "" );
     };
     //-----------------------------------------
-    class CrossElementsItem : public StandardElementItem
-    {
-      public:
-        CrossElementsItem( HEXA_NS::CrossElements* hexaCrossElts, QString entry = "");
-    };
+//    class CrossElementsItem : public StandardElementItem
+//    {
+//      public:
+//        CrossElementsItem( HEXA_NS::CrossElements* hexaCrossElts, QString entry = "");
+//    };
 
     //------------------------------------------------
     class GeomItem: public StandardElementItem
index da56ff1eed7fc063717ea2be9b5d6d87b0c803c8..1045efdf666000965f60b68aff316e0edb2f6064 100755 (executable)
@@ -77,8 +77,6 @@ DocumentModel::DocumentModel(HEXA_NS::Document* docIn, const QString& entryIn, Q
                               _hexaDirItem( new QStandardItem(tr("TREE_ITEM_HEXA")) ),
 
                               _vectorDirItem( new QStandardItem(tr("TREE_ITEM_VECTOR")) ),
-                              _cylinderDirItem( new QStandardItem(tr("TREE_ITEM_CYLINDER")) ),
-                              _pipeDirItem( new QStandardItem(tr("TREE_ITEM_PIPE")) ),
                               _elementsDirItem( new QStandardItem(tr("TREE_ITEM_ELEMENT")) ),
                               _crossElementsDirItem( new QStandardItem(tr("TREE_ITEM_CROSSELEMENT")) ),
 
@@ -96,8 +94,6 @@ DocumentModel::DocumentModel(HEXA_NS::Document* docIn, const QString& entryIn, Q
                               _quadItemFlags( Qt::NoItemFlags ),
                               _hexaItemFlags( Qt::NoItemFlags ),
                               _vectorItemFlags( Qt::NoItemFlags ),
-                              _cylinderItemFlags( Qt::NoItemFlags ),
-                              _pipeItemFlags( Qt::NoItemFlags ),
                               _elementsItemFlags( Qt::NoItemFlags ),
                               _crossElementsItemFlags( Qt::NoItemFlags ),
 
@@ -119,8 +115,6 @@ DocumentModel::DocumentModel(HEXA_NS::Document* docIn, const QString& entryIn, Q
     _hexaDirItem->setData( HEXA_DIR_TREE,               HEXA_TREE_ROLE );
 
     _vectorDirItem->setData( VECTOR_DIR_TREE,           HEXA_TREE_ROLE );
-    _cylinderDirItem->setData( CYLINDER_DIR_TREE,       HEXA_TREE_ROLE );
-    _pipeDirItem->setData( PIPE_DIR_TREE,                   HEXA_TREE_ROLE );
     _elementsDirItem->setData( ELEMENTS_DIR_TREE,           HEXA_TREE_ROLE );
     _crossElementsDirItem->setData( CROSSELEMENTS_DIR_TREE, HEXA_TREE_ROLE );
 
@@ -141,8 +135,6 @@ DocumentModel::DocumentModel(HEXA_NS::Document* docIn, const QString& entryIn, Q
     parentItem->appendRow(_hexaDirItem);
 
     parentItem->appendRow(_vectorDirItem);
-    parentItem->appendRow(_cylinderDirItem);
-    parentItem->appendRow(_pipeDirItem);
     parentItem->appendRow(_elementsDirItem);
     parentItem->appendRow(_crossElementsDirItem);
 
@@ -178,8 +170,6 @@ HEXA_NS::EltBase* DocumentModel::getHexaPtr(const QModelIndex& iElt)
     case QUAD_TREE : elt = getHexaPtr<HEXA_NS::Quad*>(iElt); break;
     case HEXA_TREE : elt = getHexaPtr<HEXA_NS::Hexa*>(iElt); break;
     case VECTOR_TREE : elt = getHexaPtr<HEXA_NS::Vector*>(iElt); break;
-    case CYLINDER_TREE : elt = getHexaPtr<HEXA_NS::Cylinder*>(iElt); break;
-    case PIPE_TREE : elt = getHexaPtr<HEXA_NS::Pipe*>(iElt); break;
     case ELEMENTS_TREE : elt = getHexaPtr<HEXA_NS::Elements*>(iElt); break;
     case CROSSELEMENTS_TREE : elt = getHexaPtr<HEXA_NS::CrossElements*>(iElt); break;
     case GEOMSHAPE_TREE: elt = getHexaPtr<HEXA_NS::NewShape*>(iElt); break;
@@ -308,11 +298,15 @@ void DocumentModel::updateGeomTree()
     fillGeometry();
 }
 
-QModelIndex DocumentModel::addToElementsTree(HEXA_NS::Elements* helts)
+QModelIndex DocumentModel::addElementsToTree(HEXA_NS::Elements* helts, QStandardItem* tree)
 {
+    QModelIndex eltIndex;
+    if (helts == NULL || tree == NULL)
+        return eltIndex;
+
     updateData();
     ElementsItem* eltsItem = new ElementsItem(helts);
-    _elementsDirItem->appendRow(eltsItem);
+    tree->appendRow(eltsItem);
 
     return eltsItem->index();
 }
@@ -353,8 +347,6 @@ void DocumentModel::clearData()
 void DocumentModel::clearBuilder()
 {
     _vectorDirItem->removeRows(0, _vectorDirItem->rowCount() );
-    _cylinderDirItem->removeRows(0, _cylinderDirItem->rowCount() );
-    _pipeDirItem->removeRows(0, _pipeDirItem->rowCount() );
     _elementsDirItem->removeRows(0, _elementsDirItem->rowCount() );
     _crossElementsDirItem->removeRows(0, _crossElementsDirItem->rowCount() );
 }
@@ -440,25 +432,37 @@ void DocumentModel::fillBuilder()
         _vectorDirItem->appendRow(vItem);
     }
 
+    //******* A VOIR AVEC ALAIN POUR LE REMPLISSAGE DE L'ARBRE ELEMENTS ET CROSSELEMENTS (ByCylinder) *******/
+    //******* OU SONT STOCKES LES ELEMENTS ET LES CROSSELEMENTS DANS LE DOCUMENT?                     ******/
+
     //   _cylinderDirItem
-    HEXA_NS::Cylinder *c     = NULL;
-    CylinderItem      *cItem = NULL;
-    int nbCylinder = _hexaDocument->countCylinder();
-    for ( int i=0; i<nbCylinder; ++i ){
-        c = _hexaDocument->getCylinder(i);
-        cItem = new CylinderItem(c, _entry);
-        _cylinderDirItem->appendRow(cItem);
-    }
+//    HEXA_NS::Cylinder *c     = NULL;
+//    HEXA_NS::Elements* c = NULL;
+//    CylinderItem      *cItem = NULL;
+//    ElementsItem* cItem = NULL;
+//    int nbCylinder = _hexaDocument->countCylinder();
+//    for ( int i=0; i<nbCylinder; ++i ){
+//        c = _hexaDocument->getCylinder(i);
+//        cItem = new CylinderItem(c, _entry);
+//        cItem = new ElementsItem(c, _entry);
+//        _cylinderDirItem->appendRow(cItem);
+//        _elementsDirItem->appendRow(cItem);
+//    }
 
     //   _pipeDirItem
-    HEXA_NS::Pipe *p     = NULL;
-    PipeItem      *pItem = NULL;
-    int nbPipe = _hexaDocument->countPipe();
-    for ( int i=0; i<nbPipe; ++i ){
-        p = _hexaDocument->getPipe(i);
-        pItem = new PipeItem(p);
-        _pipeDirItem->appendRow(pItem);
-    }
+//    HEXA_NS::Pipe *p     = NULL;
+//    HEXA_NS::Elements* p = NULL;
+//    PipeItem      *pItem = NULL;
+//    ElementsItem* pItem = NULL;
+//    int nbPipe = _hexaDocument->countPipe();
+//    for ( int i=0; i<nbPipe; ++i ){
+//        p = _hexaDocument->getPipe(i);
+//        pItem = new PipeItem(p);
+//        pItem = new ElementsItem(p, _entry);
+//        _pipeDirItem->appendRow(pItem);
+//        _elementsDirItem->appendRow(pItem);
+//    }
+    //********************************************************************************************************
 }
 
 void DocumentModel::fillGeometry()
@@ -504,15 +508,23 @@ void DocumentModel::fillGeometry()
             _implicitShapesDirItem->appendRow(shItem);
 
         //add vertices to the tree
-        QStandardItem* geomPointDirItem = new QStandardItem(tr("TREE_ITEM_VERTEX"));
-        geomPointDirItem->setData( GEOMPOINT_DIR_TREE, HEXA_TREE_ROLE );
-        shItem->appendRow(geomPointDirItem);
+        QStandardItem* geomPointDirItem = NULL;
+        if (shape->getOrigin() != HEXA_NS::SH_CLOUD)
+        {
+            geomPointDirItem = new QStandardItem(tr("TREE_ITEM_VERTEX"));
+            geomPointDirItem->setData( GEOMPOINT_DIR_TREE, HEXA_TREE_ROLE );
+        }
+        if (geomPointDirItem != NULL)
+            shItem->appendRow(geomPointDirItem);
         int nbVertexShape = shape->countVertex();
         for (int j=0; j < nbVertexShape; ++j)
         {
             node = shape->getVertexShape(j);
             GeomPointItem* gPointItem = new GeomPointItem(node);
-            geomPointDirItem->appendRow(gPointItem);
+            if (geomPointDirItem != NULL)
+                geomPointDirItem->appendRow(gPointItem);
+            else
+                shItem->appendRow(gPointItem);
             shapeById[shapeName+","+QString::number(node->getIdent())] = node;
 
             // * update the compound of vertices
@@ -520,6 +532,9 @@ void DocumentModel::fillGeometry()
                 compoundBuilder.Add(topo_shapes[shapeName], node->getShape());
         }
 
+        if (shape->getOrigin() == HEXA_NS::SH_CLOUD)
+            continue; // * it's a cloud of points, there's no edges and no quads to fill
+
         //add edges to the tree
         QStandardItem* geomEdgeDirItem = new QStandardItem(tr("TREE_ITEM_EDGE"));
         geomEdgeDirItem->setData( GEOMEDGE_DIR_TREE, HEXA_TREE_ROLE );
@@ -678,8 +693,6 @@ void DocumentModel::allowDataSelectionOnly()
     _hexaItemFlags   = Qt::ItemFlags( ~Qt::ItemIsEditable );
 
     _vectorItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
-    _cylinderItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
-    _pipeItemFlags     = Qt::ItemFlags( ~Qt::ItemIsEnabled );
     _elementsItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
     _crossElementsItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
 
@@ -696,8 +709,6 @@ void DocumentModel::allowVertexSelectionOnly()
     _hexaItemFlags   = Qt::ItemFlags( ~Qt::ItemIsEditable );
 
     _vectorItemFlags = Qt::ItemFlags( ~Qt::ItemIsEditable );
-    _cylinderItemFlags = Qt::ItemFlags( ~Qt::ItemIsEditable );
-    _pipeItemFlags     = Qt::ItemFlags( ~Qt::ItemIsEditable );
     _elementsItemFlags = Qt::ItemFlags( ~Qt::ItemIsEditable );
     _crossElementsItemFlags = Qt::ItemFlags( ~Qt::ItemIsEditable );
 
@@ -716,8 +727,6 @@ void DocumentModel::allowEdgeSelectionOnly()
     _hexaItemFlags   = Qt::ItemFlags( ~Qt::ItemIsEnabled );
 
     _vectorItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
-    _cylinderItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
-    _pipeItemFlags     = Qt::ItemFlags( ~Qt::ItemIsEnabled );
     _elementsItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
     _crossElementsItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
 
@@ -734,8 +743,6 @@ void DocumentModel::allowQuadSelectionOnly()
     _hexaItemFlags   = Qt::ItemFlags( ~Qt::ItemIsEnabled );
 
     _vectorItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
-    _cylinderItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
-    _pipeItemFlags     = Qt::ItemFlags( ~Qt::ItemIsEnabled );
     _elementsItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
     _crossElementsItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
 
@@ -752,8 +759,6 @@ void DocumentModel::allowHexaSelectionOnly()
     _hexaItemFlags   = Qt::ItemFlags( ~Qt::ItemIsEditable );
 
     _vectorItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
-    _cylinderItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
-    _pipeItemFlags     = Qt::ItemFlags( ~Qt::ItemIsEnabled );
     _elementsItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
     _crossElementsItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
 
@@ -770,8 +775,6 @@ void DocumentModel::allowVectorSelectionOnly()
     _hexaItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
 
     _vectorItemFlags   = Qt::ItemFlags( ~Qt::ItemIsEditable );
-    _cylinderItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
-    _pipeItemFlags     = Qt::ItemFlags( ~Qt::ItemIsEnabled );
     _elementsItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
     _crossElementsItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
 
@@ -788,8 +791,6 @@ void DocumentModel::allowCylinderSelectionOnly()
     _hexaItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
 
     _vectorItemFlags   = Qt::ItemFlags( ~Qt::ItemIsEnabled );
-    _cylinderItemFlags = Qt::ItemFlags( ~Qt::ItemIsEditable );
-    _pipeItemFlags     = Qt::ItemFlags( ~Qt::ItemIsEnabled );
     _elementsItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
     _crossElementsItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
 
@@ -806,8 +807,6 @@ void DocumentModel::allowPipeSelectionOnly()
     _hexaItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
 
     _vectorItemFlags   = Qt::ItemFlags( ~Qt::ItemIsEnabled );
-    _cylinderItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
-    _pipeItemFlags     = Qt::ItemFlags( ~Qt::ItemIsEditable );
     _elementsItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
     _crossElementsItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
 
@@ -824,8 +823,6 @@ void DocumentModel::allowElementsSelectionOnly()
     _hexaItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
 
     _vectorItemFlags   = Qt::ItemFlags( ~Qt::ItemIsEnabled );
-    _cylinderItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
-    _pipeItemFlags     = Qt::ItemFlags( ~Qt::ItemIsEnabled );
     _elementsItemFlags = Qt::ItemFlags( ~Qt::ItemIsEditable );
     _crossElementsItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
 
@@ -842,8 +839,6 @@ void DocumentModel::allowCrossElementsSelectionOnly()
     _hexaItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
 
     _vectorItemFlags   = Qt::ItemFlags( ~Qt::ItemIsEnabled );
-    _cylinderItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
-    _pipeItemFlags     = Qt::ItemFlags( ~Qt::ItemIsEnabled );
     _elementsItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
     _crossElementsItemFlags = Qt::ItemFlags( ~Qt::ItemIsEditable );
 
@@ -860,8 +855,6 @@ void DocumentModel::allowLawSelectionOnly()
     _hexaItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
 
     _vectorItemFlags   = Qt::ItemFlags( ~Qt::ItemIsEnabled );
-    _cylinderItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
-    _pipeItemFlags     = Qt::ItemFlags( ~Qt::ItemIsEnabled );
     _elementsItemFlags = Qt::ItemFlags( ~Qt::ItemIsEnabled );
     _crossElementsItemFlags = Qt::ItemFlags( Qt::ItemIsEnabled );
 
@@ -1576,34 +1569,6 @@ bool DocumentModel::performSymmetryPlane( const QModelIndex& ielts,
     return false;
 }
 
-QModelIndex DocumentModel::revolutionQuads( const QModelIndexList& istartquads,
-        const QModelIndex& icenter,
-        const QModelIndex& ivecaxis,
-        const QList<double>& angles )
-{
-    QModelIndex ielts;
-
-    HEXA_NS::Quads   hstartquads;
-    HEXA_NS::Quad*   hquad = NULL;
-    foreach( const QModelIndex& iquad, istartquads){
-        hquad = data( iquad, HEXA_DATA_ROLE ).value<HEXA_NS::Quad*>();
-        hstartquads.push_back( hquad );
-    }
-    HEXA_NS::Vertex* hcenter = getHexaPtr<HEXA_NS::Vertex*>(icenter);
-    HEXA_NS::Vector* haxis   = getHexaPtr<HEXA_NS::Vector*>(ivecaxis);
-    std::vector<double> hangles = angles.toVector().toStdVector();
-
-    HEXA_NS::Elements* helts = _hexaDocument->revolutionQuads( hstartquads, hcenter, haxis, hangles );
-    if ( BadElement(helts) ) return ielts;
-
-    updateData();
-    ElementsItem* eltsItem = new ElementsItem(helts);
-    _elementsDirItem->appendRow(eltsItem);
-    ielts = eltsItem->index();
-
-    return ielts;
-}
-
 QModelIndex DocumentModel::replace( const QModelIndexList& iquadsPattern,
         const QModelIndex& ip1, const QModelIndex& ic1,
         const QModelIndex& ip2, const QModelIndex& ic2,
@@ -2229,10 +2194,9 @@ QStandardItem* PatternDataModel::itemFromIndex ( const QModelIndex & index ) con
 PatternBuilderModel::PatternBuilderModel( QObject * parent ) :
                               QSortFilterProxyModel( parent )
 {
-    QString builderRegExp =QString("(%1|%2|%3|%4|%5|%6|%7|%8|%9|%10)").
-            arg(VECTOR_TREE).arg(CYLINDER_TREE).arg(PIPE_TREE).arg(ELEMENTS_TREE).
-            arg(CROSSELEMENTS_TREE).arg(VECTOR_DIR_TREE).arg(CYLINDER_DIR_TREE).
-            arg(PIPE_DIR_TREE).arg(ELEMENTS_DIR_TREE).arg(CROSSELEMENTS_DIR_TREE);
+    QString builderRegExp =QString("(%1|%2|%3|%4|%5|%6)").
+            arg(VECTOR_TREE).arg(ELEMENTS_TREE).
+            arg(CROSSELEMENTS_TREE).arg(VECTOR_DIR_TREE).arg(ELEMENTS_DIR_TREE).arg(CROSSELEMENTS_DIR_TREE);
 
     setFilterRole( HEXA_TREE_ROLE );
     setFilterRegExp ( QRegExp( builderRegExp ) );
@@ -2486,7 +2450,7 @@ QModelIndex DocumentModel::makeCartesianTop(int nx, int ny, int nz)
     if ( BadElement(helts) )
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -2507,7 +2471,7 @@ QModelIndex DocumentModel::makeCartesianUni(const QModelIndex& icenter,
     if ( BadElement(helts) )
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -2528,7 +2492,7 @@ QModelIndex DocumentModel::makeCartesian(const QModelIndex& icenter,
     if ( BadElement(helts) )
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -2544,7 +2508,7 @@ QModelIndex DocumentModel::makeSphereTop (int nr, int na, int nh)
     if ( BadElement(helts) )
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -2565,7 +2529,7 @@ QModelIndex DocumentModel::makeSphereUni (QModelIndex& icenter,
     HEXA_NS::Elements* helts = _hexaDocument->makeSphereUni( hcenter, hvec_x, hvec_z,
                                                              rtrou, rext, ang, hvplan,
                                                              nr, na, nh);
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -2583,7 +2547,7 @@ QModelIndex DocumentModel::makeSphere    (QModelIndex& icenter,
     HEXA_NS::Elements* helts = _hexaDocument->makeSphere( hcenter, hvec_x, hvec_z,
                                                           tray, tang, thaut);
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -2598,7 +2562,7 @@ QModelIndex DocumentModel::makeSphericalTop (int nbre, int crit)
     if (BadElement(helts))
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -2618,7 +2582,7 @@ QModelIndex DocumentModel::makeSphericalUni (QModelIndex& icenter,
     if (BadElement(helts))
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -2638,7 +2602,7 @@ QModelIndex DocumentModel::makeSpherical    (QModelIndex& icenter,
     if (BadElement(helts))
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -2652,7 +2616,7 @@ QModelIndex DocumentModel::makeRindTop (int nr, int na, int nh)
     if (BadElement(helts))
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -2675,7 +2639,7 @@ QModelIndex DocumentModel::makeRindUni (QModelIndex& icenter,
     if (BadElement(helts))
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -2694,7 +2658,7 @@ QModelIndex DocumentModel::makeRind    (QModelIndex& icenter,
     if (BadElement(helts))
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -2708,7 +2672,7 @@ QModelIndex DocumentModel::makeCylinderTop(int nr, int na, int nh)
     if (BadElement(helts))
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -2729,7 +2693,7 @@ QModelIndex DocumentModel::makeCylinderUni(QModelIndex& iorig, QModelIndex& ivec
     if (BadElement(helts))
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -2747,7 +2711,7 @@ QModelIndex DocumentModel::makeCylinder(QModelIndex& iorig, QModelIndex& ivecx,
     if (BadElement(helts))
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -2769,7 +2733,7 @@ QModelIndex DocumentModel::makeCylinders(QModelIndex& iorig1, QModelIndex& ivecz
     if (BadElement(helts))
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _crossElementsDirItem);
 
     return result;
 }
@@ -2783,7 +2747,7 @@ QModelIndex DocumentModel::makePipeTop(int nr, int na, int nh)
     if (BadElement(helts))
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -2803,7 +2767,7 @@ QModelIndex DocumentModel::makePipeUni(QModelIndex& iorig, QModelIndex& ivecx, Q
     if (BadElement(helts))
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -2821,7 +2785,7 @@ QModelIndex DocumentModel::makePipe(QModelIndex& iorig, QModelIndex& ivecx, QMod
     if (BadElement(helts))
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -2842,7 +2806,7 @@ QModelIndex DocumentModel::makePipes(QModelIndex& iorig1, QModelIndex& ivecz1, d
     if (BadElement(helts))
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _crossElementsDirItem);
 
     return result;
 }
@@ -2864,7 +2828,7 @@ QModelIndex DocumentModel::joinQuadUni(QModelIndex&  istart, QModelIndex& idest,
     if (BadElement(helts))
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -2885,7 +2849,7 @@ QModelIndex DocumentModel::joinQuad(QModelIndex&  istart, QModelIndex& idest, QM
     if (BadElement(helts))
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -2910,7 +2874,7 @@ QModelIndex DocumentModel::joinQuadsUni(QModelIndexList& istarts, QModelIndex& i
     if (BadElement(helts))
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -2935,7 +2899,7 @@ QModelIndex DocumentModel::joinQuads(QModelIndexList& istarts, QModelIndex& ides
     if (BadElement(helts))
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -2954,7 +2918,7 @@ QModelIndex DocumentModel::revolutionQuadUni(QModelIndex& istart, QModelIndex& i
     if (BadElement(helts))
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -2972,7 +2936,7 @@ QModelIndex DocumentModel::revolutionQuad(QModelIndex& istart, QModelIndex& icen
     if (BadElement(helts))
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -2994,7 +2958,7 @@ QModelIndex DocumentModel::revolutionQuadsUni(QModelIndexList& istarts, QModelIn
     if (BadElement(helts))
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -3016,7 +2980,7 @@ QModelIndex DocumentModel::revolutionQuads(QModelIndexList& istarts, QModelIndex
     if (BadElement(helts))
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 
@@ -3032,7 +2996,7 @@ QModelIndex DocumentModel::extrudeQuadTop(QModelIndex& istart, int nbre)
     if (BadElement(helts))
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -3048,7 +3012,7 @@ QModelIndex DocumentModel::extrudeQuadUni(QModelIndex& istart, QModelIndex& dv,
     if (BadElement(helts))
         return result;
 
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -3063,7 +3027,7 @@ QModelIndex DocumentModel::extrudeQuad(QModelIndex& istart, QModelIndex& dv, vec
     HEXA_NS::Elements* helts = _hexaDocument->extrudeQuad(hstart, hvec, tlen);
     if (BadElement(helts))
         return result;
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -3080,7 +3044,7 @@ QModelIndex DocumentModel::extrudeQuadsTop (QModelIndexList& istarts, int nbre)
     HEXA_NS::Elements* helts = _hexaDocument->extrudeQuadsTop(hquads, nbre);
     if (BadElement(helts))
         return result;
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -3099,7 +3063,7 @@ QModelIndex DocumentModel::extrudeQuadsUni (QModelIndexList& istarts, QModelInde
     HEXA_NS::Elements* helts = _hexaDocument->extrudeQuadsUni(hquads, haxis, len, nbre);
     if (BadElement(helts))
         return result;
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -3118,7 +3082,7 @@ QModelIndex DocumentModel::extrudeQuads(QModelIndexList& istarts, QModelIndex& i
     HEXA_NS::Elements* helts = _hexaDocument->extrudeQuads(hquads, haxis, tlen);
     if (BadElement(helts))
         return result;
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -3133,7 +3097,7 @@ QModelIndex DocumentModel::cutUni(QModelIndex& iEdge, int nbre)
     HEXA_NS::Elements* helts = _hexaDocument->cutUni(hedge, nbre);
     if (BadElement(helts))
         return result;
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
@@ -3147,550 +3111,9 @@ QModelIndex DocumentModel::cut(QModelIndex& iEdge, vector<double>& tlen)
     HEXA_NS::Elements* helts = _hexaDocument->cut(hedge, tlen);
     if (BadElement(helts))
         return result;
-    result = addToElementsTree(helts);
+    result = addElementsToTree(helts, _elementsDirItem);
 
     return result;
 }
 
 // ================================== END NEW ==================================
-
-
-// ================================== OBSOLETE =============================================
-
-QModelIndex DocumentModel::makeCartesian( const QModelIndex& i_pt,
-        const QModelIndex& i_vec_x, const QModelIndex& i_vec_y, const QModelIndex& i_vec_z,
-        long nx, long ny, long nz)
-{
-    QModelIndex eltsIndex;
-
-    HEXA_NS::Vertex* hpt    = getHexaPtr<HEXA_NS::Vertex*>(i_pt);
-    HEXA_NS::Vector* hvec_x = getHexaPtr<HEXA_NS::Vector*>(i_vec_x);
-    HEXA_NS::Vector* hvec_y = getHexaPtr<HEXA_NS::Vector*>(i_vec_y);
-    HEXA_NS::Vector* hvec_z = getHexaPtr<HEXA_NS::Vector*>(i_vec_z);
-
-    HEXA_NS::Elements* new_helts = _hexaDocument->makeCartesian( hpt,
-            hvec_x, hvec_y, hvec_z,
-            nx, ny, nz );
-    if ( BadElement(new_helts) )
-        return eltsIndex;
-
-    updateData(); //CS_TODO more or less?
-    ElementsItem* eltsItem = new ElementsItem(new_helts);
-    _elementsDirItem->appendRow(eltsItem);
-    eltsIndex = eltsItem->index();
-
-    return eltsIndex;
-}
-
-QModelIndex DocumentModel::makeCartesian( const QModelIndex& ivex,
-        const QModelIndex& ivec,
-        int nx, int ny, int nz )
-{
-    QModelIndex iElts;
-
-    HEXA_NS::Vertex* hVex = getHexaPtr<HEXA_NS::Vertex*>(ivex);
-    HEXA_NS::Vector* hVec = getHexaPtr<HEXA_NS::Vector*>(ivec);
-
-    HEXA_NS::Elements* hElts = _hexaDocument->makeCartesian( hVex,
-            hVec,
-            nx, ny, nz );
-    if ( BadElement(hElts) ) return iElts;
-
-    updateData(); //CS_TODO more or less?
-    ElementsItem* elts = new ElementsItem(hElts);
-    _elementsDirItem->appendRow(elts);
-    iElts = elts->index();
-
-    return iElts;
-}
-
-QModelIndex DocumentModel::makeCylindrical( const QModelIndex& i_pt,
-        const QModelIndex& i_vec_x, const QModelIndex& i_vec_z,
-        double dr, double da, double dl,
-        long nr, long na, long nl,
-        bool fill )
-{
-
-    QModelIndex eltsIndex;
-
-    HEXA_NS::Vertex* hpt    = getHexaPtr<HEXA_NS::Vertex*>(i_pt);
-    HEXA_NS::Vector* hvec_x = getHexaPtr<HEXA_NS::Vector*>(i_vec_x);
-    HEXA_NS::Vector* hvec_z = getHexaPtr<HEXA_NS::Vector*>(i_vec_z);
-
-    HEXA_NS::Elements* new_helts = _hexaDocument->makeCylindrical( hpt, hvec_x, hvec_z, dr, da, dl, nr, na, nl, fill );
-    if ( BadElement(new_helts) ) return eltsIndex;
-
-    updateData(); //CS_TODO  more or less?
-    ElementsItem* eltsItem = new ElementsItem(new_helts);
-    _elementsDirItem->appendRow(eltsItem);
-    eltsIndex = eltsItem->index();
-
-    return eltsIndex;
-}
-
-QModelIndex DocumentModel::makeCylindricals(
-        const QModelIndex& icenter, const QModelIndex& ibase, const QModelIndex& iheight,
-        QList< double> radius, QList<double> angles, QList<double> heights,
-        bool fill ) //HEXA3
-{
-    QModelIndex eltsIndex;
-
-    HEXA_NS::Vertex* hcenter = getHexaPtr<HEXA_NS::Vertex*>(icenter);
-    HEXA_NS::Vector* hbase   =getHexaPtr<HEXA_NS::Vector*>(ibase);
-    HEXA_NS::Vector* hheight = getHexaPtr<HEXA_NS::Vector*>(iheight);
-
-    std::vector<double> r = radius.toVector().toStdVector();
-    std::vector<double> a = angles.toVector().toStdVector();
-    std::vector<double> h = heights.toVector().toStdVector();
-
-    HEXA_NS::Elements* helts = _hexaDocument->makeCylindricals(
-            hcenter, hbase, hheight,
-            r, a, h,
-            fill );
-    if ( BadElement(helts) ) return eltsIndex;
-
-    updateData(); //CS_TODO  more or less?
-    ElementsItem* eltsItem = new ElementsItem(helts);
-    _elementsDirItem->appendRow(eltsItem);
-    eltsIndex = eltsItem->index();
-
-    return eltsIndex;
-}
-
-QModelIndex DocumentModel::makeSpherical( const QModelIndex& iv, const QModelIndex& ivec, int nb, double k)
-{
-    QModelIndex iElts;
-
-//    HEXA_NS::Vertex* hv   = getHexaPtr<HEXA_NS::Vertex*>(iv);
-//    HEXA_NS::Vector* hvec = getHexaPtr<HEXA_NS::Vector*>(ivec);
-//
-//    HEXA_NS::Elements* hElts = _hexaDocument->makeSpherical( hv, hvec, nb, k ); // OBSOLETE
-//    HEXA_NS::Elements* hElts = NULL;
-//    if ( BadElement(hElts) ) return iElts;
-//
-//    updateData(); //CS_TODO more or less?
-//    ElementsItem* elts = new ElementsItem(hElts);
-//    _elementsDirItem->appendRow(elts);
-//    iElts = elts->index();
-
-    return iElts;
-}
-
-QModelIndex DocumentModel::makeSpherical( const QModelIndex& icenter, double radius, int nb, double k )
-{
-    QModelIndex iElts;
-
-    HEXA_NS::Vertex* hcenter = getHexaPtr<HEXA_NS::Vertex*>(icenter);
-
-    HEXA_NS::Elements* helts = _hexaDocument->makeSpherical( hcenter, radius, nb, k );
-    if ( BadElement(helts) ) return iElts;
-
-    updateData(); //CS_TODO more or less?
-    ElementsItem* eltsItem = new ElementsItem(helts);
-    _elementsDirItem->appendRow(eltsItem);
-    iElts = eltsItem->index();
-
-    return iElts;
-}
-
-QModelIndex DocumentModel::makeCylinder( const QModelIndex& icyl, const QModelIndex& ivec,
-        int nr, int na, int nl )
-{
-    QModelIndex iElts;
-
-    HEXA_NS::Cylinder* hcyl = getHexaPtr<HEXA_NS::Cylinder*>(icyl);
-    HEXA_NS::Vector* hvec   = getHexaPtr<HEXA_NS::Vector*>(ivec);
-
-    HEXA_NS::Elements* hElts = _hexaDocument->makeCylinder( hcyl, hvec, nr, na, nl );
-    if ( BadElement(hElts) ) return iElts;
-
-    updateData(); //CS_TODO more or less?
-    ElementsItem* elts = new ElementsItem(hElts);
-    _elementsDirItem->appendRow(elts);
-    iElts = elts->index();
-
-    return iElts;
-}
-
-QModelIndex DocumentModel::makeCylinders(const QModelIndex& icyl1, const QModelIndex& icyl2)
-{ //CS_TODO
-    QModelIndex iCrossElts;
-
-    HEXA_NS::Cylinder* hCyl1  = getHexaPtr<HEXA_NS::Cylinder*>(icyl1);
-    HEXA_NS::Cylinder* hCyl2  = getHexaPtr<HEXA_NS::Cylinder*>(icyl2);
-
-    HEXA_NS::CrossElements* hCrossElts = _hexaDocument->makeCylinders( hCyl1, hCyl2 );
-    if ( BadElement(hCrossElts) ) return iCrossElts;
-
-    updateData(); //CS_TODO more or less?
-    ElementsItem* crossElts = new ElementsItem(hCrossElts);
-    _crossElementsDirItem->appendRow(crossElts);
-    iCrossElts = crossElts->index();
-
-    return iCrossElts;
-}
-
-QModelIndex DocumentModel::addEdgeVector( const QModelIndex &i_v, const QModelIndex &i_vec )
-{
-    QModelIndex edgeIndex;
-
-    HEXA_NS::Vertex* hv   = getHexaPtr<HEXA_NS::Vertex*>(i_v);
-    HEXA_NS::Vector* hvec = getHexaPtr<HEXA_NS::Vector*>(i_vec);
-
-    if (!hv || !hvec) return edgeIndex;
-
-//    HEXA_NS::Edge* he = _hexaDocument->addEdge( hv, hvec ); //OBSOLETE
-    HEXA_NS::Edge* he = NULL;
-    if ( BadElement(he) ) return edgeIndex;
-
-    HEXA_NS::Vertex* hv2 = he->getAval(); //the new vertex resulting from the creation of the edge
-    if (hv2 == NULL) return edgeIndex;
-
-    //ADD the elements in the treeview
-    //The Edge
-    EdgeItem* e = new EdgeItem(he, _entry);
-    _edgeDirItem->appendRow(e);
-
-    //The resulting Vertex
-    VertexItem* v = new VertexItem(hv2, _entry);
-    _vertexDirItem->appendRow(v);
-    edgeIndex = e->index();
-    emit patternDataChanged();
-
-    return edgeIndex;
-}
-
-QModelIndex DocumentModel::addCylinder( const QModelIndex &iv, const QModelIndex &ivec, double r,  double h )
-{
-    QModelIndex iCyl;
-
-    HEXA_NS::Vertex* hv   = getHexaPtr<HEXA_NS::Vertex*>(iv);
-    HEXA_NS::Vector* hvec = getHexaPtr<HEXA_NS::Vector*>(ivec);
-
-    HEXA_NS::Cylinder* hcyl = _hexaDocument->addCylinder( hv, hvec, r, h );
-    if ( BadElement(hcyl) ) return iCyl;
-
-    CylinderItem* cyl = new CylinderItem(hcyl);
-    _cylinderDirItem->appendRow(cyl);
-    iCyl = cyl->index();
-
-    return iCyl;
-}
-
-
-QModelIndex DocumentModel::addPipe( const QModelIndex &iv, const QModelIndex &ivec, double ri, double re, double h )
-{
-    QModelIndex iPipe;
-
-    HEXA_NS::Vertex* hv   = getHexaPtr<HEXA_NS::Vertex*>(iv);
-    HEXA_NS::Vector* hvec = getHexaPtr<HEXA_NS::Vector*>(ivec);
-
-    HEXA_NS::Pipe* hPipe = _hexaDocument->addPipe( hv, hvec, ri, re, h );
-    if ( BadElement(hPipe) ) return iPipe;
-
-    PipeItem* pipe = new PipeItem(hPipe);
-    _pipeDirItem->appendRow(pipe);
-    iPipe = pipe->index();
-
-    return iPipe;
-}
-
-QModelIndex DocumentModel::makePipe( const QModelIndex& ipipe, const QModelIndex& ivecx,
-        int nr, int na, int nl )
-{
-    QModelIndex iElts;
-
-    HEXA_NS::Pipe*   hPipe  = getHexaPtr<HEXA_NS::Pipe*>(ipipe);
-    HEXA_NS::Vector* hVecx  = getHexaPtr<HEXA_NS::Vector*>(ivecx);
-
-    HEXA_NS::Elements* hElts = _hexaDocument->makePipe( hPipe, hVecx, nr, na, nl );
-    if ( BadElement(hElts) ) return iElts;
-
-    updateData(); //CS_TODO more or less?
-    ElementsItem* elts = new ElementsItem(hElts);
-    _elementsDirItem->appendRow(elts);
-    iElts = elts->index();
-
-    return iElts;
-}
-
-//
-QModelIndex DocumentModel::makePipes( const QModelIndex& ipipe1, const QModelIndex& ipipe2 )
-{
-    QModelIndex iCrossElts;
-
-    HEXA_NS::Pipe* hPipe1  = getHexaPtr<HEXA_NS::Pipe*>(ipipe1);
-    HEXA_NS::Pipe* hPipe2  = getHexaPtr<HEXA_NS::Pipe*>(ipipe2);
-
-    HEXA_NS::CrossElements* hCrossElts = _hexaDocument->makePipes( hPipe1, hPipe2 );
-    if ( BadElement(hCrossElts) ) return iCrossElts;
-
-    updateData(); //CS_TODO more or less?
-    ElementsItem* crossElts = new ElementsItem(hCrossElts);
-    _crossElementsDirItem->appendRow(crossElts);
-    iCrossElts = crossElts->index();
-
-    return iCrossElts;
-}
-
-QModelIndex DocumentModel::makeRind( const QModelIndex& icenter,
-        const QModelIndex& ivecx, const QModelIndex& ivecz,
-        double  radext, double radint, double radhole,
-        const QModelIndex& iplorig,
-        int nrad, int nang, int nhaut )
-{
-    QModelIndex iElts;
-
-    HEXA_NS::Vertex* hcenter = getHexaPtr<HEXA_NS::Vertex*>(icenter);
-    HEXA_NS::Vector* hvecx   = getHexaPtr<HEXA_NS::Vector*>(ivecx);
-    HEXA_NS::Vector* hvecz   = getHexaPtr<HEXA_NS::Vector*>(ivecz);
-    HEXA_NS::Vertex* hplorig = getHexaPtr<HEXA_NS::Vertex*>(iplorig);
-
-    HEXA_NS::Elements* hElts = _hexaDocument->makeRind( hcenter,
-            hvecx, hvecz,
-            radext, radint, radhole,
-            hplorig,
-            nrad, nang, nhaut );
-    if ( BadElement(hElts) ) return iElts;
-
-    updateData(); //CS_TODO more or less?
-    ElementsItem* eltsItem = new ElementsItem(hElts);
-    _elementsDirItem->appendRow(eltsItem);
-    iElts = eltsItem->index();
-
-    return iElts;
-}
-
-QModelIndex DocumentModel::makePartRind( const QModelIndex& icenter,
-        const QModelIndex& ivecx, const QModelIndex& ivecz,
-        double  radext, double radint, double radhole,
-        const QModelIndex& iplorig, double angle,
-        int nrad, int nang, int nhaut )
-{
-    QModelIndex iElts;
-
-    HEXA_NS::Vertex* hcenter = getHexaPtr<HEXA_NS::Vertex*>(icenter);
-    HEXA_NS::Vector* hvecx   = getHexaPtr<HEXA_NS::Vector*>(ivecx);
-    HEXA_NS::Vector* hvecz   = getHexaPtr<HEXA_NS::Vector*>(ivecz);
-    HEXA_NS::Vertex* hplorig = getHexaPtr<HEXA_NS::Vertex*>(iplorig);
-
-    HEXA_NS::Elements* hElts = _hexaDocument->makePartRind( hcenter,
-            hvecx, hvecz,
-            radext, radint, radhole,
-            hplorig, angle,
-            nrad, nang, nhaut );
-    if ( BadElement(hElts) ) return iElts;
-
-    updateData();
-    ElementsItem* eltsItem = new ElementsItem(hElts);
-    _elementsDirItem->appendRow(eltsItem);
-    iElts = eltsItem->index();
-
-    return iElts;
-}
-
-QModelIndex DocumentModel::makeSphere( const QModelIndex& icenter,
-        const QModelIndex& ivecx, const QModelIndex& ivecz,
-        double radius, double radhole,
-        const QModelIndex& iplorig,
-        int nrad, int nang, int nhaut )
-{
-    QModelIndex iElts;
-
-    HEXA_NS::Vertex* hcenter = getHexaPtr<HEXA_NS::Vertex*>(icenter);
-    HEXA_NS::Vector* hvecx   = getHexaPtr<HEXA_NS::Vector*>(ivecx);
-    HEXA_NS::Vector* hvecz   = getHexaPtr<HEXA_NS::Vector*>(ivecz);
-    HEXA_NS::Vertex* hplorig = getHexaPtr<HEXA_NS::Vertex*>(iplorig);
-
-    HEXA_NS::Elements* hElts = _hexaDocument->makeSphere( hcenter,
-            hvecx, hvecz,
-            radius, radhole,
-            hplorig,
-            nrad, nang, nhaut);
-    if ( BadElement(hElts) ) return iElts;
-
-    updateData();
-    ElementsItem* eltsItem = new ElementsItem(hElts);
-    _elementsDirItem->appendRow(eltsItem);
-    iElts = eltsItem->index();
-
-    return iElts;
-}
-
-QModelIndex DocumentModel::makePartSphere( const QModelIndex& icenter,
-        const QModelIndex& ivecx, const QModelIndex& ivecz,
-        double  radius, double radhole,
-        const QModelIndex& iplorig, double angle,
-        int nrad, int nang, int nhaut )
-{
-    QModelIndex iElts;
-
-    HEXA_NS::Vertex* hcenter = getHexaPtr<HEXA_NS::Vertex*>(icenter);
-    HEXA_NS::Vector* hvecx   = getHexaPtr<HEXA_NS::Vector*>(ivecx);
-    HEXA_NS::Vector* hvecz   = getHexaPtr<HEXA_NS::Vector*>(ivecz);
-    HEXA_NS::Vertex* hplorig = getHexaPtr<HEXA_NS::Vertex*>(iplorig);
-
-    HEXA_NS::Elements* hElts = _hexaDocument->makePartSphere( hcenter,
-            hvecx, hvecz,
-            radius, radhole,
-            hplorig, angle,
-            nrad, nang, nhaut);
-    if ( BadElement(hElts) ) return iElts;
-
-    updateData();
-    ElementsItem* eltsItem = new ElementsItem(hElts);
-    _elementsDirItem->appendRow(eltsItem);
-    iElts = eltsItem->index();
-
-    return iElts;
-}
-
-QModelIndex DocumentModel::prismQuad( const QModelIndex& iquad, const QModelIndex& ivec, int nb)
-{
-    QModelIndex iElts;
-
-    HEXA_NS::Quad*   hQuad = getHexaPtr<HEXA_NS::Quad*>(iquad);
-    HEXA_NS::Vector* hVect = getHexaPtr<HEXA_NS::Vector*>(ivec);
-
-    HEXA_NS::Elements* hElts = _hexaDocument->prismQuad( hQuad, hVect, nb );
-    if ( BadElement(hElts) ) return iElts;
-
-    updateData(); //CS_TODO more or less?
-    ElementsItem* elts = new ElementsItem(hElts);
-    _elementsDirItem->appendRow(elts);
-    iElts = elts->index();
-
-    return iElts;
-}
-
-QModelIndex DocumentModel::prismQuads( const QModelIndexList& iquads, const QModelIndex& ivec, int nb)
-{
-    QModelIndex iElts;
-
-    HEXA_NS::Quads   hQuads;
-    HEXA_NS::Quad*   hQuad = NULL;
-    foreach( const QModelIndex& iquad, iquads ){
-        hQuad = getHexaPtr<HEXA_NS::Quad*>(iquad);
-        hQuads.push_back( hQuad );
-    }
-    HEXA_NS::Vector* hVect = getHexaPtr<HEXA_NS::Vector*>(ivec);
-
-    HEXA_NS::Elements* hElts = _hexaDocument->prismQuads( hQuads, hVect, nb );
-    if ( BadElement(hElts) ) return iElts;
-
-    updateData(); //CS_TODO more or less?
-    ElementsItem* elts = new ElementsItem(hElts);
-    _elementsDirItem->appendRow(elts);
-    iElts = elts->index();
-
-    return iElts;
-}
-
-QModelIndex DocumentModel::prismQuads( const QModelIndexList& iquads, const QModelIndex& ivec, std::vector<double> layersSize, int nb)
-{
-    QModelIndex iElts;
-
-    HEXA_NS::Quads   hQuads;
-    HEXA_NS::Quad*   hQuad = NULL;
-    foreach( const QModelIndex& iquad, iquads ){
-        hQuad = getHexaPtr<HEXA_NS::Quad*>(iquad);
-        hQuads.push_back( hQuad );
-    }
-    HEXA_NS::Vector* hVect = getHexaPtr<HEXA_NS::Vector*>(ivec);
-
-    HEXA_NS::Elements* hElts = _hexaDocument->prismQuadsVec( hQuads, hVect, layersSize, nb );
-    if ( BadElement(hElts) ) return iElts;
-
-    updateData(); //CS_TODO more or less?
-    ElementsItem* elts = new ElementsItem(hElts);
-    _elementsDirItem->appendRow(elts);
-    iElts = elts->index();
-
-    return iElts;
-}
-
-//
-QModelIndex DocumentModel::joinQuad(
-        const QModelIndex& iquadstart, const QModelIndex& iquaddest,
-        const QModelIndex& iv0, const QModelIndex& iv1,
-        const QModelIndex& iv2, const QModelIndex& iv3,
-        int nb )
-{
-    QModelIndex iElts;
-
-    HEXA_NS::Quad*   hQuadStart  = getHexaPtr<HEXA_NS::Quad*>(iquadstart);
-    HEXA_NS::Quad*   hQuadDest   = getHexaPtr<HEXA_NS::Quad*>(iquaddest);
-
-    HEXA_NS::Vertex* hVertex0 = getHexaPtr<HEXA_NS::Vertex*>(iv0);
-    HEXA_NS::Vertex* hVertex1 = getHexaPtr<HEXA_NS::Vertex*>(iv1);
-    HEXA_NS::Vertex* hVertex2 = getHexaPtr<HEXA_NS::Vertex*>(iv2);
-    HEXA_NS::Vertex* hVertex3 = getHexaPtr<HEXA_NS::Vertex*>(iv3);
-
-    HEXA_NS::Elements* hElts = _hexaDocument->joinQuad( hQuadStart, hQuadDest,
-            hVertex0,  hVertex1,  hVertex2,  hVertex3, nb );
-    if ( BadElement(hElts) ) return iElts;
-
-    updateData(); //CS_TODO more or less?
-    ElementsItem* elts = new ElementsItem(hElts);
-    _elementsDirItem->appendRow(elts);
-    iElts = elts->index();
-
-    return iElts;
-}
-
-QModelIndex DocumentModel::joinQuads(
-        const QModelIndexList& iquadsstart, const QModelIndex& iquaddest,
-        const QModelIndex& iv0, const QModelIndex& iv1,
-        const QModelIndex& iv2, const QModelIndex& iv3,
-        int nb )
-{
-    QModelIndex iElts;
-
-    HEXA_NS::Quad*   hQuadStart;
-    HEXA_NS::Quads  hQuadsStart;
-
-    foreach( const QModelIndex& iquad, iquadsstart ){
-        hQuadStart = data( iquad, HEXA_DATA_ROLE ).value<HEXA_NS::Quad *>();
-        hQuadsStart.push_back( hQuadStart );
-    }
-    HEXA_NS::Quad*   hQuadDest = data( iquaddest, HEXA_DATA_ROLE ).value<HEXA_NS::Quad *>();
-
-    HEXA_NS::Vertex* hVertex0 = getHexaPtr<HEXA_NS::Vertex*>(iv0);
-    HEXA_NS::Vertex* hVertex1 = getHexaPtr<HEXA_NS::Vertex*>(iv1);
-    HEXA_NS::Vertex* hVertex2 = getHexaPtr<HEXA_NS::Vertex*>(iv2);
-    HEXA_NS::Vertex* hVertex3 = getHexaPtr<HEXA_NS::Vertex*>(iv3);
-
-    HEXA_NS::Elements* hElts = _hexaDocument->joinQuads(
-            hQuadsStart, hQuadDest,
-            hVertex0,  hVertex1,  hVertex2,  hVertex3,
-            nb );
-    if ( BadElement(hElts) ) return iElts;
-
-    updateData(); //CS_TODO more or less?
-    ElementsItem* elts = new ElementsItem(hElts);
-    _elementsDirItem->appendRow(elts);
-    iElts = elts->index();
-
-    return iElts;
-}
-
-QModelIndex DocumentModel::cutEdge( const QModelIndex &i_e0, int nbcuts )
-//CS_TODO : impact sur le model?
-{
-    QModelIndex iElts;
-
-    HEXA_NS::Edge* he0 = getHexaPtr<HEXA_NS::Edge*>(i_e0);
-    HEXA_NS::Elements* helts = _hexaDocument->cut( he0, nbcuts );
-
-    if ( BadElement(helts) ) return iElts;
-
-    updateData(); //CS_TODO more?
-    ElementsItem* elts = new ElementsItem(helts);
-    _elementsDirItem->appendRow(elts);
-    iElts = elts->index();
-
-    return iElts;
-}
-
-// ===================================== END OBSOLETE ==========================================
-
index 96fd2c4236a2cd3f940fd3e96e3c5f9760db81f3..ad6f6249e0c0f3242c11285a2a487c233bf0f085 100755 (executable)
@@ -56,16 +56,6 @@ namespace HEXABLOCK
       typedef HEXA_NS::EnumGroup Group;
       typedef HEXA_NS::KindLaw   KindLaw;
 
-//      struct GeomObj
-//      {
-//        QString shapeName;
-//        QString name;
-//        QString subid; // sub-shape id
-//        QString brep;
-//        double  start;
-//        double  end;
-//      };
-
       typedef QList<GeomObj> GeomObjList;
 
       DocumentModel( HEXA_NS::Document* doc, const QString& entry, QObject * parent = 0 );
@@ -136,7 +126,7 @@ namespace HEXABLOCK
       int getNbrUsedElt(HEXA_NS::EnumElt eltType);
       int getNbrUnusedElt(HEXA_NS::EnumElt eltType);
 
-      QModelIndex addToElementsTree(HEXA_NS::Elements* helts);
+      QModelIndex addElementsToTree(HEXA_NS::Elements* helts, QStandardItem* tree);
 
       //associate a shape to the current document
       bool addShape(TopoDS_Shape& forme, QString& shapeName, bool publish=true);
@@ -199,89 +189,10 @@ namespace HEXABLOCK
       QModelIndex addVectorVertices( const QModelIndex &i_v0, const QModelIndex &i_v1 );
 
       //
-      QModelIndex addCylinder( const QModelIndex &iv, const QModelIndex &ivec, double r,  double h );
-
-      //
-      QModelIndex addPipe( const QModelIndex &iv, const QModelIndex &ivec, double ri, double re, double h );
-
-
-      // ===================== OBSOLETE =================================
-      QModelIndex makeCartesian( const QModelIndex& ivex,
-          const QModelIndex& ivecx, const QModelIndex& ivecy, const QModelIndex& ivecz,
-          long nx, long ny, long nz);
-
-      QModelIndex makeCartesian( const QModelIndex& ivex,
-          const QModelIndex& ivec,
-          int nx, int ny, int nz );
-
-      QModelIndex makeCylindrical( const QModelIndex& i_pt,
-                                   const QModelIndex& i_vx, const QModelIndex& i_vz,
-                                   double dr, double da, double dl,
-                                   long nr, long na, long nl,
-                                   bool fill  = false );
-
-      QModelIndex makeCylindricals(
-          const QModelIndex& i_center, const QModelIndex& i_base, const QModelIndex& i_height,
-          QList< double>     i_radius, QList<double> i_angles,    QList<double> i_heights,
-          bool fill = false ); //NEW HEXA3
-
-      QModelIndex makeSpherical( const QModelIndex& i_v, const QModelIndex& i_vec, int nb, double k = 1 ); //CS_TO_DEL
-
-      QModelIndex makeSpherical( const QModelIndex& i_center, double rayon, int nb, double k = 1 );
-
-      QModelIndex makeCylinder( const QModelIndex& cyl, const QModelIndex& vec,
-                                int nr, int na, int nl );
-
-      QModelIndex makeCylinders(const QModelIndex& cyl1, const QModelIndex& cyl2);
-
-      //
-      QModelIndex makePipe( const QModelIndex& pipe, const QModelIndex& vecx,
-              int nr, int na, int nl );
-
-      //
-      QModelIndex makePipes( const QModelIndex& pipe1, const QModelIndex& pipe2 );
-
-      QModelIndex makeRind( const QModelIndex& center, const QModelIndex& vecx, const QModelIndex& vecz,
-                            double  radext, double radint, double radhole,
-                            const QModelIndex& plorig,
-                            int nrad, int nang, int nhaut ); //NEW HEXA3
-
-      QModelIndex makePartRind( const QModelIndex& center, const QModelIndex& vecx, const QModelIndex& vecz,
-                                double  radext, double radint, double radhole,
-                                const QModelIndex& plorig, double angle,
-                                int nrad, int nang, int nhaut ); //NEW HEXA3
-
-      QModelIndex makeSphere( const QModelIndex& center, const QModelIndex& vecx, const QModelIndex& vecz,
-                              double radius, double radhole,
-                              const QModelIndex& plorig,
-                              int nrad, int nang, int nhaut ); //NEW HEXA3
-
-      QModelIndex makePartSphere( const QModelIndex& center, const QModelIndex& vecx, const QModelIndex& vecz,
-                                  double  radius, double radhole,
-                                  const QModelIndex& plorig, double angle,
-                                  int nrad, int nang, int nhaut ); //NEW HEXA3
-
-      // OBSOLETE: replaced by extrudeQuad...
-      QModelIndex prismQuad( const QModelIndex& quad, const QModelIndex& dv, int nb);
-      QModelIndex prismQuads( const QModelIndexList& quads, const QModelIndex& dv, int nb);
-      QModelIndex prismQuads( const QModelIndexList& quads, const QModelIndex& dv, std::vector<double>, int nb=0);
-
-      //
-      QModelIndex joinQuad( const QModelIndex& start_q, const QModelIndex& dest_q,
-                            const QModelIndex& v0, const QModelIndex& v1,
-                            const QModelIndex& v2, const QModelIndex& v3, int nb );
-
-      QModelIndex joinQuads( const QModelIndexList& start_q, const QModelIndex& dest_q,
-                             const QModelIndex& v0, const QModelIndex& v1,
-                             const QModelIndex& v2, const QModelIndex& v3, int nb );
-
-      QModelIndex revolutionQuads( const QModelIndexList& startQuads, const QModelIndex& center,
-                                   const QModelIndex& vec_axis, const QList<double>& angles); //NEW HEXA3
-
-      //
-      QModelIndex cutEdge( const QModelIndex &e, int nbcuts );
-
-      // ======================= END OBSOLETE =================================
+//      QModelIndex addCylinder( const QModelIndex &iv, const QModelIndex &ivec, double r,  double h );
+//
+//      //
+//      QModelIndex addPipe( const QModelIndex &iv, const QModelIndex &ivec, double ri, double re, double h );
 
 
 
@@ -552,8 +463,6 @@ namespace HEXABLOCK
 
       //builder
       QStandardItem     *_vectorDirItem;
-      QStandardItem     *_cylinderDirItem;
-      QStandardItem     *_pipeDirItem;
       QStandardItem     *_elementsDirItem;
       QStandardItem     *_crossElementsDirItem;
 
@@ -579,8 +488,6 @@ namespace HEXABLOCK
       Qt::ItemFlags     _hexaItemFlags;
 
       Qt::ItemFlags     _vectorItemFlags;
-      Qt::ItemFlags     _cylinderItemFlags;
-      Qt::ItemFlags     _pipeItemFlags;
       Qt::ItemFlags     _elementsItemFlags;
       Qt::ItemFlags     _crossElementsItemFlags;
 
index 9c5ef829ce710419596ad9747b1094760e985bf6..2bf2f297835078686db2de53c02e9a058e9025cc 100755 (executable)
@@ -137,8 +137,8 @@ HexaBaseDialog::HexaBaseDialog( QWidget * parent, Mode editmode, Qt::WindowFlags
     _strHexaWidgetType[HEXA_TREE]   = tr( "HEXA" );
 
     _strHexaWidgetType[VECTOR_TREE]   = tr( "VECTOR" );
-    _strHexaWidgetType[CYLINDER_TREE] = tr( "CYLINDER" );
-    _strHexaWidgetType[PIPE_TREE]     = tr( "PIPE" );
+//    _strHexaWidgetType[CYLINDER_TREE] = tr( "CYLINDER" );
+//    _strHexaWidgetType[PIPE_TREE]     = tr( "PIPE" );
     _strHexaWidgetType[ELEMENTS_TREE] = tr( "ELEMENTS" );
     _strHexaWidgetType[CROSSELEMENTS_TREE]= tr( "CROSSELEMENTS" );
 
@@ -535,8 +535,8 @@ QItemSelectionModel* HexaBaseDialog::_getSelector( QObject* obj )
     case QUAD_TREE:
     case HEXA_TREE: selector = getPatternDataSelectionModel(); break;
     case VECTOR_TREE:
-    case CYLINDER_TREE:
-    case PIPE_TREE:
+//    case CYLINDER_TREE:
+//    case PIPE_TREE:
     case ELEMENTS_TREE:
     case CROSSELEMENTS_TREE: selector = getPatternBuilderSelectionModel(); break;
     case GEOMPOINT_TREE:
@@ -1903,7 +1903,7 @@ MakeGridDialog::MakeGridDialog( QWidget* parent, Mode editmode, Qt::WindowFlags
     _initWidget(editmode);
     rb0->click();
 
-    _helpFileName = "creategrids.html#guicartgrid";
+    _helpFileName = "creategrids.html#guicartgridsimple";
     connect( rb0, SIGNAL(clicked()), this, SLOT(updateHelpFileName()) );
     connect( rb0, SIGNAL(clicked()), this, SLOT(clearVTKSelection()) );
     connect( rb0, SIGNAL(clicked()), this, SLOT(clearCurrentObjectFocus()) );
@@ -1944,7 +1944,7 @@ void MakeGridDialog::_initInputWidget( Mode editmode )
     radius_lw->setItemDelegate(new HexaPositiveDoubleSpinBoxDelegate(radius_lw));
     radius_lw->setEditTriggers(QAbstractItemView::DoubleClicked);
 
-    angle_lw->setItemDelegate(new HexaAngleDoubleSpinBoxDelegate(angle_lw));
+    angle_lw->setItemDelegate(new HexaPositiveDoubleSpinBoxDelegate(angle_lw));
     angle_lw->setEditTriggers(QAbstractItemView::DoubleClicked);
 
     height_lw->setItemDelegate(new HexaPositiveDoubleSpinBoxDelegate(height_lw));
@@ -1982,11 +1982,11 @@ void MakeGridDialog::clear()
 void MakeGridDialog::updateHelpFileName()
 {
     if ( sender() == rb0 ){
-        _helpFileName = "creategrids.html#guicartgrid";
+        _helpFileName = "creategrids.html#guicartgridsimple";
     } else if ( sender() == rb1 ){
-        _helpFileName = "creategrids.html#guicylgrid";
+        _helpFileName = "creategrids.html#guicartgriduniform";
     } else if ( sender() == rb2 ){
-        _helpFileName = "creategrids.html#guisphergrid";
+        _helpFileName = "creategrids.html#guicartgridcustom";
     }
 }
 
@@ -2017,7 +2017,7 @@ void MakeGridDialog::addAngleItem()
     QListWidgetItem* previousItem = angle_lw->currentItem();
     QListWidgetItem* newItem      = new QListWidgetItem();
 
-    double defaultValue = 180.;
+    double defaultValue = 1.;
     if ( previousItem )
         defaultValue = previousItem->data(Qt::EditRole).toDouble();
 
@@ -2080,15 +2080,15 @@ bool MakeGridDialog::apply(QModelIndex& result)
 
         if ( icenter.isValid() && iaxis.isValid() && ibase.isValid() && ivec.isValid() )
         {
-                double nx = nx_spb->value();
-                double ny = ny_spb->value();
-                double nz = nz_spb->value();
-                double lx = lx_spb->value();
-                double ly = ly_spb->value();
-                double lz = lz_spb->value();
-
-                iNewElts = docModel->makeCartesianUni( icenter, ibase, ivec, iaxis,
-                                                       nx, ny, nz, lx, ly, lz);
+            double lx = lx_spb->value();
+            double ly = ly_spb->value();
+            double lz = lz_spb->value();
+            double nx = nx_spb->value();
+            double ny = ny_spb->value();
+            double nz = nz_spb->value();
+
+            iNewElts = docModel->makeCartesianUni( icenter, ibase, ivec, iaxis,
+                                                   lx, ly, lz, nx, ny, nz);
         }
 
     } else if ( rb2->isChecked() )
@@ -2106,21 +2106,21 @@ bool MakeGridDialog::apply(QModelIndex& result)
             vector<double> angles;
             vector<double> heights;
 
-            double somme = 0.;
+//            double somme = 0.;
             int nbAngles = angle_lw->count();
             for ( int r = 0; r < nbAngles; ++r){
                 item = angle_lw->item(r);
                 double itemValue = item->data(Qt::EditRole).toDouble();
                 angles.push_back(itemValue);
-                somme += itemValue;
-            }
-            if (somme > 360.01)
-            {
-                SUIT_MessageBox::information( 0,
-                        tr("HEXA_INFO"),
-                        tr("The sum of the picked angles has to be \nless or equal than %1 degrees.").arg(360));
-                return false;
+//                somme += itemValue;
             }
+//            if (somme > 360.01)
+//            {
+//                SUIT_MessageBox::information( 0,
+//                        tr("HEXA_INFO"),
+//                        tr("The sum of the picked angles has to be \nless or equal than %1 degrees.").arg(360));
+//                return false;
+//            }
 
             int nbRadius = radius_lw->count();
             for ( int r = 0; r < nbRadius; ++r){
@@ -2156,8 +2156,11 @@ bool MakeGridDialog::apply(QModelIndex& result)
 MakeCylinderDialog::MakeCylinderDialog( QWidget* parent, Mode editmode, Qt::WindowFlags f )
 : HexaBaseDialog(parent, editmode, f)
 {
-    _helpFileName = "gui_blocks_for_cyl_pipe.html#make-cylinder";
     setupUi( this );
+    _helpFileName = "gui_blocks_for_cyl_pipe.html#guicylinder";
+    connect( rb0, SIGNAL(clicked()), this, SLOT(updateHelpFileName()) );
+    connect( rb1, SIGNAL(clicked()), this, SLOT(updateHelpFileName()) );
+    connect( rb2, SIGNAL(clicked()), this, SLOT(updateHelpFileName()) );
     _initWidget(editmode);
 
     rb0->click();
@@ -2202,6 +2205,18 @@ void MakeCylinderDialog::_initInputWidget( Mode editmode )
     connect( del_height_pb, SIGNAL(clicked()), this, SLOT(delHeightItem()) );
 }
 
+// ============================================================== updateHelpFileName
+void MakeCylinderDialog::updateHelpFileName()
+{
+    if ( sender() == rb0 ){
+        _helpFileName = "gui_blocks_for_cyl_pipe.html#guicylindersimple";
+    } else if ( sender() == rb1 ){
+        _helpFileName = "gui_blocks_for_cyl_pipe.html#guicylinderuniform";
+    } else if ( sender() == rb2 ){
+        _helpFileName = "gui_blocks_for_cyl_pipe.html#guicylindercustom";
+    }
+}
+
 // ============================================================== addRadiusItem
 void MakeCylinderDialog::addRadiusItem()
 {
@@ -2318,21 +2333,21 @@ bool MakeCylinderDialog::apply(QModelIndex& result)
         vector<double> angles;
         vector<double> heights;
 
-        double somme = 0.;
+//        double somme = 0.;
         int nbAngles = angle_lw->count();
         for ( int r = 0; r < nbAngles; ++r){
             item = angle_lw->item(r);
             double itemValue = item->data(Qt::EditRole).toDouble();
             angles.push_back(itemValue);
-            somme += itemValue;
-        }
-        if (somme > 360.01)
-        {
-            SUIT_MessageBox::information( 0,
-                    tr("HEXA_INFO"),
-                    tr("The sum of the picked angles has to be \nless or equal than %1 degrees.").arg(360));
-            return false;
+//            somme += itemValue;
         }
+//        if (somme > 360.01)
+//        {
+//            SUIT_MessageBox::information( 0,
+//                    tr("HEXA_INFO"),
+//                    tr("The sum of the picked angles has to be \nless or equal than %1 degrees.").arg(360));
+//            return false;
+//        }
 
         int nbRadius = radius_lw->count();
         for ( int r = 0; r < nbRadius; ++r){
@@ -2367,8 +2382,11 @@ bool MakeCylinderDialog::apply(QModelIndex& result)
 MakePipeDialog::MakePipeDialog( QWidget* parent, Mode editmode, Qt::WindowFlags f )
 : HexaBaseDialog(parent, editmode, f)
 {
-    _helpFileName = "gui_blocks_for_cyl_pipe.html#make-pipe";
-    setupUi( this );
+       setupUi( this );
+       _helpFileName = "gui_blocks_for_cyl_pipe.html#guipipe";
+       connect( rb0, SIGNAL(clicked()), this, SLOT(updateHelpFileName()) );
+       connect( rb1, SIGNAL(clicked()), this, SLOT(updateHelpFileName()) );
+       connect( rb2, SIGNAL(clicked()), this, SLOT(updateHelpFileName()) );
     _initWidget(editmode);
     rb0->click();
 }
@@ -2413,6 +2431,19 @@ void MakePipeDialog::_initInputWidget( Mode editmode )
     connect( del_height_pb, SIGNAL(clicked()), this, SLOT(delHeightItem()) );
 }
 
+
+// ============================================================== updateHelpFileName
+void MakePipeDialog::updateHelpFileName()
+{
+    if ( sender() == rb0 ){
+        _helpFileName = "gui_blocks_for_cyl_pipe.html#guipipesimple";
+    } else if ( sender() == rb1 ){
+        _helpFileName = "gui_blocks_for_cyl_pipe.html#guipipeuniform";
+    } else if ( sender() == rb2 ){
+        _helpFileName = "gui_blocks_for_cyl_pipe.html#guipipecustom";
+    }
+}
+
 // ============================================================== addRadiusItem
 void MakePipeDialog::addRadiusItem()
 {
@@ -2530,21 +2561,21 @@ bool MakePipeDialog::apply(QModelIndex& result)
         vector<double> angles;
         vector<double> heights;
 
-        double somme = 0.;
+//        double somme = 0.;
         int nbAngles = angle_lw->count();
         for ( int r = 0; r < nbAngles; ++r){
             item = angle_lw->item(r);
             double itemValue = item->data(Qt::EditRole).toDouble();
             angles.push_back(itemValue);
-            somme += itemValue;
-        }
-        if (somme > 360.01)
-        {
-            SUIT_MessageBox::information( 0,
-                    tr("HEXA_INFO"),
-                    tr("The sum of the picked angles has to be \nless or equal than %1 degrees.").arg(360));
-            return false;
+//            somme += itemValue;
         }
+//        if (somme > 360.01)
+//        {
+//            SUIT_MessageBox::information( 0,
+//                    tr("HEXA_INFO"),
+//                    tr("The sum of the picked angles has to be \nless or equal than %1 degrees.").arg(360));
+//            return false;
+//        }
 
         int nbRadius = radius_lw->count();
         for ( int r = 0; r < nbRadius; ++r){
@@ -2578,7 +2609,7 @@ bool MakePipeDialog::apply(QModelIndex& result)
 MakeCylindersDialog::MakeCylindersDialog( QWidget* parent, Mode editmode, Qt::WindowFlags f )
 : HexaBaseDialog(parent, editmode, f)
 {
-    _helpFileName = "gui_blocks_for_cyl_pipe.html#make-cylinders";
+    _helpFileName = "gui_blocks_for_cyl_pipe.html#guicylinders";
     setupUi( this );
     _initWidget(editmode);
 }
@@ -2665,7 +2696,7 @@ bool MakeCylindersDialog::apply(QModelIndex& result)
 MakePipesDialog::MakePipesDialog( QWidget* parent, Mode editmode, Qt::WindowFlags f )
 : HexaBaseDialog(parent, editmode, f)
 {
-    _helpFileName = "gui_blocks_for_cyl_pipe.html#make-pipes";
+    _helpFileName = "gui_blocks_for_cyl_pipe.html#guipipes";
     setupUi( this );
     _initWidget(editmode);
 }
@@ -2825,8 +2856,11 @@ bool RemoveHexaDialog::apply(QModelIndex& result)
 PrismQuadDialog::PrismQuadDialog( QWidget* parent, Mode editmode, Qt::WindowFlags f )
 : HexaBaseDialog(parent, editmode, f)
 {
-    _helpFileName = "gui_prism_join_quad.html#prism-quadrangles";
-    setupUi( this );
+       setupUi( this );
+    _helpFileName = "gui_prism_join_quad.html#guiextrudequads";
+    connect( extrudeTop_rb, SIGNAL(clicked()), this, SLOT(updateHelpFileName()) );
+    connect( extrudeUni_rb, SIGNAL(clicked()), this, SLOT(updateHelpFileName()) );
+    connect( extrude_rb, SIGNAL(clicked()), this, SLOT(updateHelpFileName()) );
     _initWidget(editmode);
     extrudeTop_rb->click();
 }
@@ -2882,6 +2916,18 @@ void PrismQuadDialog::_initInputWidget( Mode editmode )
     connect( del_height_pb, SIGNAL(clicked()), this, SLOT(delHeightItem()) );
 }
 
+// ============================================================== updateHelpFileName
+void PrismQuadDialog::updateHelpFileName()
+{
+    if ( sender() == extrudeTop_rb ){
+        _helpFileName = "gui_prism_join_quad.html#guiextrudequadssimple";
+    } else if ( sender() == extrudeUni_rb ){
+        _helpFileName = "gui_prism_join_quad.html#guiextrudequadsuniform";
+    } else if ( sender() == extrude_rb ){
+        _helpFileName = "gui_prism_join_quad.html#guiextrudequadscustom";
+    }
+}
+
 // ============================================================== clear
 void PrismQuadDialog::clear()
 {
@@ -2988,8 +3034,10 @@ bool PrismQuadDialog::apply(QModelIndex& result)
 JoinQuadDialog::JoinQuadDialog( QWidget* parent, Mode editmode, Qt::WindowFlags f )
 : HexaBaseDialog(parent, editmode, f)
 {
-    _helpFileName = "gui_prism_join_quad.html#join-quadrangles";
-    setupUi( this );
+       setupUi( this );
+       _helpFileName = "gui_prism_join_quad.html#guijoinquads";
+       connect( joinUni_rb, SIGNAL(clicked()), this, SLOT(updateHelpFileName()) );
+       connect( join_rb, SIGNAL(clicked()), this, SLOT(updateHelpFileName()) );
     _initWidget(editmode);
     joinUni_rb->click();
 }
@@ -3062,6 +3110,16 @@ void JoinQuadDialog::_initInputWidget( Mode editmode )
     connect( del_height_pb, SIGNAL(clicked()), this, SLOT(delHeightItem()) );
 }
 
+// ============================================================== updateHelpFileName
+void JoinQuadDialog::updateHelpFileName()
+{
+    if ( sender() == joinUni_rb ){
+        _helpFileName = "gui_prism_join_quad.html#guijoinquadsuniform";
+    } else if ( sender() == join_rb ){
+        _helpFileName = "gui_prism_join_quad.html#guijoinquadscustom";
+    }
+}
+
 // ============================================================== addHeightItem
 void JoinQuadDialog::addHeightItem()
 {
@@ -3658,8 +3716,10 @@ bool DisconnectDialog::apply(QModelIndex& result)
 CutEdgeDialog::CutEdgeDialog( QWidget* parent, Mode editmode, Qt::WindowFlags f ):
 HexaBaseDialog(parent, editmode, f)
 {
-    _helpFileName = "gui_cut_hexa.html";
     setupUi( this );
+    _helpFileName = "gui_cut_hexa.html";
+    connect( cutUni_rb, SIGNAL(clicked()), this, SLOT(updateHelpFileName()) );
+    connect( cut_rb, SIGNAL(clicked()), this, SLOT(updateHelpFileName()) );
     _initWidget(editmode);
 
     cutUni_rb->click();
@@ -3687,6 +3747,16 @@ void CutEdgeDialog::_initInputWidget( Mode editmode )
     connect( del_height_pb, SIGNAL(clicked()), this, SLOT(delHeightItem()) );
 }
 
+// ============================================================== updateHelpFileName
+void CutEdgeDialog::updateHelpFileName()
+{
+    if ( sender() == cutUni_rb ){
+        _helpFileName = "gui_cut_hexa.html#guicuthexauniform";
+    } else if ( sender() == cut_rb ){
+        _helpFileName = "gui_cut_hexa.html#guicuthexacustom";
+    }
+}
+
 // ============================================================== clear
 void CutEdgeDialog::clear()
 {
@@ -5748,8 +5818,10 @@ bool ReplaceHexaDialog::apply(QModelIndex& result)
 QuadRevolutionDialog::QuadRevolutionDialog( QWidget* parent, Mode editmode, Qt::WindowFlags f ):
          HexaBaseDialog(parent, editmode, f)
 {
-    _helpFileName = "gui_quad_revolution.html";
     setupUi( this );
+    _helpFileName = "gui_quad_revolution.html#guiquadsrevolution";
+    connect( revolutionUni_rb, SIGNAL(clicked()), this, SLOT(updateHelpFileName()) );
+    connect( revolution_rb, SIGNAL(clicked()), this, SLOT(updateHelpFileName()) );
     _initWidget(editmode);
     revolutionUni_rb->click();
 }
@@ -5810,6 +5882,16 @@ void QuadRevolutionDialog::_initInputWidget( Mode editmode )
     connect(quads_lw,    SIGNAL(itemSelectionChanged()), this, SLOT(selectElementOfModel()), Qt::UniqueConnection);
 }
 
+// ============================================================== updateHelpFileName
+void QuadRevolutionDialog::updateHelpFileName()
+{
+    if ( sender() == revolutionUni_rb ){
+        _helpFileName = "gui_quad_revolution.html#guiquadsrevolutionuniform";
+    } else if ( sender() == revolution_rb ){
+        _helpFileName = "gui_quad_revolution.html#guiquadsrevolutioncustom";
+    }
+}
+
 // ============================================================== clear
 void QuadRevolutionDialog::clear()
 {
@@ -5994,6 +6076,28 @@ void MakeHemiSphereDialog::_initInputWidget( Mode editmode )
     connect( del_height_pb, SIGNAL(clicked()), this, SLOT(delHeightItem()) );
 }
 
+// ============================================================== updateHelpFileName
+void MakeHemiSphereDialog::updateHelpFileName()
+{
+    if ( sender() == sphereTop_rb || sender() == rindTop_rb ){
+        _helpFileName = "gui_hemisphere.html#guisphereandrindsimple";
+    } else if ( sender() == sphereUni_rb ){
+        _helpFileName = "gui_hemisphere.html#guisphereuniform";
+    } else if ( sender() == sphere2_rb ){
+        _helpFileName = "gui_hemisphere.html#guispherecustom";
+    } else if ( sender() == rindUni_rb ){
+        _helpFileName = "gui_hemisphere.html#guirinduniform";
+    } else if ( sender() == rind2_rb ){
+        _helpFileName = "gui_hemisphere.html#guirindcustom";
+    } else if ( sender() == sphericalTop_rb ){
+        _helpFileName = "gui_hemisphere.html#guiconcentricsimple";
+    } else if ( sender() == sphericalUni_rb ){
+        _helpFileName = "gui_hemisphere.html#guiconcentricuniform";
+    } else if ( sender() == spherical2_rb ){
+        _helpFileName = "gui_hemisphere.html#guiconcentriccustom";
+    }
+}
+
 // ============================================================== addRadiusItem
 void MakeHemiSphereDialog::addRadiusItem1()
 {
@@ -6078,11 +6182,6 @@ void MakeHemiSphereDialog::delHeightItem()
     delete height_lw->currentItem();
 }
 
-// ============================================================== updateHelpFileName
-void MakeHemiSphereDialog::updateHelpFileName()
-{
-}
-
 // ============================================================== clear
 void MakeHemiSphereDialog::clear()
 {
@@ -6137,13 +6236,13 @@ bool MakeHemiSphereDialog::apply(QModelIndex& result)
     vector<double> heights;
 
     //angles collection
-    double somme = 0.;
+//    double somme = 0.;
     int nbAngles = angle_lw->count();
     for ( int r = 0; r < nbAngles; ++r){
         item = angle_lw->item(r);
         double itemValue = item->data(Qt::EditRole).toDouble();
         angles.push_back(itemValue);
-        somme += itemValue;
+//        somme += itemValue;
     }
 
     //radius1 collection
@@ -6179,13 +6278,13 @@ bool MakeHemiSphereDialog::apply(QModelIndex& result)
         }
         else if (sphere2_rb->isChecked())
         {
-            if (somme > 360.01)
-            {
-                SUIT_MessageBox::information( 0,
-                        tr("HEXA_INFO"),
-                        tr("The sum of the picked angles has to be \nless or equal than %1 degrees.").arg(360));
-                return false;
-            }
+//            if (somme > 360.01)
+//            {
+//                SUIT_MessageBox::information( 0,
+//                        tr("HEXA_INFO"),
+//                        tr("The sum of the picked angles has to be \nless or equal than %1 degrees.").arg(360));
+//                return false;
+//            }
             if (icenter.isValid() && ivecx.isValid() && ivecz.isValid())
                 iElts = docModel->makeSphere(icenter, ivecx, ivecz, radius2, angles, heights);
         }
@@ -6218,13 +6317,13 @@ bool MakeHemiSphereDialog::apply(QModelIndex& result)
         }
         else if (rind2_rb->isChecked())
         {
-            if (somme > 360.01)
-            {
-                SUIT_MessageBox::information( 0,
-                        tr("HEXA_INFO"),
-                        tr("The sum of the picked angles has to be \nless or equal than %1 degrees.").arg(360));
-                return false;
-            }
+//            if (somme > 360.01)
+//            {
+//                SUIT_MessageBox::information( 0,
+//                        tr("HEXA_INFO"),
+//                        tr("The sum of the picked angles has to be \nless or equal than %1 degrees.").arg(360));
+//                return false;
+//            }
             if (icenter.isValid() && ivecx.isValid() && ivecz.isValid())
                 iElts = docModel->makeRind(icenter, ivecx, ivecz, radius2, angles, heights);
         }
@@ -6490,42 +6589,42 @@ HEXA_NS::Cylinder* CylinderDialog::getValue()
 // ============================================================== apply
 bool CylinderDialog::apply(QModelIndex& result)
 {
-    if (_currentObj != NULL) _highlightWidget(_currentObj, Qt::white);
-    _currentObj = NULL;
-
-    if ( !getDocumentModel() ) return false;
-    const PatternDataModel*    patternDataModel    = getPatternDataModel();
-    const PatternBuilderModel* patternBuilderModel = getPatternBuilderModel();
-    if ( !patternDataModel || !patternBuilderModel) return false;
-
-    QModelIndex iCyl;
-    QModelIndex ivex = patternDataModel->mapToSource( _index[vex_le] );
-    QModelIndex ivec = patternBuilderModel->mapToSource( _index[vec_le] );
-    double r = r_spb->value();
-    double h = h_spb->value();
-
-    if ( ivex.isValid()
-            && ivec.isValid() ){
-        iCyl = getDocumentModel()->addCylinder( ivex, ivec, r,  h );
-    }
-
-    if ( !iCyl.isValid() ){
-        SUIT_MessageBox::critical( this, tr( "ERR_ERROR" ), tr( "CANNOT ADD CYLINDER" ) );
-        return false;
-    }
-
-    _value  = iCyl.model()->data(iCyl, HEXA_DATA_ROLE).value<HEXA_NS::Cylinder *>();
-
-    QString newName = name_le->text();
-    if (!newName.isEmpty()) /*{*/
-        getDocumentModel()->setName( iCyl, newName );
-
-    //update the default name in the dialog box
-    if (_value != NULL)
-        updateDefaultName(name_le, _value->getType());
-
-    // to select/highlight result
-    result = patternBuilderModel->mapFromSource(iCyl);
+//    if (_currentObj != NULL) _highlightWidget(_currentObj, Qt::white);
+//    _currentObj = NULL;
+//
+//    if ( !getDocumentModel() ) return false;
+//    const PatternDataModel*    patternDataModel    = getPatternDataModel();
+//    const PatternBuilderModel* patternBuilderModel = getPatternBuilderModel();
+//    if ( !patternDataModel || !patternBuilderModel) return false;
+//
+//    QModelIndex iCyl;
+//    QModelIndex ivex = patternDataModel->mapToSource( _index[vex_le] );
+//    QModelIndex ivec = patternBuilderModel->mapToSource( _index[vec_le] );
+//    double r = r_spb->value();
+//    double h = h_spb->value();
+//
+//    if ( ivex.isValid()
+//            && ivec.isValid() ){
+//        iCyl = getDocumentModel()->addCylinder( ivex, ivec, r,  h );
+//    }
+//
+//    if ( !iCyl.isValid() ){
+//        SUIT_MessageBox::critical( this, tr( "ERR_ERROR" ), tr( "CANNOT ADD CYLINDER" ) );
+//        return false;
+//    }
+//
+//    _value  = iCyl.model()->data(iCyl, HEXA_DATA_ROLE).value<HEXA_NS::Cylinder *>();
+//
+//    QString newName = name_le->text();
+//    if (!newName.isEmpty()) /*{*/
+//        getDocumentModel()->setName( iCyl, newName );
+//
+//    //update the default name in the dialog box
+//    if (_value != NULL)
+//        updateDefaultName(name_le, _value->getType());
+//
+//    // to select/highlight result
+//    result = patternBuilderModel->mapFromSource(iCyl);
 
     return true;
 }
@@ -6638,48 +6737,48 @@ HEXA_NS::Pipe* PipeDialog::getValue()
 // ============================================================== apply
 bool PipeDialog::apply(QModelIndex& result)
 {
-    if (_currentObj != NULL) _highlightWidget(_currentObj, Qt::white);
-    _currentObj = NULL;
-
-    if ( !getDocumentModel() ) return false;
-    const PatternDataModel*    patternDataModel    = getPatternDataModel();
-    const PatternBuilderModel* patternBuilderModel = getPatternBuilderModel();
-    if ( !patternDataModel || !patternBuilderModel)    return false;
-
-    QModelIndex iPipe;
-    QModelIndex ivex = patternDataModel->mapToSource( _index[vex_le] );
-    QModelIndex ivec = patternBuilderModel->mapToSource( _index[vec_le] );
-    double ir = ir_spb->value();
-    double er = er_spb->value();
-    double h  = h_spb->value();
-
-    if (ir >= er) {
-        SUIT_MessageBox::information( this, tr( "CANNOT ADD PIPE" ), tr( "External radius must be greather than Internal radius!" ) );
-        return false;
-    }
-
-
-    if ( ivex.isValid()
-            && ivec.isValid() ){
-        iPipe = getDocumentModel()->addPipe( ivex, ivec, ir, er, h );
-    }
-
-    if ( !iPipe.isValid() ){
-        SUIT_MessageBox::critical( this, tr( "ERR_ERROR" ), tr( "CANNOT ADD PIPE" ) );
-        return false;
-    }
-    _value  = iPipe.model()->data(iPipe, HEXA_DATA_ROLE).value<HEXA_NS::Pipe *>();
-
-    QString newName = name_le->text();
-    if ( !newName.isEmpty() )/*{*/
-        getDocumentModel()->setName( iPipe, newName );
-
-    //update the default name in the dialog box
-    if (_value != NULL)
-        updateDefaultName(name_le, _value->getType());
-
-    // to select/highlight result
-    result = patternBuilderModel->mapFromSource(iPipe);
+//    if (_currentObj != NULL) _highlightWidget(_currentObj, Qt::white);
+//    _currentObj = NULL;
+//
+//    if ( !getDocumentModel() ) return false;
+//    const PatternDataModel*    patternDataModel    = getPatternDataModel();
+//    const PatternBuilderModel* patternBuilderModel = getPatternBuilderModel();
+//    if ( !patternDataModel || !patternBuilderModel)    return false;
+//
+//    QModelIndex iPipe;
+//    QModelIndex ivex = patternDataModel->mapToSource( _index[vex_le] );
+//    QModelIndex ivec = patternBuilderModel->mapToSource( _index[vec_le] );
+//    double ir = ir_spb->value();
+//    double er = er_spb->value();
+//    double h  = h_spb->value();
+//
+//    if (ir >= er) {
+//        SUIT_MessageBox::information( this, tr( "CANNOT ADD PIPE" ), tr( "External radius must be greather than Internal radius!" ) );
+//        return false;
+//    }
+//
+//
+//    if ( ivex.isValid()
+//            && ivec.isValid() ){
+//        iPipe = getDocumentModel()->addPipe( ivex, ivec, ir, er, h );
+//    }
+//
+//    if ( !iPipe.isValid() ){
+//        SUIT_MessageBox::critical( this, tr( "ERR_ERROR" ), tr( "CANNOT ADD PIPE" ) );
+//        return false;
+//    }
+//    _value  = iPipe.model()->data(iPipe, HEXA_DATA_ROLE).value<HEXA_NS::Pipe *>();
+//
+//    QString newName = name_le->text();
+//    if ( !newName.isEmpty() )/*{*/
+//        getDocumentModel()->setName( iPipe, newName );
+//
+//    //update the default name in the dialog box
+//    if (_value != NULL)
+//        updateDefaultName(name_le, _value->getType());
+//
+//    // to select/highlight result
+//    result = patternBuilderModel->mapFromSource(iPipe);
 
     return true;
 }
index 2d1c08c612acae285e2a66cd76cff85339039ccc..551be9e38f730d63ddc3dc2a238f4f374d8c616e 100755 (executable)
@@ -568,6 +568,7 @@ namespace HEXABLOCK
     protected slots:
     void addHeightItem();
     void delHeightItem();
+    void updateHelpFileName();
 
     private slots:
     void addQuad();
@@ -597,6 +598,7 @@ namespace HEXABLOCK
     protected slots:
     void addHeightItem();
     void delHeightItem();
+    void updateHelpFileName();
 
     private slots:
     void addQuad();
@@ -670,6 +672,7 @@ namespace HEXABLOCK
     protected slots:
     void addHeightItem();
     void delHeightItem();
+    void updateHelpFileName();
 
     public slots:
     virtual bool apply(QModelIndex& result);
@@ -1006,6 +1009,7 @@ class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT EdgeAssocDialog : public HexaBaseDialog,
     void addAngleItem();
     void delAngleItem();
     void delQuadItem();
+    void updateHelpFileName();
 
     private:
     HEXA_NS::Elements *_value;
index deec71f370aa0c9f8500ed845dac758aa825bbc5..ded45f759acd54f40d3d9139dc58c911ae619adf 100644 (file)
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>344</width>
-    <height>532</height>
+    <height>558</height>
    </rect>
   </property>
   <property name="minimumSize">
         <x>0</x>
         <y>0</y>
         <width>306</width>
-        <height>646</height>
+        <height>527</height>
        </rect>
       </property>
-      <layout class="QVBoxLayout" name="verticalLayout_4">
+      <layout class="QVBoxLayout" name="verticalLayout_2">
        <item>
-        <widget class="QGroupBox" name="groupBox_4">
-         <property name="title">
-          <string/>
-         </property>
-         <layout class="QVBoxLayout" name="verticalLayout_3">
+        <widget class="QWidget" name="widget" native="true">
+         <layout class="QVBoxLayout" name="verticalLayout_4">
+          <item>
+           <widget class="QLabel" name="label_6">
+            <property name="text">
+             <string>Quad(s):</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QListWidget" name="quads_lw"/>
+          </item>
           <item>
-           <widget class="QGroupBox" name="groupBox_8">
+           <layout class="QFormLayout" name="formLayout_4">
+            <property name="fieldGrowthPolicy">
+             <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
+            </property>
+            <item row="0" column="0">
+             <widget class="QLabel" name="label_3">
+              <property name="text">
+               <string>From point a</string>
+              </property>
+             </widget>
+            </item>
+            <item row="0" column="1">
+             <widget class="QLineEdit" name="vex0_le">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="maximumSize">
+               <size>
+                <width>16777215</width>
+                <height>16777215</height>
+               </size>
+              </property>
+              <property name="readOnly">
+               <bool>false</bool>
+              </property>
+             </widget>
+            </item>
+            <item row="1" column="0">
+             <widget class="QLabel" name="label_4">
+              <property name="text">
+               <string>From point b</string>
+              </property>
+             </widget>
+            </item>
+            <item row="1" column="1">
+             <widget class="QLineEdit" name="vex1_le">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="maximumSize">
+               <size>
+                <width>16777215</width>
+                <height>16777215</height>
+               </size>
+              </property>
+              <property name="readOnly">
+               <bool>false</bool>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QWidget" name="widget_2" native="true">
+         <layout class="QFormLayout" name="formLayout">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_2">
+            <property name="text">
+             <string>Quadrangle</string>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QLineEdit" name="quad_dest_le">
             <property name="sizePolicy">
-             <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
               <horstretch>0</horstretch>
               <verstretch>0</verstretch>
              </sizepolicy>
             </property>
-            <property name="title">
-             <string/>
+            <property name="readOnly">
+             <bool>false</bool>
             </property>
-            <layout class="QVBoxLayout" name="verticalLayout_2">
-             <item>
-              <widget class="QGroupBox" name="groupBox_5">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="title">
-                <string>Quad(s)</string>
-               </property>
-               <layout class="QGridLayout" name="gridLayout_4">
-                <item row="0" column="0">
-                 <widget class="QListWidget" name="quads_lw"/>
-                </item>
-               </layout>
-              </widget>
-             </item>
-             <item>
-              <widget class="QWidget" name="widget" native="true">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <layout class="QFormLayout" name="formLayout_3">
-                <property name="fieldGrowthPolicy">
-                 <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
-                </property>
-                <item row="0" column="0">
-                 <widget class="QLabel" name="label_3">
-                  <property name="text">
-                   <string>From point a</string>
-                  </property>
-                 </widget>
-                </item>
-                <item row="0" column="1">
-                 <widget class="QLineEdit" name="vex0_le">
-                  <property name="sizePolicy">
-                   <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                    <horstretch>0</horstretch>
-                    <verstretch>0</verstretch>
-                   </sizepolicy>
-                  </property>
-                  <property name="maximumSize">
-                   <size>
-                    <width>16777215</width>
-                    <height>16777215</height>
-                   </size>
-                  </property>
-                  <property name="readOnly">
-                   <bool>false</bool>
-                  </property>
-                 </widget>
-                </item>
-                <item row="1" column="0">
-                 <widget class="QLabel" name="label_4">
-                  <property name="text">
-                   <string>From point b</string>
-                  </property>
-                 </widget>
-                </item>
-                <item row="1" column="1">
-                 <widget class="QLineEdit" name="vex1_le">
-                  <property name="sizePolicy">
-                   <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                    <horstretch>0</horstretch>
-                    <verstretch>0</verstretch>
-                   </sizepolicy>
-                  </property>
-                  <property name="maximumSize">
-                   <size>
-                    <width>16777215</width>
-                    <height>16777215</height>
-                   </size>
-                  </property>
-                  <property name="readOnly">
-                   <bool>false</bool>
-                  </property>
-                 </widget>
-                </item>
-               </layout>
-              </widget>
-             </item>
-            </layout>
            </widget>
           </item>
-          <item>
-           <widget class="QGroupBox" name="groupBox">
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_5">
+            <property name="text">
+             <string>To point a</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="1">
+           <widget class="QLineEdit" name="vex2_le">
             <property name="sizePolicy">
-             <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
               <horstretch>0</horstretch>
               <verstretch>0</verstretch>
              </sizepolicy>
             </property>
-            <property name="title">
-             <string/>
+            <property name="maximumSize">
+             <size>
+              <width>16777215</width>
+              <height>16777215</height>
+             </size>
+            </property>
+            <property name="readOnly">
+             <bool>false</bool>
             </property>
-            <layout class="QFormLayout" name="formLayout_2">
-             <item row="0" column="0">
-              <widget class="QLabel" name="label_2">
-               <property name="text">
-                <string>Quadrangle</string>
-               </property>
-              </widget>
-             </item>
-             <item row="0" column="1">
-              <widget class="QLineEdit" name="quad_dest_le">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="readOnly">
-                <bool>false</bool>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="0">
-              <widget class="QLabel" name="label_5">
-               <property name="text">
-                <string>To point a</string>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="1">
-              <widget class="QLineEdit" name="vex2_le">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="maximumSize">
-                <size>
-                 <width>16777215</width>
-                 <height>16777215</height>
-                </size>
-               </property>
-               <property name="readOnly">
-                <bool>false</bool>
-               </property>
-              </widget>
-             </item>
-             <item row="2" column="0">
-              <widget class="QLabel" name="label_7">
-               <property name="text">
-                <string>To point b</string>
-               </property>
-              </widget>
-             </item>
-             <item row="2" column="1">
-              <widget class="QLineEdit" name="vex3_le">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="maximumSize">
-                <size>
-                 <width>16777215</width>
-                 <height>16777215</height>
-                </size>
-               </property>
-               <property name="readOnly">
-                <bool>false</bool>
-               </property>
-              </widget>
-             </item>
-            </layout>
            </widget>
           </item>
-          <item>
-           <widget class="QGroupBox" name="groupBox_3">
+          <item row="2" column="0">
+           <widget class="QLabel" name="label_7">
+            <property name="text">
+             <string>To point b</string>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="1">
+           <widget class="QLineEdit" name="vex3_le">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>16777215</width>
+              <height>16777215</height>
+             </size>
+            </property>
+            <property name="readOnly">
+             <bool>false</bool>
+            </property>
+           </widget>
+          </item>
+         </layout>
+         <zorder></zorder>
+         <zorder></zorder>
+        </widget>
+       </item>
+       <item>
+        <widget class="QWidget" name="widget_3" native="true">
+         <layout class="QFormLayout" name="formLayout_2">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label">
             <property name="sizePolicy">
              <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
               <horstretch>0</horstretch>
               <verstretch>0</verstretch>
              </sizepolicy>
             </property>
-            <property name="title">
-             <string/>
+            <property name="text">
+             <string>Nb layers</string>
             </property>
-            <layout class="QFormLayout" name="formLayout">
-             <item row="0" column="0">
-              <widget class="QLabel" name="label">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="text">
-                <string>Nb layers</string>
-               </property>
-              </widget>
-             </item>
-             <item row="0" column="1">
-              <widget class="QSpinBox" name="nb_spb">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="minimum">
-                <number>1</number>
-               </property>
-               <property name="maximum">
-                <number>1000000</number>
-               </property>
-               <property name="value">
-                <number>1</number>
-               </property>
-              </widget>
-             </item>
-            </layout>
            </widget>
           </item>
-          <item>
-           <widget class="QTabWidget" name="layers_height_w">
+          <item row="0" column="1">
+           <widget class="QSpinBox" name="nb_spb">
             <property name="sizePolicy">
-             <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
               <horstretch>0</horstretch>
               <verstretch>0</verstretch>
              </sizepolicy>
             </property>
-            <property name="currentIndex">
-             <number>0</number>
+            <property name="minimum">
+             <number>1</number>
+            </property>
+            <property name="maximum">
+             <number>1000000</number>
+            </property>
+            <property name="value">
+             <number>1</number>
             </property>
-            <widget class="QWidget" name="ext_height_tab">
-             <attribute name="title">
-              <string>height</string>
-             </attribute>
-             <layout class="QGridLayout" name="gridLayout_5">
-              <item row="0" column="0">
-               <widget class="QPushButton" name="add_height_pb">
-                <property name="enabled">
-                 <bool>true</bool>
-                </property>
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>+</string>
-                </property>
-               </widget>
-              </item>
-              <item row="0" column="1" rowspan="3">
-               <widget class="QListWidget" name="height_lw">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-               </widget>
-              </item>
-              <item row="1" column="0">
-               <widget class="QPushButton" name="del_height_pb">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>-</string>
-                </property>
-               </widget>
-              </item>
-              <item row="2" column="0">
-               <spacer name="verticalSpacer_3">
-                <property name="orientation">
-                 <enum>Qt::Vertical</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>20</width>
-                  <height>139</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-             </layout>
-            </widget>
            </widget>
           </item>
          </layout>
         </widget>
        </item>
+       <item>
+        <widget class="QTabWidget" name="layers_height_w">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="currentIndex">
+          <number>0</number>
+         </property>
+         <widget class="QWidget" name="ext_height_tab">
+          <attribute name="title">
+           <string>height</string>
+          </attribute>
+          <layout class="QGridLayout" name="gridLayout_5">
+           <item row="0" column="0">
+            <widget class="QPushButton" name="add_height_pb">
+             <property name="enabled">
+              <bool>true</bool>
+             </property>
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>+</string>
+             </property>
+            </widget>
+           </item>
+           <item row="0" column="1" rowspan="3">
+            <widget class="QListWidget" name="height_lw">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+            </widget>
+           </item>
+           <item row="1" column="0">
+            <widget class="QPushButton" name="del_height_pb">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>-</string>
+             </property>
+            </widget>
+           </item>
+           <item row="2" column="0">
+            <spacer name="verticalSpacer_3">
+             <property name="orientation">
+              <enum>Qt::Vertical</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>139</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
+         </widget>
+        </widget>
+       </item>
        <item>
         <spacer name="verticalSpacer">
          <property name="orientation">
   </layout>
  </widget>
  <tabstops>
-  <tabstop>vex0_le</tabstop>
-  <tabstop>vex1_le</tabstop>
   <tabstop>quad_dest_le</tabstop>
   <tabstop>vex2_le</tabstop>
   <tabstop>vex3_le</tabstop>
-  <tabstop>nb_spb</tabstop>
  </tabstops>
  <resources/>
  <connections>
    </hints>
   </connection>
   <connection>
-   <sender>join_rb</sender>
+   <sender>joinUni_rb</sender>
    <signal>clicked()</signal>
-   <receiver>groupBox_3</receiver>
-   <slot>hide()</slot>
+   <receiver>widget_3</receiver>
+   <slot>show()</slot>
    <hints>
     <hint type="sourcelabel">
-     <x>222</x>
-     <y>53</y>
+     <x>93</x>
+     <y>28</y>
     </hint>
     <hint type="destinationlabel">
      <x>162</x>
-     <y>571</y>
+     <y>403</y>
     </hint>
    </hints>
   </connection>
   <connection>
-   <sender>joinUni_rb</sender>
+   <sender>join_rb</sender>
    <signal>clicked()</signal>
-   <receiver>groupBox_3</receiver>
-   <slot>show()</slot>
+   <receiver>widget_3</receiver>
+   <slot>hide()</slot>
    <hints>
     <hint type="sourcelabel">
-     <x>102</x>
-     <y>53</y>
+     <x>250</x>
+     <y>28</y>
     </hint>
     <hint type="destinationlabel">
      <x>162</x>
-     <y>571</y>
+     <y>403</y>
     </hint>
    </hints>
   </connection>
index 48f68252b97c63196ac26e1d141b02b3ef4fa341..00fb8e13c9308b8e0dea612db5b46766743e5998 100644 (file)
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>297</width>
-    <height>620</height>
+    <width>368</width>
+    <height>695</height>
    </rect>
   </property>
   <property name="sizePolicy">
        <rect>
         <x>0</x>
         <y>0</y>
-        <width>259</width>
-        <height>592</height>
+        <width>354</width>
+        <height>638</height>
        </rect>
       </property>
       <layout class="QVBoxLayout" name="verticalLayout_3">
        <item>
-        <widget class="QGroupBox" name="groupBox">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="minimumSize">
-          <size>
-           <width>5</width>
-           <height>0</height>
-          </size>
-         </property>
-         <property name="title">
-          <string/>
-         </property>
-         <layout class="QVBoxLayout" name="verticalLayout_2">
-          <item>
-           <widget class="QWidget" name="geomobj_group" native="true">
-            <layout class="QFormLayout" name="formLayout_3">
-             <item row="0" column="0">
-              <widget class="QLabel" name="label">
-               <property name="text">
-                <string>origin</string>
-               </property>
-              </widget>
-             </item>
-             <item row="0" column="1">
-              <widget class="QLineEdit" name="origin_le"/>
-             </item>
-             <item row="2" column="0">
-              <widget class="QLabel" name="label_2">
-               <property name="text">
-                <string>axis</string>
-               </property>
-              </widget>
-             </item>
-             <item row="2" column="1">
-              <widget class="QLineEdit" name="axis_le">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="maximumSize">
-                <size>
-                 <width>16777215</width>
-                 <height>16777215</height>
-                </size>
-               </property>
-               <property name="readOnly">
-                <bool>false</bool>
-               </property>
-              </widget>
-             </item>
-             <item row="4" column="1">
-              <widget class="QLineEdit" name="base_le"/>
-             </item>
-             <item row="4" column="0">
-              <widget class="QLabel" name="label_10">
-               <property name="text">
-                <string>base</string>
-               </property>
-              </widget>
-             </item>
-            </layout>
+        <widget class="QWidget" name="geomobj_group" native="true">
+         <layout class="QFormLayout" name="formLayout_3">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label">
+            <property name="text">
+             <string>origin</string>
+            </property>
            </widget>
           </item>
-          <item>
-           <widget class="QWidget" name="rah_group" native="true">
-            <layout class="QFormLayout" name="formLayout_2">
-             <item row="0" column="0">
-              <widget class="QLabel" name="label_6">
-               <property name="text">
-                <string>radius</string>
-               </property>
-              </widget>
-             </item>
-             <item row="0" column="1">
-              <widget class="QDoubleSpinBox" name="ext_radius_spb">
-               <property name="decimals">
-                <number>6</number>
-               </property>
-               <property name="maximum">
-                <double>1000000000.000000000000000</double>
-               </property>
-               <property name="value">
-                <double>2.000000000000000</double>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="0">
-              <widget class="QLabel" name="label_7">
-               <property name="text">
-                <string>hole radius</string>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="1">
-              <widget class="QDoubleSpinBox" name="int_radius_spb">
-               <property name="decimals">
-                <number>6</number>
-               </property>
-               <property name="maximum">
-                <double>1000000000.000000000000000</double>
-               </property>
-               <property name="singleStep">
-                <double>1.000000000000000</double>
-               </property>
-               <property name="value">
-                <double>1.000000000000000</double>
-               </property>
-              </widget>
-             </item>
-             <item row="2" column="0">
-              <widget class="QLabel" name="label_8">
-               <property name="text">
-                <string>slice angle</string>
-               </property>
-              </widget>
-             </item>
-             <item row="2" column="1">
-              <widget class="QDoubleSpinBox" name="angle_spb">
-               <property name="decimals">
-                <number>6</number>
-               </property>
-               <property name="maximum">
-                <double>360.000000000000000</double>
-               </property>
-               <property name="singleStep">
-                <double>10.000000000000000</double>
-               </property>
-               <property name="value">
-                <double>360.000000000000000</double>
-               </property>
-              </widget>
-             </item>
-             <item row="3" column="0">
-              <widget class="QLabel" name="label_9">
-               <property name="text">
-                <string>height</string>
-               </property>
-              </widget>
-             </item>
-             <item row="3" column="1">
-              <widget class="QDoubleSpinBox" name="height_spb">
-               <property name="decimals">
-                <number>6</number>
-               </property>
-               <property name="maximum">
-                <double>1000000000.000000000000000</double>
-               </property>
-               <property name="value">
-                <double>1.000000000000000</double>
-               </property>
-              </widget>
-             </item>
-            </layout>
-           </widget>
+          <item row="0" column="1">
+           <widget class="QLineEdit" name="origin_le"/>
           </item>
-          <item>
-           <widget class="QWidget" name="n_group" native="true">
-            <layout class="QFormLayout" name="formLayout">
-             <property name="fieldGrowthPolicy">
-              <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
-             </property>
-             <item row="0" column="0">
-              <widget class="QLabel" name="label_3">
-               <property name="text">
-                <string>nb Radial</string>
-               </property>
-              </widget>
-             </item>
-             <item row="0" column="1">
-              <widget class="QSpinBox" name="nr_spb">
-               <property name="minimum">
-                <number>1</number>
-               </property>
-               <property name="maximum">
-                <number>1000000</number>
-               </property>
-               <property name="value">
-                <number>1</number>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="0">
-              <widget class="QLabel" name="label_4">
-               <property name="text">
-                <string>nb Angular</string>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="1">
-              <widget class="QSpinBox" name="na_spb">
-               <property name="minimum">
-                <number>1</number>
-               </property>
-               <property name="maximum">
-                <number>1000000</number>
-               </property>
-               <property name="value">
-                <number>3</number>
-               </property>
-              </widget>
-             </item>
-             <item row="2" column="0">
-              <widget class="QLabel" name="label_5">
-               <property name="text">
-                <string>nb Height</string>
-               </property>
-              </widget>
-             </item>
-             <item row="2" column="1">
-              <widget class="QSpinBox" name="nh_spb">
-               <property name="minimum">
-                <number>1</number>
-               </property>
-               <property name="maximum">
-                <number>1000000</number>
-               </property>
-               <property name="value">
-                <number>1</number>
-               </property>
-              </widget>
-             </item>
-            </layout>
+          <item row="2" column="0">
+           <widget class="QLabel" name="label_2">
+            <property name="text">
+             <string>axis</string>
+            </property>
            </widget>
           </item>
-          <item>
-           <widget class="QTabWidget" name="random_param_w">
+          <item row="2" column="1">
+           <widget class="QLineEdit" name="axis_le">
             <property name="sizePolicy">
-             <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+             <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
               <horstretch>0</horstretch>
               <verstretch>0</verstretch>
              </sizepolicy>
             <property name="maximumSize">
              <size>
               <width>16777215</width>
-              <height>150</height>
+              <height>16777215</height>
              </size>
             </property>
-            <property name="currentIndex">
-             <number>2</number>
-            </property>
-            <widget class="QWidget" name="ext_radius_tab">
-             <attribute name="title">
-              <string>radius</string>
-             </attribute>
-             <layout class="QGridLayout" name="gridLayout_2">
-              <item row="0" column="0">
-               <widget class="QPushButton" name="add_radius_pb">
-                <property name="enabled">
-                 <bool>true</bool>
-                </property>
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>+</string>
-                </property>
-               </widget>
-              </item>
-              <item row="0" column="1" rowspan="4">
-               <widget class="QListWidget" name="radius_lw">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-               </widget>
-              </item>
-              <item row="1" column="0">
-               <widget class="QPushButton" name="del_radius_pb">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>-</string>
-                </property>
-               </widget>
-              </item>
-              <item row="2" column="0">
-               <spacer name="verticalSpacer">
-                <property name="orientation">
-                 <enum>Qt::Vertical</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>20</width>
-                  <height>139</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-             </layout>
-            </widget>
-            <widget class="QWidget" name="ext_angle_tab">
-             <attribute name="title">
-              <string>angle</string>
-             </attribute>
-             <layout class="QGridLayout" name="gridLayout_3">
-              <item row="0" column="0">
-               <widget class="QPushButton" name="add_angle_pb">
-                <property name="enabled">
-                 <bool>true</bool>
-                </property>
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>+</string>
-                </property>
-               </widget>
-              </item>
-              <item row="0" column="1" rowspan="3">
-               <widget class="QListWidget" name="angle_lw"/>
-              </item>
-              <item row="1" column="0">
-               <widget class="QPushButton" name="del_angle_pb">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>-</string>
-                </property>
-               </widget>
-              </item>
-              <item row="2" column="0">
-               <spacer name="verticalSpacer_2">
-                <property name="orientation">
-                 <enum>Qt::Vertical</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>20</width>
-                  <height>139</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-             </layout>
-            </widget>
-            <widget class="QWidget" name="ext_height_tab">
-             <attribute name="title">
-              <string>height</string>
-             </attribute>
-             <layout class="QGridLayout" name="gridLayout_4">
-              <item row="0" column="0">
-               <widget class="QPushButton" name="add_height_pb">
-                <property name="enabled">
-                 <bool>true</bool>
-                </property>
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>+</string>
-                </property>
-               </widget>
-              </item>
-              <item row="0" column="1" rowspan="3">
-               <widget class="QListWidget" name="height_lw">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-               </widget>
-              </item>
-              <item row="1" column="0">
-               <widget class="QPushButton" name="del_height_pb">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>-</string>
-                </property>
-               </widget>
-              </item>
-              <item row="2" column="0">
-               <spacer name="verticalSpacer_3">
-                <property name="orientation">
-                 <enum>Qt::Vertical</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>20</width>
-                  <height>139</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-             </layout>
-            </widget>
+            <property name="readOnly">
+             <bool>false</bool>
+            </property>
            </widget>
           </item>
-          <item>
-           <spacer name="verticalSpacer_4">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
+          <item row="4" column="1">
+           <widget class="QLineEdit" name="base_le"/>
+          </item>
+          <item row="4" column="0">
+           <widget class="QLabel" name="label_10">
+            <property name="text">
+             <string>base</string>
             </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>20</width>
-              <height>0</height>
-             </size>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QWidget" name="rah_group" native="true">
+         <layout class="QFormLayout" name="formLayout_2">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_6">
+            <property name="text">
+             <string>radius</string>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QDoubleSpinBox" name="ext_radius_spb">
+            <property name="decimals">
+             <number>6</number>
+            </property>
+            <property name="maximum">
+             <double>1000000000.000000000000000</double>
+            </property>
+            <property name="value">
+             <double>2.000000000000000</double>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_7">
+            <property name="text">
+             <string>hole radius</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="1">
+           <widget class="QDoubleSpinBox" name="int_radius_spb">
+            <property name="decimals">
+             <number>6</number>
+            </property>
+            <property name="maximum">
+             <double>1000000000.000000000000000</double>
+            </property>
+            <property name="singleStep">
+             <double>1.000000000000000</double>
+            </property>
+            <property name="value">
+             <double>1.000000000000000</double>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="0">
+           <widget class="QLabel" name="label_8">
+            <property name="text">
+             <string>slice angle</string>
             </property>
-           </spacer>
+           </widget>
+          </item>
+          <item row="2" column="1">
+           <widget class="QDoubleSpinBox" name="angle_spb">
+            <property name="decimals">
+             <number>6</number>
+            </property>
+            <property name="maximum">
+             <double>360.000000000000000</double>
+            </property>
+            <property name="singleStep">
+             <double>10.000000000000000</double>
+            </property>
+            <property name="value">
+             <double>90.000000000000000</double>
+            </property>
+           </widget>
+          </item>
+          <item row="3" column="0">
+           <widget class="QLabel" name="label_9">
+            <property name="text">
+             <string>height</string>
+            </property>
+           </widget>
+          </item>
+          <item row="3" column="1">
+           <widget class="QDoubleSpinBox" name="height_spb">
+            <property name="decimals">
+             <number>6</number>
+            </property>
+            <property name="maximum">
+             <double>1000000000.000000000000000</double>
+            </property>
+            <property name="value">
+             <double>1.000000000000000</double>
+            </property>
+           </widget>
           </item>
          </layout>
         </widget>
        </item>
+       <item>
+        <widget class="QWidget" name="n_group" native="true">
+         <layout class="QFormLayout" name="formLayout">
+          <property name="fieldGrowthPolicy">
+           <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
+          </property>
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_3">
+            <property name="text">
+             <string>nb Radial</string>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QSpinBox" name="nr_spb">
+            <property name="minimum">
+             <number>1</number>
+            </property>
+            <property name="maximum">
+             <number>1000000</number>
+            </property>
+            <property name="value">
+             <number>4</number>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_4">
+            <property name="text">
+             <string>nb Angular</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="1">
+           <widget class="QSpinBox" name="na_spb">
+            <property name="minimum">
+             <number>1</number>
+            </property>
+            <property name="maximum">
+             <number>1000000</number>
+            </property>
+            <property name="value">
+             <number>8</number>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="0">
+           <widget class="QLabel" name="label_5">
+            <property name="text">
+             <string>nb Height</string>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="1">
+           <widget class="QSpinBox" name="nh_spb">
+            <property name="minimum">
+             <number>1</number>
+            </property>
+            <property name="maximum">
+             <number>1000000</number>
+            </property>
+            <property name="value">
+             <number>4</number>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QTabWidget" name="random_param_w">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>16777215</width>
+           <height>150</height>
+          </size>
+         </property>
+         <property name="currentIndex">
+          <number>2</number>
+         </property>
+         <widget class="QWidget" name="ext_radius_tab">
+          <attribute name="title">
+           <string>radius</string>
+          </attribute>
+          <layout class="QGridLayout" name="gridLayout_2">
+           <item row="0" column="0">
+            <widget class="QPushButton" name="add_radius_pb">
+             <property name="enabled">
+              <bool>true</bool>
+             </property>
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>+</string>
+             </property>
+            </widget>
+           </item>
+           <item row="0" column="1" rowspan="4">
+            <widget class="QListWidget" name="radius_lw">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+            </widget>
+           </item>
+           <item row="1" column="0">
+            <widget class="QPushButton" name="del_radius_pb">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>-</string>
+             </property>
+            </widget>
+           </item>
+           <item row="2" column="0">
+            <spacer name="verticalSpacer">
+             <property name="orientation">
+              <enum>Qt::Vertical</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>139</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
+         </widget>
+         <widget class="QWidget" name="ext_angle_tab">
+          <attribute name="title">
+           <string>angle</string>
+          </attribute>
+          <layout class="QGridLayout" name="gridLayout_3">
+           <item row="0" column="0">
+            <widget class="QPushButton" name="add_angle_pb">
+             <property name="enabled">
+              <bool>true</bool>
+             </property>
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>+</string>
+             </property>
+            </widget>
+           </item>
+           <item row="0" column="1" rowspan="3">
+            <widget class="QListWidget" name="angle_lw"/>
+           </item>
+           <item row="1" column="0">
+            <widget class="QPushButton" name="del_angle_pb">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>-</string>
+             </property>
+            </widget>
+           </item>
+           <item row="2" column="0">
+            <spacer name="verticalSpacer_2">
+             <property name="orientation">
+              <enum>Qt::Vertical</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>139</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
+         </widget>
+         <widget class="QWidget" name="ext_height_tab">
+          <attribute name="title">
+           <string>height</string>
+          </attribute>
+          <layout class="QGridLayout" name="gridLayout_4">
+           <item row="0" column="0">
+            <widget class="QPushButton" name="add_height_pb">
+             <property name="enabled">
+              <bool>true</bool>
+             </property>
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>+</string>
+             </property>
+            </widget>
+           </item>
+           <item row="0" column="1" rowspan="3">
+            <widget class="QListWidget" name="height_lw">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+            </widget>
+           </item>
+           <item row="1" column="0">
+            <widget class="QPushButton" name="del_height_pb">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>-</string>
+             </property>
+            </widget>
+           </item>
+           <item row="2" column="0">
+            <spacer name="verticalSpacer_3">
+             <property name="orientation">
+              <enum>Qt::Vertical</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>139</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
+         </widget>
+        </widget>
+       </item>
+       <item>
+        <spacer name="verticalSpacer_4">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>0</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
       </layout>
      </widget>
     </widget>
index 26075e0b9909f9f7699a39855ae058acade2fecf..302e7b87e2d1c843dec40ff0b5f12f4a66bfe824 100644 (file)
@@ -29,7 +29,7 @@
       <item>
        <widget class="QGroupBox" name="groupBox_2">
         <property name="title">
-         <string>Cylinder 1</string>
+         <string>Big Cylinder</string>
         </property>
         <layout class="QFormLayout" name="formLayout">
          <item row="0" column="0">
@@ -84,7 +84,7 @@
             <double>1000000000.000000000000000</double>
            </property>
            <property name="value">
-            <double>1.000000000000000</double>
+            <double>4.000000000000000</double>
            </property>
           </widget>
          </item>
@@ -97,7 +97,7 @@
             <double>1000000000.000000000000000</double>
            </property>
            <property name="value">
-            <double>1.000000000000000</double>
+            <double>2.000000000000000</double>
            </property>
           </widget>
          </item>
       <item>
        <widget class="QGroupBox" name="groupBox_3">
         <property name="title">
-         <string>Cylinder 2</string>
+         <string>Small Cylinder</string>
         </property>
         <layout class="QFormLayout" name="formLayout_2">
          <item row="0" column="0">
             <double>1000000000.000000000000000</double>
            </property>
            <property name="value">
-            <double>1.000000000000000</double>
+            <double>2.000000000000000</double>
            </property>
           </widget>
          </item>
index 16ac9cbcf9f1515c83065bffbd20c63d2d0ad40d..070b929e2c667b9692f8549f66f20305e8c0b05c 100644 (file)
@@ -29,7 +29,7 @@
    </size>
   </property>
   <property name="windowTitle">
-   <string>Grid Construction</string>
+   <string>Cartesian Grid Construction</string>
   </property>
   <property name="sizeGripEnabled">
    <bool>false</bool>
       </property>
       <layout class="QVBoxLayout" name="verticalLayout_3">
        <item>
-        <widget class="QGroupBox" name="groupBox_2">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="minimumSize">
-          <size>
-           <width>5</width>
-           <height>0</height>
-          </size>
-         </property>
-         <property name="title">
-          <string/>
-         </property>
-         <layout class="QVBoxLayout" name="verticalLayout">
-          <item>
-           <widget class="QWidget" name="widget" native="true">
-            <layout class="QFormLayout" name="formLayout_2">
-             <item row="0" column="0">
-              <widget class="QLabel" name="label">
-               <property name="text">
-                <string>origin</string>
-               </property>
-              </widget>
-             </item>
-             <item row="0" column="1">
-              <widget class="QLineEdit" name="center_le">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="maximumSize">
-                <size>
-                 <width>16777215</width>
-                 <height>16777215</height>
-                </size>
-               </property>
-               <property name="toolTip">
-                <string>Select a point (vertex)
-</string>
-               </property>
-               <property name="readOnly">
-                <bool>false</bool>
-               </property>
-              </widget>
-             </item>
-             <item row="5" column="0">
-              <widget class="QLabel" name="label_4">
-               <property name="text">
-                <string>vec Z</string>
-               </property>
-              </widget>
-             </item>
-             <item row="5" column="1">
-              <widget class="QLineEdit" name="axis_le">
-               <property name="maximumSize">
-                <size>
-                 <width>16777215</width>
-                 <height>16777215</height>
-                </size>
-               </property>
-               <property name="toolTip">
-                <string>Select a vector</string>
-               </property>
-               <property name="readOnly">
-                <bool>false</bool>
-               </property>
-              </widget>
-             </item>
-             <item row="2" column="1">
-              <widget class="QLineEdit" name="base_le">
-               <property name="maximumSize">
-                <size>
-                 <width>16777215</width>
-                 <height>16777215</height>
-                </size>
-               </property>
-               <property name="toolTip">
-                <string>Select a vector</string>
-               </property>
-               <property name="readOnly">
-                <bool>false</bool>
-               </property>
-              </widget>
-             </item>
-             <item row="2" column="0">
-              <widget class="QLabel" name="label_2">
-               <property name="text">
-                <string>vec X</string>
-               </property>
-              </widget>
-             </item>
-             <item row="3" column="0">
-              <widget class="QLabel" name="label_9">
-               <property name="text">
-                <string>vec Y</string>
-               </property>
-              </widget>
-             </item>
-             <item row="3" column="1">
-              <widget class="QLineEdit" name="vec_le">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="maximumSize">
-                <size>
-                 <width>16777215</width>
-                 <height>16777215</height>
-                </size>
-               </property>
-               <property name="readOnly">
-                <bool>false</bool>
-               </property>
-              </widget>
-             </item>
-            </layout>
+        <widget class="QWidget" name="widget" native="true">
+         <layout class="QFormLayout" name="formLayout_2">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label">
+            <property name="text">
+             <string>origin</string>
+            </property>
            </widget>
           </item>
-          <item>
-           <widget class="QWidget" name="lxyz_widget" native="true">
+          <item row="0" column="1">
+           <widget class="QLineEdit" name="center_le">
             <property name="sizePolicy">
-             <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
               <horstretch>0</horstretch>
               <verstretch>0</verstretch>
              </sizepolicy>
             </property>
-            <property name="minimumSize">
+            <property name="maximumSize">
              <size>
-              <width>0</width>
-              <height>0</height>
+              <width>16777215</width>
+              <height>16777215</height>
              </size>
             </property>
-            <layout class="QFormLayout" name="formLayout_3">
-             <item row="0" column="0">
-              <widget class="QLabel" name="label_3">
-               <property name="text">
-                <string>len X</string>
-               </property>
-              </widget>
-             </item>
-             <item row="0" column="1">
-              <widget class="QDoubleSpinBox" name="lx_spb">
-               <property name="decimals">
-                <number>6</number>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="0">
-              <widget class="QLabel" name="label_5">
-               <property name="text">
-                <string>len Y</string>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="1">
-              <widget class="QDoubleSpinBox" name="ly_spb">
-               <property name="decimals">
-                <number>6</number>
-               </property>
-              </widget>
-             </item>
-             <item row="2" column="0">
-              <widget class="QLabel" name="label_6">
-               <property name="text">
-                <string>len Z</string>
-               </property>
-              </widget>
-             </item>
-             <item row="2" column="1">
-              <widget class="QDoubleSpinBox" name="lz_spb">
-               <property name="decimals">
-                <number>6</number>
-               </property>
-              </widget>
-             </item>
-            </layout>
+            <property name="toolTip">
+             <string>Select a point (vertex)
+</string>
+            </property>
+            <property name="readOnly">
+             <bool>false</bool>
+            </property>
            </widget>
           </item>
-          <item>
-           <widget class="QWidget" name="cartesian_widget" native="true">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
+          <item row="5" column="0">
+           <widget class="QLabel" name="label_4">
+            <property name="text">
+             <string>vec Z</string>
             </property>
-            <property name="minimumSize">
+           </widget>
+          </item>
+          <item row="5" column="1">
+           <widget class="QLineEdit" name="axis_le">
+            <property name="maximumSize">
              <size>
-              <width>0</width>
-              <height>0</height>
+              <width>16777215</width>
+              <height>16777215</height>
              </size>
             </property>
-            <layout class="QFormLayout" name="formLayout">
-             <item row="0" column="0">
-              <widget class="QLabel" name="label_12">
-               <property name="text">
-                <string>nb X</string>
-               </property>
-              </widget>
-             </item>
-             <item row="0" column="1">
-              <widget class="QSpinBox" name="nx_spb">
-               <property name="minimum">
-                <number>1</number>
-               </property>
-               <property name="maximum">
-                <number>1000000</number>
-               </property>
-               <property name="value">
-                <number>1</number>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="0">
-              <widget class="QLabel" name="label_13">
-               <property name="text">
-                <string>nb Y</string>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="1">
-              <widget class="QSpinBox" name="ny_spb">
-               <property name="minimum">
-                <number>1</number>
-               </property>
-               <property name="maximum">
-                <number>1000000</number>
-               </property>
-               <property name="value">
-                <number>3</number>
-               </property>
-              </widget>
-             </item>
-             <item row="2" column="0">
-              <widget class="QLabel" name="label_14">
-               <property name="text">
-                <string>nb Z </string>
-               </property>
-              </widget>
-             </item>
-             <item row="2" column="1">
-              <widget class="QSpinBox" name="nz_spb">
-               <property name="minimum">
-                <number>1</number>
-               </property>
-               <property name="maximum">
-                <number>1000000</number>
-               </property>
-               <property name="value">
-                <number>1</number>
-               </property>
-              </widget>
-             </item>
-            </layout>
+            <property name="toolTip">
+             <string>Select a vector</string>
+            </property>
+            <property name="readOnly">
+             <bool>false</bool>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="1">
+           <widget class="QLineEdit" name="base_le">
+            <property name="maximumSize">
+             <size>
+              <width>16777215</width>
+              <height>16777215</height>
+             </size>
+            </property>
+            <property name="toolTip">
+             <string>Select a vector</string>
+            </property>
+            <property name="readOnly">
+             <bool>false</bool>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="0">
+           <widget class="QLabel" name="label_2">
+            <property name="text">
+             <string>vec X</string>
+            </property>
            </widget>
           </item>
-          <item>
-           <widget class="QTabWidget" name="random_param_w">
+          <item row="3" column="0">
+           <widget class="QLabel" name="label_9">
+            <property name="text">
+             <string>vec Y</string>
+            </property>
+           </widget>
+          </item>
+          <item row="3" column="1">
+           <widget class="QLineEdit" name="vec_le">
             <property name="sizePolicy">
-             <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
               <horstretch>0</horstretch>
               <verstretch>0</verstretch>
              </sizepolicy>
             </property>
-            <property name="currentIndex">
+            <property name="maximumSize">
+             <size>
+              <width>16777215</width>
+              <height>16777215</height>
+             </size>
+            </property>
+            <property name="readOnly">
+             <bool>false</bool>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QWidget" name="lxyz_widget" native="true">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>0</width>
+           <height>0</height>
+          </size>
+         </property>
+         <layout class="QFormLayout" name="formLayout_3">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_3">
+            <property name="text">
+             <string>len X</string>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QDoubleSpinBox" name="lx_spb">
+            <property name="decimals">
+             <number>6</number>
+            </property>
+            <property name="value">
+             <double>1.000000000000000</double>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_5">
+            <property name="text">
+             <string>len Y</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="1">
+           <widget class="QDoubleSpinBox" name="ly_spb">
+            <property name="decimals">
+             <number>6</number>
+            </property>
+            <property name="value">
+             <double>1.000000000000000</double>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="0">
+           <widget class="QLabel" name="label_6">
+            <property name="text">
+             <string>len Z</string>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="1">
+           <widget class="QDoubleSpinBox" name="lz_spb">
+            <property name="decimals">
+             <number>6</number>
+            </property>
+            <property name="value">
+             <double>1.000000000000000</double>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QWidget" name="cartesian_widget" native="true">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>0</width>
+           <height>0</height>
+          </size>
+         </property>
+         <layout class="QFormLayout" name="formLayout">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_12">
+            <property name="text">
+             <string>nb X</string>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QSpinBox" name="nx_spb">
+            <property name="minimum">
              <number>1</number>
             </property>
-            <widget class="QWidget" name="ext_radius_tab">
-             <attribute name="title">
-              <string>X</string>
-             </attribute>
-             <layout class="QGridLayout" name="gridLayout_2">
-              <item row="0" column="0">
-               <widget class="QPushButton" name="add_radius_pb">
-                <property name="enabled">
-                 <bool>true</bool>
-                </property>
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>+</string>
-                </property>
-               </widget>
-              </item>
-              <item row="0" column="1" rowspan="4">
-               <widget class="QListWidget" name="radius_lw">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-               </widget>
-              </item>
-              <item row="1" column="0">
-               <widget class="QPushButton" name="del_radius_pb">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>-</string>
-                </property>
-               </widget>
-              </item>
-              <item row="2" column="0">
-               <spacer name="verticalSpacer">
-                <property name="orientation">
-                 <enum>Qt::Vertical</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>20</width>
-                  <height>139</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-             </layout>
-            </widget>
-            <widget class="QWidget" name="ext_angle_tab">
-             <attribute name="title">
-              <string>Y</string>
-             </attribute>
-             <layout class="QGridLayout" name="gridLayout_3">
-              <item row="0" column="0">
-               <widget class="QPushButton" name="add_angle_pb">
-                <property name="enabled">
-                 <bool>true</bool>
-                </property>
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>+</string>
-                </property>
-               </widget>
-              </item>
-              <item row="0" column="1" rowspan="3">
-               <widget class="QListWidget" name="angle_lw"/>
-              </item>
-              <item row="1" column="0">
-               <widget class="QPushButton" name="del_angle_pb">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>-</string>
-                </property>
-               </widget>
-              </item>
-              <item row="2" column="0">
-               <spacer name="verticalSpacer_2">
-                <property name="orientation">
-                 <enum>Qt::Vertical</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>20</width>
-                  <height>139</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-             </layout>
-            </widget>
-            <widget class="QWidget" name="ext_height_tab">
-             <attribute name="title">
-              <string>Z</string>
-             </attribute>
-             <layout class="QGridLayout" name="gridLayout_4">
-              <item row="0" column="0">
-               <widget class="QPushButton" name="add_height_pb">
-                <property name="enabled">
-                 <bool>true</bool>
-                </property>
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>+</string>
-                </property>
-               </widget>
-              </item>
-              <item row="0" column="1" rowspan="3">
-               <widget class="QListWidget" name="height_lw">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-               </widget>
-              </item>
-              <item row="1" column="0">
-               <widget class="QPushButton" name="del_height_pb">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>-</string>
-                </property>
-               </widget>
-              </item>
-              <item row="2" column="0">
-               <spacer name="verticalSpacer_3">
-                <property name="orientation">
-                 <enum>Qt::Vertical</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>20</width>
-                  <height>139</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-             </layout>
-            </widget>
+            <property name="maximum">
+             <number>1000000</number>
+            </property>
+            <property name="value">
+             <number>4</number>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_13">
+            <property name="text">
+             <string>nb Y</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="1">
+           <widget class="QSpinBox" name="ny_spb">
+            <property name="minimum">
+             <number>1</number>
+            </property>
+            <property name="maximum">
+             <number>1000000</number>
+            </property>
+            <property name="value">
+             <number>8</number>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="0">
+           <widget class="QLabel" name="label_14">
+            <property name="text">
+             <string>nb Z </string>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="1">
+           <widget class="QSpinBox" name="nz_spb">
+            <property name="minimum">
+             <number>1</number>
+            </property>
+            <property name="maximum">
+             <number>1000000</number>
+            </property>
+            <property name="value">
+             <number>4</number>
+            </property>
            </widget>
           </item>
          </layout>
         </widget>
        </item>
+       <item>
+        <widget class="QTabWidget" name="random_param_w">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="currentIndex">
+          <number>1</number>
+         </property>
+         <widget class="QWidget" name="ext_radius_tab">
+          <attribute name="title">
+           <string>X</string>
+          </attribute>
+          <layout class="QGridLayout" name="gridLayout_2">
+           <item row="0" column="0">
+            <widget class="QPushButton" name="add_radius_pb">
+             <property name="enabled">
+              <bool>true</bool>
+             </property>
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>+</string>
+             </property>
+            </widget>
+           </item>
+           <item row="0" column="1" rowspan="4">
+            <widget class="QListWidget" name="radius_lw">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+            </widget>
+           </item>
+           <item row="1" column="0">
+            <widget class="QPushButton" name="del_radius_pb">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>-</string>
+             </property>
+            </widget>
+           </item>
+           <item row="2" column="0">
+            <spacer name="verticalSpacer">
+             <property name="orientation">
+              <enum>Qt::Vertical</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>139</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
+         </widget>
+         <widget class="QWidget" name="ext_angle_tab">
+          <attribute name="title">
+           <string>Y</string>
+          </attribute>
+          <layout class="QGridLayout" name="gridLayout_3">
+           <item row="0" column="0">
+            <widget class="QPushButton" name="add_angle_pb">
+             <property name="enabled">
+              <bool>true</bool>
+             </property>
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>+</string>
+             </property>
+            </widget>
+           </item>
+           <item row="0" column="1" rowspan="3">
+            <widget class="QListWidget" name="angle_lw"/>
+           </item>
+           <item row="1" column="0">
+            <widget class="QPushButton" name="del_angle_pb">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>-</string>
+             </property>
+            </widget>
+           </item>
+           <item row="2" column="0">
+            <spacer name="verticalSpacer_2">
+             <property name="orientation">
+              <enum>Qt::Vertical</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>139</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
+         </widget>
+         <widget class="QWidget" name="ext_height_tab">
+          <attribute name="title">
+           <string>Z</string>
+          </attribute>
+          <layout class="QGridLayout" name="gridLayout_4">
+           <item row="0" column="0">
+            <widget class="QPushButton" name="add_height_pb">
+             <property name="enabled">
+              <bool>true</bool>
+             </property>
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>+</string>
+             </property>
+            </widget>
+           </item>
+           <item row="0" column="1" rowspan="3">
+            <widget class="QListWidget" name="height_lw">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+            </widget>
+           </item>
+           <item row="1" column="0">
+            <widget class="QPushButton" name="del_height_pb">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>-</string>
+             </property>
+            </widget>
+           </item>
+           <item row="2" column="0">
+            <spacer name="verticalSpacer_3">
+             <property name="orientation">
+              <enum>Qt::Vertical</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>139</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
+         </widget>
+        </widget>
+       </item>
        <item>
         <spacer name="verticalSpacer_4">
          <property name="orientation">
   <tabstop>nx_spb</tabstop>
   <tabstop>ny_spb</tabstop>
   <tabstop>nz_spb</tabstop>
-  <tabstop>random_param_w</tabstop>
   <tabstop>add_radius_pb</tabstop>
   <tabstop>del_radius_pb</tabstop>
   <tabstop>radius_lw</tabstop>
index 0a562067a0528681c7285249e88d358b27fdd925..aec53ea39810b913d23a295afe1db1c32b769947 100644 (file)
         <x>0</x>
         <y>0</y>
         <width>366</width>
-        <height>1076</height>
+        <height>1022</height>
        </rect>
       </property>
       <layout class="QVBoxLayout" name="verticalLayout_3">
        <item>
-        <widget class="QGroupBox" name="groupBox">
-         <property name="title">
-          <string/>
-         </property>
-         <layout class="QVBoxLayout" name="verticalLayout">
+        <widget class="QWidget" name="widget_7" native="true">
+         <layout class="QHBoxLayout" name="horizontalLayout_2">
           <item>
-           <widget class="QWidget" name="widget_7" native="true">
-            <layout class="QHBoxLayout" name="horizontalLayout_2">
-             <item>
-              <widget class="QRadioButton" name="sphereTop_rb">
-               <property name="text">
-                <string>Simple</string>
-               </property>
-               <property name="checked">
-                <bool>true</bool>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QRadioButton" name="sphereUni_rb">
-               <property name="text">
-                <string>Uniform</string>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QRadioButton" name="sphere2_rb">
-               <property name="text">
-                <string>Custom</string>
-               </property>
-              </widget>
-             </item>
-            </layout>
+           <widget class="QRadioButton" name="sphereTop_rb">
+            <property name="text">
+             <string>Simple</string>
+            </property>
+            <property name="checked">
+             <bool>true</bool>
+            </property>
            </widget>
           </item>
           <item>
-           <widget class="QWidget" name="widget_8" native="true">
-            <layout class="QHBoxLayout" name="horizontalLayout_3">
-             <item>
-              <widget class="QRadioButton" name="sphericalTop_rb">
-               <property name="text">
-                <string>Simple</string>
-               </property>
-               <property name="checked">
-                <bool>true</bool>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QRadioButton" name="sphericalUni_rb">
-               <property name="text">
-                <string>Uniform</string>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QRadioButton" name="spherical2_rb">
-               <property name="text">
-                <string>Custom</string>
-               </property>
-              </widget>
-             </item>
-            </layout>
+           <widget class="QRadioButton" name="sphereUni_rb">
+            <property name="text">
+             <string>Uniform</string>
+            </property>
            </widget>
           </item>
           <item>
-           <widget class="QWidget" name="widget_9" native="true">
-            <layout class="QHBoxLayout" name="horizontalLayout_4">
-             <item>
-              <widget class="QRadioButton" name="rindTop_rb">
-               <property name="text">
-                <string>Simple</string>
-               </property>
-               <property name="checked">
-                <bool>true</bool>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QRadioButton" name="rindUni_rb">
-               <property name="text">
-                <string>Uniform</string>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QRadioButton" name="rind2_rb">
-               <property name="text">
-                <string>Custom</string>
-               </property>
-              </widget>
-             </item>
-            </layout>
+           <widget class="QRadioButton" name="sphere2_rb">
+            <property name="text">
+             <string>Custom</string>
+            </property>
            </widget>
           </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QWidget" name="widget_8" native="true">
+         <layout class="QHBoxLayout" name="horizontalLayout_3">
           <item>
-           <widget class="QWidget" name="widget_2" native="true">
-            <layout class="QFormLayout" name="formLayout_2">
-             <item row="0" column="0">
-              <widget class="QLabel" name="label">
-               <property name="text">
-                <string>center</string>
-               </property>
-              </widget>
-             </item>
-             <item row="0" column="1">
-              <widget class="QLineEdit" name="center_le">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="toolTip">
-                <string extracomment="select vertex"/>
-               </property>
-               <property name="readOnly">
-                <bool>false</bool>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="0">
-              <widget class="QLabel" name="label_3">
-               <property name="text">
-                <string>axis</string>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="1">
-              <widget class="QLineEdit" name="hole_axis_le">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="toolTip">
-                <string extracomment="select vector"/>
-               </property>
-               <property name="readOnly">
-                <bool>false</bool>
-               </property>
-              </widget>
-             </item>
-             <item row="2" column="0">
-              <widget class="QLabel" name="label_5">
-               <property name="text">
-                <string>base</string>
-               </property>
-              </widget>
-             </item>
-             <item row="2" column="1">
-              <widget class="QLineEdit" name="base_le"/>
-             </item>
-            </layout>
+           <widget class="QRadioButton" name="sphericalTop_rb">
+            <property name="text">
+             <string>Simple</string>
+            </property>
+            <property name="checked">
+             <bool>true</bool>
+            </property>
            </widget>
           </item>
           <item>
-           <widget class="QWidget" name="widget_3" native="true">
-            <layout class="QFormLayout" name="formLayout">
-             <property name="fieldGrowthPolicy">
-              <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
-             </property>
-             <item row="1" column="0">
-              <widget class="QLabel" name="label_6">
-               <property name="text">
-                <string>hole radius</string>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="1">
-              <widget class="QDoubleSpinBox" name="hole_rad_spb">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="decimals">
-                <number>6</number>
-               </property>
-               <property name="maximum">
-                <double>1000000000.000000000000000</double>
-               </property>
-               <property name="value">
-                <double>1.000000000000000</double>
-               </property>
-              </widget>
-             </item>
-            </layout>
+           <widget class="QRadioButton" name="sphericalUni_rb">
+            <property name="text">
+             <string>Uniform</string>
+            </property>
            </widget>
           </item>
           <item>
-           <widget class="QWidget" name="widget_4" native="true">
-            <layout class="QFormLayout" name="formLayout_4">
-             <item row="0" column="0">
-              <widget class="QLabel" name="label_11">
-               <property name="text">
-                <string>external radius</string>
-               </property>
-              </widget>
-             </item>
-             <item row="0" column="1">
-              <widget class="QDoubleSpinBox" name="sphere_radext_spb">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="decimals">
-                <number>6</number>
-               </property>
-               <property name="maximum">
-                <double>1000000000.000000000000000</double>
-               </property>
-               <property name="value">
-                <double>2.000000000000000</double>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="0">
-              <widget class="QLabel" name="int_rad_label">
-               <property name="enabled">
-                <bool>true</bool>
-               </property>
-               <property name="text">
-                <string>internal radius</string>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="1">
-              <widget class="QDoubleSpinBox" name="sphere_radint_spb">
-               <property name="enabled">
-                <bool>true</bool>
-               </property>
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="decimals">
-                <number>6</number>
-               </property>
-               <property name="maximum">
-                <double>1000000000.000000000000000</double>
-               </property>
-               <property name="value">
-                <double>1.000000000000000</double>
-               </property>
-              </widget>
-             </item>
-             <item row="2" column="0">
-              <widget class="QLabel" name="angle_label">
-               <property name="enabled">
-                <bool>true</bool>
-               </property>
-               <property name="text">
-                <string>slice angle</string>
-               </property>
-              </widget>
-             </item>
-             <item row="2" column="1">
-              <widget class="QDoubleSpinBox" name="radial_angle_spb">
-               <property name="enabled">
-                <bool>true</bool>
-               </property>
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="decimals">
-                <number>6</number>
-               </property>
-               <property name="maximum">
-                <double>360.000000000000000</double>
-               </property>
-               <property name="value">
-                <double>180.000000000000000</double>
-               </property>
-              </widget>
-             </item>
-            </layout>
+           <widget class="QRadioButton" name="spherical2_rb">
+            <property name="text">
+             <string>Custom</string>
+            </property>
            </widget>
           </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QWidget" name="widget_9" native="true">
+         <layout class="QHBoxLayout" name="horizontalLayout_4">
           <item>
-           <widget class="QWidget" name="widget_10" native="true">
-            <layout class="QFormLayout" name="formLayout_6">
-             <property name="fieldGrowthPolicy">
-              <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
-             </property>
-             <item row="1" column="0">
-              <widget class="QLabel" name="label_12">
-               <property name="text">
-                <string>vplan</string>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="1">
-              <widget class="QLineEdit" name="vplan_le"/>
-             </item>
-            </layout>
+           <widget class="QRadioButton" name="rindTop_rb">
+            <property name="text">
+             <string>Simple</string>
+            </property>
+            <property name="checked">
+             <bool>true</bool>
+            </property>
            </widget>
           </item>
           <item>
-           <widget class="QWidget" name="widget_20" native="true">
-            <layout class="QFormLayout" name="formLayout_12">
-             <item row="0" column="0">
-              <widget class="QLabel" name="label_4">
-               <property name="text">
-                <string>Criteria</string>
-               </property>
-              </widget>
-             </item>
-             <item row="0" column="1">
-              <widget class="QSpinBox" name="crit_spb">
-               <property name="maximum">
-                <number>1000000</number>
-               </property>
-               <property name="value">
-                <number>0</number>
-               </property>
-              </widget>
-             </item>
-            </layout>
+           <widget class="QRadioButton" name="rindUni_rb">
+            <property name="text">
+             <string>Uniform</string>
+            </property>
            </widget>
           </item>
           <item>
-           <widget class="QWidget" name="widget_5" native="true">
-            <layout class="QFormLayout" name="formLayout_3">
-             <item row="0" column="0">
-              <widget class="QLabel" name="label_2">
-               <property name="text">
-                <string>Nb layers</string>
-               </property>
-              </widget>
-             </item>
-             <item row="0" column="1">
-              <widget class="QSpinBox" name="nbre_spb">
-               <property name="maximum">
-                <number>1000000</number>
-               </property>
-               <property name="value">
-                <number>1</number>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="0">
-              <widget class="QLabel" name="label_7">
-               <property name="text">
-                <string>Criteria</string>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="1">
-              <widget class="QSpinBox" name="crit_spb_2">
-               <property name="maximum">
-                <number>1000000</number>
-               </property>
-              </widget>
-             </item>
-            </layout>
+           <widget class="QRadioButton" name="rind2_rb">
+            <property name="text">
+             <string>Custom</string>
+            </property>
            </widget>
           </item>
-          <item>
-           <widget class="QTabWidget" name="random_param_w_3">
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QWidget" name="widget_2" native="true">
+         <layout class="QFormLayout" name="formLayout_2">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label">
+            <property name="text">
+             <string>center</string>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QLineEdit" name="center_le">
             <property name="sizePolicy">
-             <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+             <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
               <horstretch>0</horstretch>
               <verstretch>0</verstretch>
              </sizepolicy>
             </property>
-            <property name="maximumSize">
-             <size>
-              <width>16777215</width>
-              <height>150</height>
-             </size>
+            <property name="toolTip">
+             <string extracomment="select vertex"/>
             </property>
-            <property name="currentIndex">
-             <number>0</number>
+            <property name="readOnly">
+             <bool>false</bool>
             </property>
-            <widget class="QWidget" name="ext_radius_tab_4">
-             <attribute name="title">
-              <string>radius</string>
-             </attribute>
-             <layout class="QGridLayout" name="gridLayout_11">
-              <item row="0" column="0">
-               <widget class="QPushButton" name="add_radius_pb_1">
-                <property name="enabled">
-                 <bool>true</bool>
-                </property>
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>+</string>
-                </property>
-               </widget>
-              </item>
-              <item row="0" column="1" rowspan="4">
-               <widget class="QListWidget" name="radius_lw_1">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-               </widget>
-              </item>
-              <item row="1" column="0">
-               <widget class="QPushButton" name="del_radius_pb_1">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>-</string>
-                </property>
-               </widget>
-              </item>
-              <item row="2" column="0">
-               <spacer name="verticalSpacer_13">
-                <property name="orientation">
-                 <enum>Qt::Vertical</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>20</width>
-                  <height>139</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-             </layout>
-            </widget>
            </widget>
           </item>
-          <item>
-           <widget class="QTabWidget" name="random_param_w">
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_3">
+            <property name="text">
+             <string>axis</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="1">
+           <widget class="QLineEdit" name="hole_axis_le">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="toolTip">
+             <string extracomment="select vector"/>
+            </property>
+            <property name="readOnly">
+             <bool>false</bool>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="0">
+           <widget class="QLabel" name="label_5">
+            <property name="text">
+             <string>base</string>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="1">
+           <widget class="QLineEdit" name="base_le"/>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QWidget" name="widget_4" native="true">
+         <layout class="QFormLayout" name="formLayout_4">
+          <property name="fieldGrowthPolicy">
+           <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
+          </property>
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_11">
+            <property name="text">
+             <string>external radius</string>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QDoubleSpinBox" name="sphere_radext_spb">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="decimals">
+             <number>6</number>
+            </property>
+            <property name="maximum">
+             <double>1000000000.000000000000000</double>
+            </property>
+            <property name="value">
+             <double>2.000000000000000</double>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="0">
+           <widget class="QLabel" name="int_rad_label">
+            <property name="enabled">
+             <bool>true</bool>
+            </property>
+            <property name="text">
+             <string>internal radius</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="1">
+           <widget class="QDoubleSpinBox" name="sphere_radint_spb">
+            <property name="enabled">
+             <bool>true</bool>
+            </property>
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="decimals">
+             <number>6</number>
+            </property>
+            <property name="maximum">
+             <double>1000000000.000000000000000</double>
+            </property>
+            <property name="value">
+             <double>1.000000000000000</double>
+            </property>
+           </widget>
+          </item>
+          <item row="4" column="0">
+           <widget class="QLabel" name="angle_label">
+            <property name="enabled">
+             <bool>true</bool>
+            </property>
+            <property name="text">
+             <string>slice angle</string>
+            </property>
+           </widget>
+          </item>
+          <item row="4" column="1">
+           <widget class="QDoubleSpinBox" name="radial_angle_spb">
+            <property name="enabled">
+             <bool>true</bool>
+            </property>
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="decimals">
+             <number>6</number>
+            </property>
+            <property name="maximum">
+             <double>360.000000000000000</double>
+            </property>
+            <property name="value">
+             <double>180.000000000000000</double>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="1">
+           <widget class="QDoubleSpinBox" name="hole_rad_spb">
             <property name="sizePolicy">
-             <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
               <horstretch>0</horstretch>
               <verstretch>0</verstretch>
              </sizepolicy>
             </property>
-            <property name="maximumSize">
-             <size>
-              <width>16777215</width>
-              <height>150</height>
-             </size>
+            <property name="decimals">
+             <number>6</number>
+            </property>
+            <property name="maximum">
+             <double>1000000000.000000000000000</double>
+            </property>
+            <property name="value">
+             <double>0.500000000000000</double>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="0">
+           <widget class="QLabel" name="label_6">
+            <property name="text">
+             <string>hole radius</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QWidget" name="widget_10" native="true">
+         <layout class="QFormLayout" name="formLayout_6">
+          <property name="fieldGrowthPolicy">
+           <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
+          </property>
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_12">
+            <property name="text">
+             <string>vertex for cut plan</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="1">
+           <widget class="QLineEdit" name="vplan_le"/>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QWidget" name="widget_20" native="true">
+         <layout class="QFormLayout" name="formLayout_12">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_4">
+            <property name="text">
+             <string>Criteria</string>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QSpinBox" name="crit_spb">
+            <property name="maximum">
+             <number>1000000</number>
             </property>
-            <property name="currentIndex">
+            <property name="value">
              <number>0</number>
             </property>
-            <widget class="QWidget" name="ext_radius_tab_3">
-             <attribute name="title">
-              <string>radius</string>
-             </attribute>
-             <layout class="QGridLayout" name="gridLayout_8">
-              <item row="0" column="0">
-               <widget class="QPushButton" name="add_radius_pb_2">
-                <property name="enabled">
-                 <bool>true</bool>
-                </property>
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>+</string>
-                </property>
-               </widget>
-              </item>
-              <item row="0" column="1" rowspan="4">
-               <widget class="QListWidget" name="radius_lw_2">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-               </widget>
-              </item>
-              <item row="1" column="0">
-               <widget class="QPushButton" name="del_radius_pb_2">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>-</string>
-                </property>
-               </widget>
-              </item>
-              <item row="2" column="0">
-               <spacer name="verticalSpacer_10">
-                <property name="orientation">
-                 <enum>Qt::Vertical</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>20</width>
-                  <height>139</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-             </layout>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QWidget" name="widget_5" native="true">
+         <layout class="QFormLayout" name="formLayout_3">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_2">
+            <property name="text">
+             <string>Nb layers</string>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QSpinBox" name="nbre_spb">
+            <property name="maximum">
+             <number>1000000</number>
+            </property>
+            <property name="value">
+             <number>2</number>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_7">
+            <property name="text">
+             <string>Criteria</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="1">
+           <widget class="QSpinBox" name="crit_spb_2">
+            <property name="maximum">
+             <number>1000000</number>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QTabWidget" name="random_param_w_3">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>16777215</width>
+           <height>150</height>
+          </size>
+         </property>
+         <property name="currentIndex">
+          <number>0</number>
+         </property>
+         <widget class="QWidget" name="ext_radius_tab_4">
+          <attribute name="title">
+           <string>radius</string>
+          </attribute>
+          <layout class="QGridLayout" name="gridLayout_11">
+           <item row="0" column="0">
+            <widget class="QPushButton" name="add_radius_pb_1">
+             <property name="enabled">
+              <bool>true</bool>
+             </property>
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>+</string>
+             </property>
+            </widget>
+           </item>
+           <item row="0" column="1" rowspan="4">
+            <widget class="QListWidget" name="radius_lw_1">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+            </widget>
+           </item>
+           <item row="1" column="0">
+            <widget class="QPushButton" name="del_radius_pb_1">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>-</string>
+             </property>
+            </widget>
+           </item>
+           <item row="2" column="0">
+            <spacer name="verticalSpacer_13">
+             <property name="orientation">
+              <enum>Qt::Vertical</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>139</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
+         </widget>
+        </widget>
+       </item>
+       <item>
+        <widget class="QTabWidget" name="random_param_w">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>16777215</width>
+           <height>150</height>
+          </size>
+         </property>
+         <property name="currentIndex">
+          <number>0</number>
+         </property>
+         <widget class="QWidget" name="ext_radius_tab_3">
+          <attribute name="title">
+           <string>radius</string>
+          </attribute>
+          <layout class="QGridLayout" name="gridLayout_8">
+           <item row="0" column="0">
+            <widget class="QPushButton" name="add_radius_pb_2">
+             <property name="enabled">
+              <bool>true</bool>
+             </property>
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>+</string>
+             </property>
+            </widget>
+           </item>
+           <item row="0" column="1" rowspan="4">
+            <widget class="QListWidget" name="radius_lw_2">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+            </widget>
+           </item>
+           <item row="1" column="0">
+            <widget class="QPushButton" name="del_radius_pb_2">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>-</string>
+             </property>
+            </widget>
+           </item>
+           <item row="2" column="0">
+            <spacer name="verticalSpacer_10">
+             <property name="orientation">
+              <enum>Qt::Vertical</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>139</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
+         </widget>
+         <widget class="QWidget" name="ext_angle_tab_3">
+          <attribute name="title">
+           <string>angle</string>
+          </attribute>
+          <layout class="QGridLayout" name="gridLayout_9">
+           <item row="0" column="0">
+            <widget class="QPushButton" name="add_angle_pb">
+             <property name="enabled">
+              <bool>true</bool>
+             </property>
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>+</string>
+             </property>
+            </widget>
+           </item>
+           <item row="0" column="1" rowspan="3">
+            <widget class="QListWidget" name="angle_lw"/>
+           </item>
+           <item row="1" column="0">
+            <widget class="QPushButton" name="del_angle_pb">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>-</string>
+             </property>
+            </widget>
+           </item>
+           <item row="2" column="0">
+            <spacer name="verticalSpacer_11">
+             <property name="orientation">
+              <enum>Qt::Vertical</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>139</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
+         </widget>
+         <widget class="QWidget" name="ext_height_tab_3">
+          <attribute name="title">
+           <string>height</string>
+          </attribute>
+          <layout class="QGridLayout" name="gridLayout_10">
+           <item row="0" column="0">
+            <widget class="QPushButton" name="add_height_pb">
+             <property name="enabled">
+              <bool>true</bool>
+             </property>
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>+</string>
+             </property>
             </widget>
-            <widget class="QWidget" name="ext_angle_tab_3">
-             <attribute name="title">
-              <string>angle</string>
-             </attribute>
-             <layout class="QGridLayout" name="gridLayout_9">
-              <item row="0" column="0">
-               <widget class="QPushButton" name="add_angle_pb">
-                <property name="enabled">
-                 <bool>true</bool>
-                </property>
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>+</string>
-                </property>
-               </widget>
-              </item>
-              <item row="0" column="1" rowspan="3">
-               <widget class="QListWidget" name="angle_lw"/>
-              </item>
-              <item row="1" column="0">
-               <widget class="QPushButton" name="del_angle_pb">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>-</string>
-                </property>
-               </widget>
-              </item>
-              <item row="2" column="0">
-               <spacer name="verticalSpacer_11">
-                <property name="orientation">
-                 <enum>Qt::Vertical</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>20</width>
-                  <height>139</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-             </layout>
+           </item>
+           <item row="0" column="1" rowspan="3">
+            <widget class="QListWidget" name="height_lw">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
             </widget>
-            <widget class="QWidget" name="ext_height_tab_3">
-             <attribute name="title">
-              <string>height</string>
-             </attribute>
-             <layout class="QGridLayout" name="gridLayout_10">
-              <item row="0" column="0">
-               <widget class="QPushButton" name="add_height_pb">
-                <property name="enabled">
-                 <bool>true</bool>
-                </property>
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>+</string>
-                </property>
-               </widget>
-              </item>
-              <item row="0" column="1" rowspan="3">
-               <widget class="QListWidget" name="height_lw">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-               </widget>
-              </item>
-              <item row="1" column="0">
-               <widget class="QPushButton" name="del_height_pb">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>-</string>
-                </property>
-               </widget>
-              </item>
-              <item row="2" column="0">
-               <spacer name="verticalSpacer_12">
-                <property name="orientation">
-                 <enum>Qt::Vertical</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>20</width>
-                  <height>139</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-             </layout>
+           </item>
+           <item row="1" column="0">
+            <widget class="QPushButton" name="del_height_pb">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>-</string>
+             </property>
             </widget>
+           </item>
+           <item row="2" column="0">
+            <spacer name="verticalSpacer_12">
+             <property name="orientation">
+              <enum>Qt::Vertical</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>139</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
+         </widget>
+        </widget>
+       </item>
+       <item>
+        <widget class="QWidget" name="widget_6" native="true">
+         <layout class="QFormLayout" name="formLayout_5">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_8">
+            <property name="text">
+             <string>nb Radial</string>
+            </property>
            </widget>
           </item>
-          <item>
-           <widget class="QWidget" name="widget_6" native="true">
-            <layout class="QFormLayout" name="formLayout_5">
-             <item row="0" column="0">
-              <widget class="QLabel" name="label_8">
-               <property name="text">
-                <string>nb Radial</string>
-               </property>
-              </widget>
-             </item>
-             <item row="0" column="1">
-              <widget class="QSpinBox" name="ngrid_rad_spb">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="minimum">
-                <number>1</number>
-               </property>
-               <property name="maximum">
-                <number>1000000</number>
-               </property>
-               <property name="value">
-                <number>1</number>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="0">
-              <widget class="QLabel" name="label_9">
-               <property name="text">
-                <string>nb Angular</string>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="1">
-              <widget class="QSpinBox" name="ngrid_ang_spb">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="minimum">
-                <number>1</number>
-               </property>
-               <property name="maximum">
-                <number>1000000</number>
-               </property>
-               <property name="value">
-                <number>3</number>
-               </property>
-              </widget>
-             </item>
-             <item row="2" column="0">
-              <widget class="QLabel" name="label_10">
-               <property name="text">
-                <string>nb Height</string>
-               </property>
-              </widget>
-             </item>
-             <item row="2" column="1">
-              <widget class="QSpinBox" name="ngrid_height_spb">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="minimum">
-                <number>1</number>
-               </property>
-               <property name="maximum">
-                <number>1000000</number>
-               </property>
-               <property name="value">
-                <number>1</number>
-               </property>
-              </widget>
-             </item>
-            </layout>
+          <item row="0" column="1">
+           <widget class="QSpinBox" name="ngrid_rad_spb">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="minimum">
+             <number>1</number>
+            </property>
+            <property name="maximum">
+             <number>1000000</number>
+            </property>
+            <property name="value">
+             <number>4</number>
+            </property>
            </widget>
           </item>
-          <item>
-           <spacer name="verticalSpacer">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_9">
+            <property name="text">
+             <string>nb Angular</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="1">
+           <widget class="QSpinBox" name="ngrid_ang_spb">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="minimum">
+             <number>1</number>
+            </property>
+            <property name="maximum">
+             <number>1000000</number>
+            </property>
+            <property name="value">
+             <number>8</number>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="0">
+           <widget class="QLabel" name="label_10">
+            <property name="text">
+             <string>nb Height</string>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="1">
+           <widget class="QSpinBox" name="ngrid_height_spb">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="minimum">
+             <number>1</number>
             </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>20</width>
-              <height>40</height>
-             </size>
+            <property name="maximum">
+             <number>1000000</number>
             </property>
-           </spacer>
+            <property name="value">
+             <number>4</number>
+            </property>
+           </widget>
           </item>
          </layout>
         </widget>
        </item>
+       <item>
+        <spacer name="verticalSpacer">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
       </layout>
      </widget>
     </widget>
   <tabstop>center_le</tabstop>
   <tabstop>hole_axis_le</tabstop>
   <tabstop>base_le</tabstop>
-  <tabstop>hole_rad_spb</tabstop>
   <tabstop>sphere_radext_spb</tabstop>
   <tabstop>sphere_radint_spb</tabstop>
   <tabstop>radial_angle_spb</tabstop>
   <tabstop>crit_spb</tabstop>
   <tabstop>nbre_spb</tabstop>
   <tabstop>crit_spb_2</tabstop>
-  <tabstop>random_param_w_3</tabstop>
   <tabstop>add_radius_pb_1</tabstop>
   <tabstop>del_radius_pb_1</tabstop>
   <tabstop>radius_lw_1</tabstop>
-  <tabstop>random_param_w</tabstop>
   <tabstop>add_angle_pb</tabstop>
   <tabstop>add_radius_pb_2</tabstop>
   <tabstop>del_radius_pb_2</tabstop>
     </hint>
    </hints>
   </connection>
-  <connection>
-   <sender>sphere_rb</sender>
-   <signal>clicked()</signal>
-   <receiver>widget_3</receiver>
-   <slot>hide()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>72</x>
-     <y>28</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>192</x>
-     <y>417</y>
-    </hint>
-   </hints>
-  </connection>
   <connection>
    <sender>sphere_rb</sender>
    <signal>clicked()</signal>
   <connection>
    <sender>sphericalTop_rb</sender>
    <signal>clicked()</signal>
-   <receiver>widget_3</receiver>
+   <receiver>random_param_w_3</receiver>
    <slot>hide()</slot>
    <hints>
     <hint type="sourcelabel">
     </hint>
     <hint type="destinationlabel">
      <x>192</x>
-     <y>417</y>
+     <y>768</y>
     </hint>
    </hints>
   </connection>
   <connection>
    <sender>sphericalTop_rb</sender>
    <signal>clicked()</signal>
-   <receiver>random_param_w_3</receiver>
+   <receiver>widget_20</receiver>
    <slot>hide()</slot>
    <hints>
     <hint type="sourcelabel">
     </hint>
     <hint type="destinationlabel">
      <x>192</x>
-     <y>768</y>
+     <y>588</y>
     </hint>
    </hints>
   </connection>
   <connection>
-   <sender>sphericalTop_rb</sender>
-   <signal>clicked()</signal>
-   <receiver>widget_20</receiver>
-   <slot>hide()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>88</x>
-     <y>145</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>192</x>
-     <y>588</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>sphericalUni_rb</sender>
+   <sender>sphericalUni_rb</sender>
    <signal>clicked()</signal>
    <receiver>widget_2</receiver>
    <slot>show()</slot>
     </hint>
    </hints>
   </connection>
-  <connection>
-   <sender>sphericalUni_rb</sender>
-   <signal>clicked()</signal>
-   <receiver>widget_3</receiver>
-   <slot>show()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>202</x>
-     <y>145</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>192</x>
-     <y>417</y>
-    </hint>
-   </hints>
-  </connection>
   <connection>
    <sender>sphericalUni_rb</sender>
    <signal>clicked()</signal>
     </hint>
    </hints>
   </connection>
-  <connection>
-   <sender>spherical2_rb</sender>
-   <signal>clicked()</signal>
-   <receiver>widget_3</receiver>
-   <slot>hide()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>306</x>
-     <y>145</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>192</x>
-     <y>417</y>
-    </hint>
-   </hints>
-  </connection>
   <connection>
    <sender>spherical2_rb</sender>
    <signal>clicked()</signal>
     </hint>
    </hints>
   </connection>
-  <connection>
-   <sender>rindTop_rb</sender>
-   <signal>clicked()</signal>
-   <receiver>widget_3</receiver>
-   <slot>hide()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>85</x>
-     <y>191</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>192</x>
-     <y>417</y>
-    </hint>
-   </hints>
-  </connection>
   <connection>
    <sender>rindTop_rb</sender>
    <signal>clicked()</signal>
     </hint>
    </hints>
   </connection>
-  <connection>
-   <sender>rindUni_rb</sender>
-   <signal>clicked()</signal>
-   <receiver>widget_3</receiver>
-   <slot>show()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>192</x>
-     <y>191</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>192</x>
-     <y>417</y>
-    </hint>
-   </hints>
-  </connection>
   <connection>
    <sender>rindUni_rb</sender>
    <signal>clicked()</signal>
   <connection>
    <sender>rind2_rb</sender>
    <signal>clicked()</signal>
-   <receiver>widget_3</receiver>
+   <receiver>widget_4</receiver>
    <slot>hide()</slot>
    <hints>
     <hint type="sourcelabel">
     </hint>
     <hint type="destinationlabel">
      <x>192</x>
-     <y>417</y>
+     <y>504</y>
     </hint>
    </hints>
   </connection>
   <connection>
    <sender>rind2_rb</sender>
    <signal>clicked()</signal>
-   <receiver>widget_4</receiver>
+   <receiver>widget_6</receiver>
    <slot>hide()</slot>
    <hints>
     <hint type="sourcelabel">
     </hint>
     <hint type="destinationlabel">
      <x>192</x>
-     <y>504</y>
+     <y>1040</y>
     </hint>
    </hints>
   </connection>
   <connection>
-   <sender>rind2_rb</sender>
+   <sender>sphereUni_rb</sender>
    <signal>clicked()</signal>
-   <receiver>widget_6</receiver>
+   <receiver>int_rad_label</receiver>
    <slot>hide()</slot>
    <hints>
     <hint type="sourcelabel">
-     <x>299</x>
-     <y>191</y>
+     <x>192</x>
+     <y>86</y>
     </hint>
     <hint type="destinationlabel">
+     <x>73</x>
+     <y>377</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>sphereUni_rb</sender>
+   <signal>clicked()</signal>
+   <receiver>sphere_radint_spb</receiver>
+   <slot>hide()</slot>
+   <hints>
+    <hint type="sourcelabel">
      <x>192</x>
-     <y>1040</y>
+     <y>86</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>243</x>
+     <y>377</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>rindUni_rb</sender>
+   <signal>clicked()</signal>
+   <receiver>int_rad_label</receiver>
+   <slot>show()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>192</x>
+     <y>178</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>73</x>
+     <y>377</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>rindUni_rb</sender>
+   <signal>clicked()</signal>
+   <receiver>sphere_radint_spb</receiver>
+   <slot>show()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>192</x>
+     <y>178</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>243</x>
+     <y>377</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>sphericalUni_rb</sender>
+   <signal>clicked()</signal>
+   <receiver>widget_4</receiver>
+   <slot>show()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>192</x>
+     <y>132</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>192</x>
+     <y>396</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>sphericalUni_rb</sender>
+   <signal>clicked()</signal>
+   <receiver>int_rad_label</receiver>
+   <slot>hide()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>192</x>
+     <y>132</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>73</x>
+     <y>377</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>sphericalUni_rb</sender>
+   <signal>clicked()</signal>
+   <receiver>sphere_radint_spb</receiver>
+   <slot>hide()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>192</x>
+     <y>132</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>243</x>
+     <y>377</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>sphericalUni_rb</sender>
+   <signal>clicked()</signal>
+   <receiver>label_6</receiver>
+   <slot>hide()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>192</x>
+     <y>132</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>62</x>
+     <y>410</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>sphericalUni_rb</sender>
+   <signal>clicked()</signal>
+   <receiver>hole_rad_spb</receiver>
+   <slot>hide()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>192</x>
+     <y>132</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>243</x>
+     <y>410</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>sphericalUni_rb</sender>
+   <signal>clicked()</signal>
+   <receiver>angle_label</receiver>
+   <slot>hide()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>192</x>
+     <y>132</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>61</x>
+     <y>449</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>sphericalUni_rb</sender>
+   <signal>clicked()</signal>
+   <receiver>radial_angle_spb</receiver>
+   <slot>hide()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>192</x>
+     <y>132</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>243</x>
+     <y>449</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>sphereUni_rb</sender>
+   <signal>clicked()</signal>
+   <receiver>label_6</receiver>
+   <slot>show()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>192</x>
+     <y>86</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>62</x>
+     <y>410</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>sphereUni_rb</sender>
+   <signal>clicked()</signal>
+   <receiver>hole_rad_spb</receiver>
+   <slot>show()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>192</x>
+     <y>86</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>243</x>
+     <y>410</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>sphereUni_rb</sender>
+   <signal>clicked()</signal>
+   <receiver>angle_label</receiver>
+   <slot>show()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>192</x>
+     <y>86</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>61</x>
+     <y>449</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>sphereUni_rb</sender>
+   <signal>clicked()</signal>
+   <receiver>radial_angle_spb</receiver>
+   <slot>show()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>192</x>
+     <y>86</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>243</x>
+     <y>449</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>rindUni_rb</sender>
+   <signal>clicked()</signal>
+   <receiver>label_6</receiver>
+   <slot>show()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>192</x>
+     <y>178</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>62</x>
+     <y>410</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>rindUni_rb</sender>
+   <signal>clicked()</signal>
+   <receiver>hole_rad_spb</receiver>
+   <slot>show()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>192</x>
+     <y>178</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>243</x>
+     <y>410</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>rindUni_rb</sender>
+   <signal>clicked()</signal>
+   <receiver>angle_label</receiver>
+   <slot>show()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>192</x>
+     <y>178</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>61</x>
+     <y>449</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>rindUni_rb</sender>
+   <signal>clicked()</signal>
+   <receiver>radial_angle_spb</receiver>
+   <slot>show()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>192</x>
+     <y>178</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>243</x>
+     <y>449</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>sphericalTop_rb</sender>
+   <signal>clicked()</signal>
+   <receiver>widget_4</receiver>
+   <slot>hide()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>80</x>
+     <y>132</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>192</x>
+     <y>396</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>spherical2_rb</sender>
+   <signal>clicked()</signal>
+   <receiver>widget_4</receiver>
+   <slot>hide()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>304</x>
+     <y>132</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>192</x>
+     <y>396</y>
     </hint>
    </hints>
   </connection>
index 6cff7c1157b130ed96039497b1abd38c018e4e61..c3ecb3fb506a749998ca273dc59fe1ed1fd3ab2e 100644 (file)
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>357</width>
-    <height>376</height>
+    <width>351</width>
+    <height>695</height>
    </rect>
   </property>
   <property name="sizePolicy">
        <rect>
         <x>0</x>
         <y>0</y>
-        <width>319</width>
-        <height>580</height>
+        <width>337</width>
+        <height>638</height>
        </rect>
       </property>
       <layout class="QVBoxLayout" name="verticalLayout_2">
        <item>
-        <widget class="QGroupBox" name="groupBox_1">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="minimumSize">
-          <size>
-           <width>5</width>
-           <height>0</height>
-          </size>
-         </property>
-         <property name="title">
-          <string/>
-         </property>
-         <layout class="QVBoxLayout" name="verticalLayout_4">
-          <item>
-           <widget class="QWidget" name="geomobj_group" native="true">
-            <layout class="QFormLayout" name="formLayout_8">
-             <item row="0" column="0">
-              <widget class="QLabel" name="label_26">
-               <property name="text">
-                <string>origin</string>
-               </property>
-              </widget>
-             </item>
-             <item row="0" column="1">
-              <widget class="QLineEdit" name="origin_le"/>
-             </item>
-             <item row="1" column="0">
-              <widget class="QLabel" name="label_27">
-               <property name="text">
-                <string>axis</string>
-               </property>
-              </widget>
-             </item>
-             <item row="2" column="0">
-              <widget class="QLabel" name="label_28">
-               <property name="text">
-                <string>base</string>
-               </property>
-              </widget>
-             </item>
-             <item row="2" column="1">
-              <widget class="QLineEdit" name="base_le">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="maximumSize">
-                <size>
-                 <width>16777215</width>
-                 <height>16777215</height>
-                </size>
-               </property>
-               <property name="readOnly">
-                <bool>false</bool>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="1">
-              <widget class="QLineEdit" name="axis_le"/>
-             </item>
-            </layout>
+        <widget class="QWidget" name="geomobj_group" native="true">
+         <layout class="QFormLayout" name="formLayout_8">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_26">
+            <property name="text">
+             <string>origin</string>
+            </property>
            </widget>
           </item>
-          <item>
-           <widget class="QWidget" name="rah_group" native="true">
-            <layout class="QFormLayout" name="formLayout_9">
-             <item row="0" column="0">
-              <widget class="QLabel" name="label_29">
-               <property name="text">
-                <string>radius</string>
-               </property>
-              </widget>
-             </item>
-             <item row="0" column="1">
-              <widget class="QDoubleSpinBox" name="ext_radius_spb">
-               <property name="decimals">
-                <number>6</number>
-               </property>
-               <property name="maximum">
-                <double>1000000000.000000000000000</double>
-               </property>
-               <property name="value">
-                <double>2.000000000000000</double>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="0">
-              <widget class="QLabel" name="label_30">
-               <property name="text">
-                <string>hole radius</string>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="1">
-              <widget class="QDoubleSpinBox" name="int_radius_spb">
-               <property name="decimals">
-                <number>6</number>
-               </property>
-               <property name="maximum">
-                <double>1000000000.000000000000000</double>
-               </property>
-               <property name="value">
-                <double>1.000000000000000</double>
-               </property>
-              </widget>
-             </item>
-             <item row="2" column="0">
-              <widget class="QLabel" name="label_31">
-               <property name="text">
-                <string>slice angle</string>
-               </property>
-              </widget>
-             </item>
-             <item row="2" column="1">
-              <widget class="QDoubleSpinBox" name="angle_spb">
-               <property name="decimals">
-                <number>6</number>
-               </property>
-               <property name="maximum">
-                <double>360.000000000000000</double>
-               </property>
-               <property name="singleStep">
-                <double>10.000000000000000</double>
-               </property>
-               <property name="value">
-                <double>360.000000000000000</double>
-               </property>
-              </widget>
-             </item>
-             <item row="3" column="0">
-              <widget class="QLabel" name="label_32">
-               <property name="text">
-                <string>height</string>
-               </property>
-              </widget>
-             </item>
-             <item row="3" column="1">
-              <widget class="QDoubleSpinBox" name="height_spb">
-               <property name="decimals">
-                <number>6</number>
-               </property>
-               <property name="maximum">
-                <double>1000000000.000000000000000</double>
-               </property>
-               <property name="value">
-                <double>1.000000000000000</double>
-               </property>
-              </widget>
-             </item>
-            </layout>
+          <item row="0" column="1">
+           <widget class="QLineEdit" name="origin_le"/>
+          </item>
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_27">
+            <property name="text">
+             <string>axis</string>
+            </property>
            </widget>
           </item>
-          <item>
-           <widget class="QWidget" name="n_group" native="true">
-            <layout class="QFormLayout" name="formLayout_10">
-             <property name="fieldGrowthPolicy">
-              <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
-             </property>
-             <item row="0" column="1">
-              <widget class="QSpinBox" name="nr_spb">
-               <property name="minimum">
-                <number>1</number>
-               </property>
-               <property name="maximum">
-                <number>1000000</number>
-               </property>
-               <property name="value">
-                <number>1</number>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="0">
-              <widget class="QLabel" name="label_33">
-               <property name="text">
-                <string>nb Angular</string>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="1">
-              <widget class="QSpinBox" name="na_spb">
-               <property name="minimum">
-                <number>1</number>
-               </property>
-               <property name="maximum">
-                <number>1000000</number>
-               </property>
-               <property name="value">
-                <number>3</number>
-               </property>
-              </widget>
-             </item>
-             <item row="2" column="0">
-              <widget class="QLabel" name="label_34">
-               <property name="text">
-                <string>nb Height</string>
-               </property>
-              </widget>
-             </item>
-             <item row="2" column="1">
-              <widget class="QSpinBox" name="nh_spb">
-               <property name="minimum">
-                <number>1</number>
-               </property>
-               <property name="maximum">
-                <number>1000000</number>
-               </property>
-               <property name="value">
-                <number>1</number>
-               </property>
-              </widget>
-             </item>
-             <item row="0" column="0">
-              <widget class="QLabel" name="label_35">
-               <property name="text">
-                <string>nb Radial</string>
-               </property>
-              </widget>
-             </item>
-            </layout>
+          <item row="2" column="0">
+           <widget class="QLabel" name="label_28">
+            <property name="text">
+             <string>base</string>
+            </property>
            </widget>
           </item>
-          <item>
-           <widget class="QTabWidget" name="random_param_w">
+          <item row="2" column="1">
+           <widget class="QLineEdit" name="base_le">
             <property name="sizePolicy">
-             <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+             <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
               <horstretch>0</horstretch>
               <verstretch>0</verstretch>
              </sizepolicy>
             <property name="maximumSize">
              <size>
               <width>16777215</width>
-              <height>150</height>
+              <height>16777215</height>
              </size>
             </property>
-            <property name="currentIndex">
-             <number>0</number>
-            </property>
-            <widget class="QWidget" name="ext_radius_tab">
-             <attribute name="title">
-              <string>radius</string>
-             </attribute>
-             <layout class="QGridLayout" name="gridLayout_8">
-              <item row="0" column="0">
-               <widget class="QPushButton" name="add_radius_pb">
-                <property name="enabled">
-                 <bool>true</bool>
-                </property>
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>+</string>
-                </property>
-               </widget>
-              </item>
-              <item row="0" column="1" rowspan="4">
-               <widget class="QListWidget" name="radius_lw">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-               </widget>
-              </item>
-              <item row="1" column="0">
-               <widget class="QPushButton" name="del_radius_pb">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>-</string>
-                </property>
-               </widget>
-              </item>
-              <item row="2" column="0">
-               <spacer name="verticalSpacer_9">
-                <property name="orientation">
-                 <enum>Qt::Vertical</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>20</width>
-                  <height>139</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-             </layout>
-            </widget>
-            <widget class="QWidget" name="ext_angle_tab">
-             <attribute name="title">
-              <string>angle</string>
-             </attribute>
-             <layout class="QGridLayout" name="gridLayout_9">
-              <item row="0" column="0">
-               <widget class="QPushButton" name="add_angle_pb">
-                <property name="enabled">
-                 <bool>true</bool>
-                </property>
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>+</string>
-                </property>
-               </widget>
-              </item>
-              <item row="0" column="1" rowspan="3">
-               <widget class="QListWidget" name="angle_lw"/>
-              </item>
-              <item row="1" column="0">
-               <widget class="QPushButton" name="del_angle_pb">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>-</string>
-                </property>
-               </widget>
-              </item>
-              <item row="2" column="0">
-               <spacer name="verticalSpacer_10">
-                <property name="orientation">
-                 <enum>Qt::Vertical</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>20</width>
-                  <height>139</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-             </layout>
-            </widget>
-            <widget class="QWidget" name="ext_height_tab">
-             <attribute name="title">
-              <string>height</string>
-             </attribute>
-             <layout class="QGridLayout" name="gridLayout_10">
-              <item row="0" column="0">
-               <widget class="QPushButton" name="add_height_pb">
-                <property name="enabled">
-                 <bool>true</bool>
-                </property>
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>+</string>
-                </property>
-               </widget>
-              </item>
-              <item row="0" column="1" rowspan="3">
-               <widget class="QListWidget" name="height_lw">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-               </widget>
-              </item>
-              <item row="1" column="0">
-               <widget class="QPushButton" name="del_height_pb">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>-</string>
-                </property>
-               </widget>
-              </item>
-              <item row="2" column="0">
-               <spacer name="verticalSpacer_11">
-                <property name="orientation">
-                 <enum>Qt::Vertical</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>20</width>
-                  <height>139</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-             </layout>
-            </widget>
+            <property name="readOnly">
+             <bool>false</bool>
+            </property>
            </widget>
           </item>
-          <item>
-           <spacer name="verticalSpacer_12">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
+          <item row="1" column="1">
+           <widget class="QLineEdit" name="axis_le"/>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QWidget" name="rah_group" native="true">
+         <layout class="QFormLayout" name="formLayout_9">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_29">
+            <property name="text">
+             <string>radius</string>
             </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>20</width>
-              <height>0</height>
-             </size>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QDoubleSpinBox" name="ext_radius_spb">
+            <property name="decimals">
+             <number>6</number>
+            </property>
+            <property name="maximum">
+             <double>1000000000.000000000000000</double>
+            </property>
+            <property name="value">
+             <double>2.000000000000000</double>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_30">
+            <property name="text">
+             <string>hole radius</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="1">
+           <widget class="QDoubleSpinBox" name="int_radius_spb">
+            <property name="decimals">
+             <number>6</number>
+            </property>
+            <property name="maximum">
+             <double>1000000000.000000000000000</double>
+            </property>
+            <property name="value">
+             <double>1.000000000000000</double>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="0">
+           <widget class="QLabel" name="label_31">
+            <property name="text">
+             <string>slice angle</string>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="1">
+           <widget class="QDoubleSpinBox" name="angle_spb">
+            <property name="decimals">
+             <number>6</number>
+            </property>
+            <property name="maximum">
+             <double>360.000000000000000</double>
+            </property>
+            <property name="singleStep">
+             <double>10.000000000000000</double>
+            </property>
+            <property name="value">
+             <double>90.000000000000000</double>
+            </property>
+           </widget>
+          </item>
+          <item row="3" column="0">
+           <widget class="QLabel" name="label_32">
+            <property name="text">
+             <string>height</string>
+            </property>
+           </widget>
+          </item>
+          <item row="3" column="1">
+           <widget class="QDoubleSpinBox" name="height_spb">
+            <property name="decimals">
+             <number>6</number>
+            </property>
+            <property name="maximum">
+             <double>1000000000.000000000000000</double>
+            </property>
+            <property name="value">
+             <double>1.000000000000000</double>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QWidget" name="n_group" native="true">
+         <layout class="QFormLayout" name="formLayout_10">
+          <property name="fieldGrowthPolicy">
+           <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
+          </property>
+          <item row="0" column="1">
+           <widget class="QSpinBox" name="nr_spb">
+            <property name="minimum">
+             <number>1</number>
+            </property>
+            <property name="maximum">
+             <number>1000000</number>
+            </property>
+            <property name="value">
+             <number>4</number>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_33">
+            <property name="text">
+             <string>nb Angular</string>
             </property>
-           </spacer>
+           </widget>
+          </item>
+          <item row="1" column="1">
+           <widget class="QSpinBox" name="na_spb">
+            <property name="minimum">
+             <number>1</number>
+            </property>
+            <property name="maximum">
+             <number>1000000</number>
+            </property>
+            <property name="value">
+             <number>8</number>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="0">
+           <widget class="QLabel" name="label_34">
+            <property name="text">
+             <string>nb Height</string>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="1">
+           <widget class="QSpinBox" name="nh_spb">
+            <property name="minimum">
+             <number>1</number>
+            </property>
+            <property name="maximum">
+             <number>1000000</number>
+            </property>
+            <property name="value">
+             <number>4</number>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_35">
+            <property name="text">
+             <string>nb Radial</string>
+            </property>
+           </widget>
           </item>
          </layout>
         </widget>
        </item>
+       <item>
+        <widget class="QTabWidget" name="random_param_w">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>16777215</width>
+           <height>150</height>
+          </size>
+         </property>
+         <property name="currentIndex">
+          <number>0</number>
+         </property>
+         <widget class="QWidget" name="ext_radius_tab">
+          <attribute name="title">
+           <string>radius</string>
+          </attribute>
+          <layout class="QGridLayout" name="gridLayout_8">
+           <item row="0" column="0">
+            <widget class="QPushButton" name="add_radius_pb">
+             <property name="enabled">
+              <bool>true</bool>
+             </property>
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>+</string>
+             </property>
+            </widget>
+           </item>
+           <item row="0" column="1" rowspan="4">
+            <widget class="QListWidget" name="radius_lw">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+            </widget>
+           </item>
+           <item row="1" column="0">
+            <widget class="QPushButton" name="del_radius_pb">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>-</string>
+             </property>
+            </widget>
+           </item>
+           <item row="2" column="0">
+            <spacer name="verticalSpacer_9">
+             <property name="orientation">
+              <enum>Qt::Vertical</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>139</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
+         </widget>
+         <widget class="QWidget" name="ext_angle_tab">
+          <attribute name="title">
+           <string>angle</string>
+          </attribute>
+          <layout class="QGridLayout" name="gridLayout_9">
+           <item row="0" column="0">
+            <widget class="QPushButton" name="add_angle_pb">
+             <property name="enabled">
+              <bool>true</bool>
+             </property>
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>+</string>
+             </property>
+            </widget>
+           </item>
+           <item row="0" column="1" rowspan="3">
+            <widget class="QListWidget" name="angle_lw"/>
+           </item>
+           <item row="1" column="0">
+            <widget class="QPushButton" name="del_angle_pb">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>-</string>
+             </property>
+            </widget>
+           </item>
+           <item row="2" column="0">
+            <spacer name="verticalSpacer_10">
+             <property name="orientation">
+              <enum>Qt::Vertical</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>139</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
+         </widget>
+         <widget class="QWidget" name="ext_height_tab">
+          <attribute name="title">
+           <string>height</string>
+          </attribute>
+          <layout class="QGridLayout" name="gridLayout_10">
+           <item row="0" column="0">
+            <widget class="QPushButton" name="add_height_pb">
+             <property name="enabled">
+              <bool>true</bool>
+             </property>
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>+</string>
+             </property>
+            </widget>
+           </item>
+           <item row="0" column="1" rowspan="3">
+            <widget class="QListWidget" name="height_lw">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+            </widget>
+           </item>
+           <item row="1" column="0">
+            <widget class="QPushButton" name="del_height_pb">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>-</string>
+             </property>
+            </widget>
+           </item>
+           <item row="2" column="0">
+            <spacer name="verticalSpacer_11">
+             <property name="orientation">
+              <enum>Qt::Vertical</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>139</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
+         </widget>
+        </widget>
+       </item>
+       <item>
+        <spacer name="verticalSpacer_12">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>0</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
       </layout>
      </widget>
     </widget>
   <tabstop>nr_spb</tabstop>
   <tabstop>na_spb</tabstop>
   <tabstop>nh_spb</tabstop>
-  <tabstop>random_param_w</tabstop>
   <tabstop>add_radius_pb</tabstop>
   <tabstop>del_radius_pb</tabstop>
   <tabstop>radius_lw</tabstop>
index 75f4aa3d997c64696f32f8c86d5d2cd57320f172..3df3a492f74dfe81af51db81f07a1cd6a18cc0ca 100644 (file)
@@ -29,7 +29,7 @@
       <item>
        <widget class="QGroupBox" name="groupBox_2">
         <property name="title">
-         <string>Pipe 1</string>
+         <string>Big Pipe</string>
         </property>
         <layout class="QFormLayout" name="formLayout">
          <item row="0" column="0">
@@ -82,7 +82,7 @@
             <double>1000000000.000000000000000</double>
            </property>
            <property name="value">
-            <double>1.000000000000000</double>
+            <double>4.000000000000000</double>
            </property>
           </widget>
          </item>
             <double>1000000000.000000000000000</double>
            </property>
            <property name="value">
-            <double>0.500000000000000</double>
+            <double>1.000000000000000</double>
            </property>
           </widget>
          </item>
             <double>1000000000.000000000000000</double>
            </property>
            <property name="value">
-            <double>1.000000000000000</double>
+            <double>2.000000000000000</double>
            </property>
           </widget>
          </item>
       <item>
        <widget class="QGroupBox" name="groupBox_3">
         <property name="title">
-         <string>Pipe 2</string>
+         <string>Small Pipe</string>
         </property>
         <layout class="QFormLayout" name="formLayout_2">
          <item row="0" column="0">
             <double>1000000000.000000000000000</double>
            </property>
            <property name="value">
-            <double>1.000000000000000</double>
+            <double>2.000000000000000</double>
            </property>
           </widget>
          </item>
index ee8bc69c85d3ea7f71eaca9c9321e8802947942c..71505ad830563920aff2f5fb25ff70a34da91dc3 100644 (file)
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>424</width>
-    <height>599</height>
+    <width>353</width>
+    <height>540</height>
    </rect>
   </property>
   <property name="sizePolicy">
    <string>Extrude Quad(s) Operation</string>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout_4">
+   <item>
+    <widget class="QWidget" name="widget" native="true">
+     <layout class="QHBoxLayout" name="horizontalLayout_2">
+      <item>
+       <widget class="QRadioButton" name="extrudeTop_rb">
+        <property name="text">
+         <string>Simple</string>
+        </property>
+        <property name="checked">
+         <bool>true</bool>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QRadioButton" name="extrudeUni_rb">
+        <property name="text">
+         <string>Uniform</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QRadioButton" name="extrude_rb">
+        <property name="text">
+         <string>Custom</string>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
    <item>
     <widget class="QScrollArea" name="scrollArea">
      <property name="widgetResizable">
       <bool>true</bool>
      </property>
-     <widget class="QWidget" name="scrollAreaWidgetContents">
+     <widget class="QWidget" name="scrollAreaWidgetContents_2">
       <property name="geometry">
        <rect>
         <x>0</x>
         <y>0</y>
-        <width>404</width>
-        <height>579</height>
+        <width>333</width>
+        <height>474</height>
        </rect>
       </property>
-      <layout class="QVBoxLayout" name="verticalLayout_6">
+      <layout class="QVBoxLayout" name="verticalLayout_2">
        <item>
-        <widget class="QScrollArea" name="scrollArea_2">
-         <property name="widgetResizable">
-          <bool>true</bool>
+        <widget class="QLabel" name="label_3">
+         <property name="text">
+          <string>Quad(s):</string>
          </property>
-         <widget class="QWidget" name="scrollAreaWidgetContents_2">
-          <property name="geometry">
-           <rect>
-            <x>0</x>
-            <y>0</y>
-            <width>384</width>
-            <height>559</height>
-           </rect>
-          </property>
-          <layout class="QVBoxLayout" name="verticalLayout_2">
-           <item>
-            <widget class="QGroupBox" name="groupBox_2">
-             <property name="minimumSize">
-              <size>
-               <width>0</width>
-               <height>0</height>
-              </size>
+        </widget>
+       </item>
+       <item>
+        <widget class="QListWidget" name="quads_lw">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QWidget" name="widget_4" native="true">
+         <layout class="QFormLayout" name="formLayout_4">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_4">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="text">
+             <string>direction</string>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QLineEdit" name="axis_le">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>16777215</width>
+              <height>16777215</height>
+             </size>
+            </property>
+            <property name="readOnly">
+             <bool>false</bool>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QWidget" name="widget_6" native="true">
+         <layout class="QFormLayout" name="formLayout">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_2">
+            <property name="text">
+             <string>length</string>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QDoubleSpinBox" name="length_spb">
+            <property name="decimals">
+             <number>6</number>
+            </property>
+            <property name="maximum">
+             <double>1000000000.000000000000000</double>
+            </property>
+            <property name="value">
+             <double>1.000000000000000</double>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="1">
+           <widget class="QSpinBox" name="nb_spb">
+            <property name="minimum">
+             <number>1</number>
+            </property>
+            <property name="maximum">
+             <number>1000000</number>
+            </property>
+            <property name="value">
+             <number>1</number>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="0">
+           <widget class="QLabel" name="label">
+            <property name="text">
+             <string>Nb layers</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QTabWidget" name="layers_height_w">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="currentIndex">
+          <number>0</number>
+         </property>
+         <widget class="QWidget" name="ext_height_tab">
+          <attribute name="title">
+           <string>height</string>
+          </attribute>
+          <layout class="QGridLayout" name="gridLayout_4">
+           <item row="0" column="0">
+            <widget class="QPushButton" name="add_height_pb">
+             <property name="enabled">
+              <bool>true</bool>
+             </property>
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>+</string>
+             </property>
+            </widget>
+           </item>
+           <item row="0" column="1" rowspan="3">
+            <widget class="QListWidget" name="height_lw">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+            </widget>
+           </item>
+           <item row="1" column="0">
+            <widget class="QPushButton" name="del_height_pb">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
              </property>
-             <property name="title">
-              <string/>
+             <property name="text">
+              <string>-</string>
              </property>
-             <layout class="QVBoxLayout" name="verticalLayout_5">
-              <item>
-               <widget class="QWidget" name="widget" native="true">
-                <layout class="QHBoxLayout" name="horizontalLayout_2">
-                 <item>
-                  <widget class="QRadioButton" name="extrudeTop_rb">
-                   <property name="text">
-                    <string>Simple</string>
-                   </property>
-                   <property name="checked">
-                    <bool>true</bool>
-                   </property>
-                  </widget>
-                 </item>
-                 <item>
-                  <widget class="QRadioButton" name="extrudeUni_rb">
-                   <property name="text">
-                    <string>Uniform</string>
-                   </property>
-                  </widget>
-                 </item>
-                 <item>
-                  <widget class="QRadioButton" name="extrude_rb">
-                   <property name="text">
-                    <string>Custom</string>
-                   </property>
-                  </widget>
-                 </item>
-                </layout>
-               </widget>
-              </item>
-              <item>
-               <widget class="QGroupBox" name="groupBox">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>16777215</width>
-                  <height>16777215</height>
-                 </size>
-                </property>
-                <property name="title">
-                 <string>Quad(s)</string>
-                </property>
-                <layout class="QVBoxLayout" name="verticalLayout">
-                 <item>
-                  <widget class="QListWidget" name="quads_lw">
-                   <property name="sizePolicy">
-                    <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
-                     <horstretch>0</horstretch>
-                     <verstretch>0</verstretch>
-                    </sizepolicy>
-                   </property>
-                  </widget>
-                 </item>
-                </layout>
-               </widget>
-              </item>
-              <item>
-               <widget class="QWidget" name="widget_4" native="true">
-                <layout class="QFormLayout" name="formLayout_4">
-                 <item row="0" column="0">
-                  <widget class="QLabel" name="label_4">
-                   <property name="sizePolicy">
-                    <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-                     <horstretch>0</horstretch>
-                     <verstretch>0</verstretch>
-                    </sizepolicy>
-                   </property>
-                   <property name="text">
-                    <string>direction</string>
-                   </property>
-                  </widget>
-                 </item>
-                 <item row="0" column="1">
-                  <widget class="QLineEdit" name="axis_le">
-                   <property name="sizePolicy">
-                    <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                     <horstretch>0</horstretch>
-                     <verstretch>0</verstretch>
-                    </sizepolicy>
-                   </property>
-                   <property name="maximumSize">
-                    <size>
-                     <width>16777215</width>
-                     <height>16777215</height>
-                    </size>
-                   </property>
-                   <property name="readOnly">
-                    <bool>false</bool>
-                   </property>
-                  </widget>
-                 </item>
-                </layout>
-               </widget>
-              </item>
-              <item>
-               <widget class="QWidget" name="widget_6" native="true">
-                <layout class="QFormLayout" name="formLayout">
-                 <item row="0" column="0">
-                  <widget class="QLabel" name="label_2">
-                   <property name="text">
-                    <string>length</string>
-                   </property>
-                  </widget>
-                 </item>
-                 <item row="0" column="1">
-                  <widget class="QDoubleSpinBox" name="length_spb">
-                   <property name="decimals">
-                    <number>6</number>
-                   </property>
-                   <property name="maximum">
-                    <double>1000000000.000000000000000</double>
-                   </property>
-                   <property name="value">
-                    <double>1.000000000000000</double>
-                   </property>
-                  </widget>
-                 </item>
-                 <item row="2" column="1">
-                  <widget class="QSpinBox" name="nb_spb">
-                   <property name="minimum">
-                    <number>1</number>
-                   </property>
-                   <property name="maximum">
-                    <number>1000000</number>
-                   </property>
-                   <property name="value">
-                    <number>1</number>
-                   </property>
-                  </widget>
-                 </item>
-                 <item row="2" column="0">
-                  <widget class="QLabel" name="label">
-                   <property name="text">
-                    <string>Nb layers</string>
-                   </property>
-                  </widget>
-                 </item>
-                </layout>
-               </widget>
-              </item>
-              <item>
-               <widget class="QTabWidget" name="layers_height_w">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="currentIndex">
-                 <number>0</number>
-                </property>
-                <widget class="QWidget" name="ext_height_tab">
-                 <attribute name="title">
-                  <string>height</string>
-                 </attribute>
-                 <layout class="QGridLayout" name="gridLayout_4">
-                  <item row="0" column="0">
-                   <widget class="QPushButton" name="add_height_pb">
-                    <property name="enabled">
-                     <bool>true</bool>
-                    </property>
-                    <property name="sizePolicy">
-                     <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                      <horstretch>0</horstretch>
-                      <verstretch>0</verstretch>
-                     </sizepolicy>
-                    </property>
-                    <property name="text">
-                     <string>+</string>
-                    </property>
-                   </widget>
-                  </item>
-                  <item row="0" column="1" rowspan="3">
-                   <widget class="QListWidget" name="height_lw">
-                    <property name="sizePolicy">
-                     <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
-                      <horstretch>0</horstretch>
-                      <verstretch>0</verstretch>
-                     </sizepolicy>
-                    </property>
-                   </widget>
-                  </item>
-                  <item row="1" column="0">
-                   <widget class="QPushButton" name="del_height_pb">
-                    <property name="sizePolicy">
-                     <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                      <horstretch>0</horstretch>
-                      <verstretch>0</verstretch>
-                     </sizepolicy>
-                    </property>
-                    <property name="text">
-                     <string>-</string>
-                    </property>
-                   </widget>
-                  </item>
-                  <item row="2" column="0">
-                   <spacer name="verticalSpacer_3">
-                    <property name="orientation">
-                     <enum>Qt::Vertical</enum>
-                    </property>
-                    <property name="sizeHint" stdset="0">
-                     <size>
-                      <width>20</width>
-                      <height>139</height>
-                     </size>
-                    </property>
-                   </spacer>
-                  </item>
-                 </layout>
-                </widget>
-               </widget>
-              </item>
-              <item>
-               <spacer name="verticalSpacer">
-                <property name="orientation">
-                 <enum>Qt::Vertical</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>20</width>
-                  <height>0</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-             </layout>
             </widget>
            </item>
+           <item row="2" column="0">
+            <spacer name="verticalSpacer_3">
+             <property name="orientation">
+              <enum>Qt::Vertical</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>139</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
           </layout>
          </widget>
         </widget>
        </item>
+       <item>
+        <spacer name="verticalSpacer">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>0</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
       </layout>
      </widget>
     </widget>
index 91f862a05e0de4c13bf412a4b09dd4bc9e18e98d..f9ea14bb1e8d61b4a01c5135cd90033a83a3e28f 100644 (file)
   </property>
   <layout class="QVBoxLayout" name="verticalLayout">
    <item>
-    <widget class="QGroupBox" name="groupBox">
+    <widget class="QGroupBox" name="groupBox_2">
      <property name="sizePolicy">
       <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
        <horstretch>0</horstretch>
        <verstretch>0</verstretch>
       </sizepolicy>
      </property>
+     <property name="maximumSize">
+      <size>
+       <width>16777215</width>
+       <height>16777215</height>
+      </size>
+     </property>
      <property name="title">
-      <string/>
+      <string>Propagation(s)</string>
      </property>
-     <layout class="QVBoxLayout" name="verticalLayout_2">
+     <layout class="QVBoxLayout" name="verticalLayout_3">
       <item>
-       <widget class="QGroupBox" name="groupBox_2">
+       <widget class="QListWidget" name="propagations_lw">
         <property name="sizePolicy">
          <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
-        <property name="maximumSize">
-         <size>
-          <width>16777215</width>
-          <height>16777215</height>
-         </size>
-        </property>
-        <property name="title">
-         <string>Propagation(s)</string>
-        </property>
-        <layout class="QVBoxLayout" name="verticalLayout_3">
-         <item>
-          <widget class="QListWidget" name="propagations_lw">
-           <property name="sizePolicy">
-            <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-             <horstretch>0</horstretch>
-             <verstretch>0</verstretch>
-            </sizepolicy>
-           </property>
-          </widget>
-         </item>
-        </layout>
        </widget>
       </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <widget class="QGroupBox" name="groupBox_3">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="title">
+      <string>Law</string>
+     </property>
+     <layout class="QVBoxLayout" name="verticalLayout_4">
       <item>
-       <widget class="QGroupBox" name="groupBox_3">
+       <widget class="QLineEdit" name="law_le">
         <property name="sizePolicy">
          <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
-        <property name="title">
-         <string>Law</string>
+        <property name="maximumSize">
+         <size>
+          <width>16777215</width>
+          <height>16777215</height>
+         </size>
         </property>
-        <layout class="QVBoxLayout" name="verticalLayout_4">
-         <item>
-          <widget class="QLineEdit" name="law_le">
-           <property name="sizePolicy">
-            <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-             <horstretch>0</horstretch>
-             <verstretch>0</verstretch>
-            </sizepolicy>
-           </property>
-           <property name="maximumSize">
-            <size>
-             <width>16777215</width>
-             <height>16777215</height>
-            </size>
-           </property>
-           <property name="readOnly">
-            <bool>false</bool>
-           </property>
-          </widget>
-         </item>
-        </layout>
-       </widget>
-      </item>
-      <item>
-       <widget class="QCheckBox" name="way_cb">
-        <property name="text">
-         <string>way</string>
+        <property name="readOnly">
+         <bool>false</bool>
         </property>
        </widget>
       </item>
      </layout>
     </widget>
    </item>
+   <item>
+    <widget class="QCheckBox" name="way_cb">
+     <property name="text">
+      <string>way</string>
+     </property>
+    </widget>
+   </item>
    <item>
     <widget class="QDialogButtonBox" name="buttonBox">
      <property name="orientation">
  <tabstops>
   <tabstop>propagations_lw</tabstop>
   <tabstop>law_le</tabstop>
-  <tabstop>way_cb</tabstop>
   <tabstop>buttonBox</tabstop>
  </tabstops>
  <resources/>
index 86011b059cbd13ac1ea3bf567bdd83b8eb70fc92..6b661e871e1587c8b265f3c706969aa0beb363c6 100644 (file)
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>389</width>
-    <height>443</height>
+    <height>584</height>
    </rect>
   </property>
   <property name="minimumSize">
        <rect>
         <x>0</x>
         <y>0</y>
-        <width>351</width>
-        <height>490</height>
+        <width>369</width>
+        <height>518</height>
        </rect>
       </property>
       <layout class="QVBoxLayout" name="verticalLayout_4">
        <item>
-        <widget class="QGroupBox" name="groupBox">
-         <property name="minimumSize">
-          <size>
-           <width>5</width>
-           <height>0</height>
-          </size>
+        <widget class="QLabel" name="label">
+         <property name="text">
+          <string>Quad(s):</string>
          </property>
-         <property name="title">
-          <string/>
+        </widget>
+       </item>
+       <item>
+        <widget class="QListWidget" name="quads_lw">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
          </property>
-         <layout class="QVBoxLayout" name="verticalLayout_3">
-          <item>
-           <widget class="QGroupBox" name="groupBox_2">
-            <property name="title">
-             <string>Quad(s)</string>
+        </widget>
+       </item>
+       <item>
+        <widget class="QWidget" name="widget_3" native="true">
+         <layout class="QFormLayout" name="formLayout">
+          <property name="fieldGrowthPolicy">
+           <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
+          </property>
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_5">
+            <property name="text">
+             <string>center</string>
             </property>
-            <layout class="QVBoxLayout" name="verticalLayout_2">
-             <item>
-              <widget class="QListWidget" name="quads_lw">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-              </widget>
-             </item>
-            </layout>
            </widget>
           </item>
-          <item>
-           <widget class="QWidget" name="widget_3" native="true">
-            <layout class="QFormLayout" name="formLayout">
-             <item row="0" column="0">
-              <widget class="QLabel" name="label_5">
-               <property name="text">
-                <string>center</string>
-               </property>
-              </widget>
-             </item>
-             <item row="0" column="1">
-              <widget class="QLineEdit" name="center_le">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="maximumSize">
-                <size>
-                 <width>16777215</width>
-                 <height>16777215</height>
-                </size>
-               </property>
-               <property name="toolTip">
-                <string>Select a vertex
-</string>
-               </property>
-               <property name="readOnly">
-                <bool>false</bool>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="0">
-              <widget class="QLabel" name="label_4">
-               <property name="text">
-                <string>axis</string>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="1">
-              <widget class="QLineEdit" name="axis_le">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="maximumSize">
-                <size>
-                 <width>16777215</width>
-                 <height>16777215</height>
-                </size>
-               </property>
-               <property name="toolTip">
-                <string>Select a vector
+          <item row="0" column="1">
+           <widget class="QLineEdit" name="center_le">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>16777215</width>
+              <height>16777215</height>
+             </size>
+            </property>
+            <property name="toolTip">
+             <string>Select a vertex
 </string>
-               </property>
-               <property name="readOnly">
-                <bool>false</bool>
-               </property>
-              </widget>
-             </item>
-            </layout>
-            <zorder>center_le</zorder>
-            <zorder>label_5</zorder>
-            <zorder>axis_le</zorder>
-            <zorder>label_4</zorder>
+            </property>
+            <property name="readOnly">
+             <bool>false</bool>
+            </property>
            </widget>
           </item>
-          <item>
-           <widget class="QWidget" name="widget_5" native="true">
-            <layout class="QFormLayout" name="formLayout_5">
-             <item row="0" column="0">
-              <widget class="QLabel" name="label_2">
-               <property name="text">
-                <string>angle</string>
-               </property>
-              </widget>
-             </item>
-             <item row="0" column="1">
-              <widget class="QDoubleSpinBox" name="angle_spb">
-               <property name="decimals">
-                <number>6</number>
-               </property>
-               <property name="maximum">
-                <double>360.000000000000000</double>
-               </property>
-               <property name="singleStep">
-                <double>10.000000000000000</double>
-               </property>
-               <property name="value">
-                <double>360.000000000000000</double>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="0">
-              <widget class="QLabel" name="label_11">
-               <property name="text">
-                <string>Nb layers</string>
-               </property>
-              </widget>
-             </item>
-             <item row="1" column="1">
-              <widget class="QSpinBox" name="nbre_spb">
-               <property name="maximum">
-                <number>1000000</number>
-               </property>
-               <property name="value">
-                <number>1</number>
-               </property>
-              </widget>
-             </item>
-            </layout>
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_4">
+            <property name="text">
+             <string>axis</string>
+            </property>
            </widget>
           </item>
-          <item>
-           <widget class="QTabWidget" name="random_param_w">
+          <item row="1" column="1">
+           <widget class="QLineEdit" name="axis_le">
             <property name="sizePolicy">
-             <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
               <horstretch>0</horstretch>
               <verstretch>0</verstretch>
              </sizepolicy>
               <height>16777215</height>
              </size>
             </property>
-            <property name="currentIndex">
-             <number>0</number>
+            <property name="toolTip">
+             <string>Select a vector
+</string>
+            </property>
+            <property name="readOnly">
+             <bool>false</bool>
             </property>
-            <widget class="QWidget" name="ext_angle_tab_3">
-             <attribute name="title">
-              <string>angle</string>
-             </attribute>
-             <layout class="QGridLayout" name="gridLayout_9">
-              <item row="0" column="0">
-               <widget class="QPushButton" name="add_angle_pb">
-                <property name="enabled">
-                 <bool>true</bool>
-                </property>
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>+</string>
-                </property>
-               </widget>
-              </item>
-              <item row="1" column="0">
-               <widget class="QPushButton" name="del_angle_pb">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>-</string>
-                </property>
-               </widget>
-              </item>
-              <item row="2" column="0">
-               <spacer name="verticalSpacer_11">
-                <property name="orientation">
-                 <enum>Qt::Vertical</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>20</width>
-                  <height>139</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-              <item row="0" column="1" rowspan="3">
-               <widget class="QListWidget" name="angles_lw"/>
-              </item>
-             </layout>
-            </widget>
            </widget>
           </item>
-          <item>
-           <spacer name="verticalSpacer">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
+         </layout>
+         <zorder>center_le</zorder>
+         <zorder>label_5</zorder>
+         <zorder>axis_le</zorder>
+         <zorder>label_4</zorder>
+        </widget>
+       </item>
+       <item>
+        <widget class="QWidget" name="widget_5" native="true">
+         <layout class="QFormLayout" name="formLayout_5">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_2">
+            <property name="text">
+             <string>angle</string>
             </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>20</width>
-              <height>40</height>
-             </size>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QDoubleSpinBox" name="angle_spb">
+            <property name="decimals">
+             <number>6</number>
+            </property>
+            <property name="maximum">
+             <double>360.000000000000000</double>
             </property>
-           </spacer>
+            <property name="singleStep">
+             <double>10.000000000000000</double>
+            </property>
+            <property name="value">
+             <double>360.000000000000000</double>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_11">
+            <property name="text">
+             <string>Nb layers</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="1">
+           <widget class="QSpinBox" name="nbre_spb">
+            <property name="maximum">
+             <number>1000000</number>
+            </property>
+            <property name="value">
+             <number>1</number>
+            </property>
+           </widget>
           </item>
          </layout>
         </widget>
        </item>
+       <item>
+        <widget class="QTabWidget" name="random_param_w">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>16777215</width>
+           <height>16777215</height>
+          </size>
+         </property>
+         <property name="currentIndex">
+          <number>0</number>
+         </property>
+         <widget class="QWidget" name="ext_angle_tab_3">
+          <attribute name="title">
+           <string>angle</string>
+          </attribute>
+          <layout class="QGridLayout" name="gridLayout_9">
+           <item row="0" column="0">
+            <widget class="QPushButton" name="add_angle_pb">
+             <property name="enabled">
+              <bool>true</bool>
+             </property>
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>+</string>
+             </property>
+            </widget>
+           </item>
+           <item row="1" column="0">
+            <widget class="QPushButton" name="del_angle_pb">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>-</string>
+             </property>
+            </widget>
+           </item>
+           <item row="2" column="0">
+            <spacer name="verticalSpacer_11">
+             <property name="orientation">
+              <enum>Qt::Vertical</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>139</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+           <item row="0" column="1" rowspan="3">
+            <widget class="QListWidget" name="angles_lw"/>
+           </item>
+          </layout>
+         </widget>
+        </widget>
+       </item>
       </layout>
      </widget>
     </widget>
index 969f574c0a5e2e0412e536e13d851d7eeea03913..a1908f041bd6e6bb697a6a431ec02054f2d1661a 100644 (file)
       </property>
       <layout class="QVBoxLayout" name="verticalLayout_4">
        <item>
-        <widget class="QGroupBox" name="groupBox">
+        <widget class="QGroupBox" name="groupBox_5">
          <property name="sizePolicy">
           <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
            <horstretch>0</horstretch>
            <verstretch>0</verstretch>
           </sizepolicy>
          </property>
-         <property name="minimumSize">
-          <size>
-           <width>0</width>
-           <height>0</height>
-          </size>
-         </property>
          <property name="title">
-          <string/>
+          <string>Quad(s) source</string>
          </property>
-         <layout class="QVBoxLayout" name="verticalLayout_2">
+         <layout class="QVBoxLayout" name="verticalLayout_3">
           <item>
-           <widget class="QGroupBox" name="groupBox_5">
+           <widget class="QListWidget" name="quads_lw">
             <property name="sizePolicy">
              <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
               <horstretch>0</horstretch>
               <verstretch>0</verstretch>
              </sizepolicy>
             </property>
-            <property name="title">
-             <string>Quad(s) source</string>
+            <property name="maximumSize">
+             <size>
+              <width>16777215</width>
+              <height>16777215</height>
+             </size>
+            </property>
+            <property name="toolTip">
+             <string>Select hexa</string>
             </property>
-            <layout class="QVBoxLayout" name="verticalLayout_3">
-             <item>
-              <widget class="QListWidget" name="quads_lw">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="maximumSize">
-                <size>
-                 <width>16777215</width>
-                 <height>16777215</height>
-                </size>
-               </property>
-               <property name="toolTip">
-                <string>Select hexa</string>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QFrame" name="frame">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="frameShape">
-                <enum>QFrame::StyledPanel</enum>
-               </property>
-               <property name="frameShadow">
-                <enum>QFrame::Raised</enum>
-               </property>
-               <layout class="QFormLayout" name="formLayout_2">
-                <item row="0" column="0">
-                 <widget class="QLabel" name="label_4">
-                  <property name="text">
-                   <string>Point a</string>
-                  </property>
-                 </widget>
-                </item>
-                <item row="0" column="1">
-                 <widget class="QLineEdit" name="p1_le">
-                  <property name="sizePolicy">
-                   <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                    <horstretch>0</horstretch>
-                    <verstretch>0</verstretch>
-                   </sizepolicy>
-                  </property>
-                  <property name="toolTip">
-                   <string>Select vertex</string>
-                  </property>
-                  <property name="text">
-                   <string/>
-                  </property>
-                  <property name="readOnly">
-                   <bool>false</bool>
-                  </property>
-                 </widget>
-                </item>
-                <item row="1" column="0">
-                 <widget class="QLabel" name="label_5">
-                  <property name="text">
-                   <string>Point b</string>
-                  </property>
-                 </widget>
-                </item>
-                <item row="1" column="1">
-                 <widget class="QLineEdit" name="p2_le">
-                  <property name="sizePolicy">
-                   <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                    <horstretch>0</horstretch>
-                    <verstretch>0</verstretch>
-                   </sizepolicy>
-                  </property>
-                  <property name="toolTip">
-                   <string>Select vertex</string>
-                  </property>
-                  <property name="text">
-                   <string/>
-                  </property>
-                  <property name="readOnly">
-                   <bool>false</bool>
-                  </property>
-                 </widget>
-                </item>
-                <item row="2" column="0">
-                 <widget class="QLabel" name="label_6">
-                  <property name="text">
-                   <string>Point c</string>
-                  </property>
-                 </widget>
-                </item>
-                <item row="2" column="1">
-                 <widget class="QLineEdit" name="p3_le">
-                  <property name="sizePolicy">
-                   <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                    <horstretch>0</horstretch>
-                    <verstretch>0</verstretch>
-                   </sizepolicy>
-                  </property>
-                  <property name="toolTip">
-                   <string>Select vertex</string>
-                  </property>
-                  <property name="text">
-                   <string/>
-                  </property>
-                  <property name="readOnly">
-                   <bool>false</bool>
-                  </property>
-                 </widget>
-                </item>
-               </layout>
-              </widget>
-             </item>
-            </layout>
            </widget>
           </item>
           <item>
-           <widget class="QGroupBox" name="groupBox_2">
+           <widget class="QWidget" name="widget" native="true">
             <property name="sizePolicy">
              <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
               <horstretch>0</horstretch>
               <verstretch>0</verstretch>
              </sizepolicy>
             </property>
-            <property name="title">
-             <string>Quad destination</string>
-            </property>
-            <layout class="QFormLayout" name="formLayout_3">
+            <layout class="QFormLayout" name="formLayout_2">
              <item row="0" column="0">
-              <widget class="QLabel" name="label">
+              <widget class="QLabel" name="label_4">
                <property name="text">
                 <string>Point a</string>
                </property>
               </widget>
              </item>
              <item row="0" column="1">
-              <widget class="QLineEdit" name="c1_le">
+              <widget class="QLineEdit" name="p1_le">
                <property name="sizePolicy">
                 <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
                  <horstretch>0</horstretch>
               </widget>
              </item>
              <item row="1" column="0">
-              <widget class="QLabel" name="label_2">
+              <widget class="QLabel" name="label_5">
                <property name="text">
                 <string>Point b</string>
                </property>
               </widget>
              </item>
              <item row="1" column="1">
-              <widget class="QLineEdit" name="c2_le">
+              <widget class="QLineEdit" name="p2_le">
                <property name="sizePolicy">
                 <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
                  <horstretch>0</horstretch>
               </widget>
              </item>
              <item row="2" column="0">
-              <widget class="QLabel" name="label_3">
+              <widget class="QLabel" name="label_6">
                <property name="text">
                 <string>Point c</string>
                </property>
               </widget>
              </item>
              <item row="2" column="1">
-              <widget class="QLineEdit" name="c3_le">
+              <widget class="QLineEdit" name="p3_le">
                <property name="sizePolicy">
                 <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
                  <horstretch>0</horstretch>
          </layout>
         </widget>
        </item>
+       <item>
+        <widget class="QGroupBox" name="groupBox_2">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="title">
+          <string>Quad destination</string>
+         </property>
+         <layout class="QFormLayout" name="formLayout_3">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label">
+            <property name="text">
+             <string>Point a</string>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QLineEdit" name="c1_le">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="toolTip">
+             <string>Select vertex</string>
+            </property>
+            <property name="text">
+             <string/>
+            </property>
+            <property name="readOnly">
+             <bool>false</bool>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_2">
+            <property name="text">
+             <string>Point b</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="1">
+           <widget class="QLineEdit" name="c2_le">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="toolTip">
+             <string>Select vertex</string>
+            </property>
+            <property name="text">
+             <string/>
+            </property>
+            <property name="readOnly">
+             <bool>false</bool>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="0">
+           <widget class="QLabel" name="label_3">
+            <property name="text">
+             <string>Point c</string>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="1">
+           <widget class="QLineEdit" name="c3_le">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="toolTip">
+             <string>Select vertex</string>
+            </property>
+            <property name="text">
+             <string/>
+            </property>
+            <property name="readOnly">
+             <bool>false</bool>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
       </layout>
      </widget>
     </widget>
index e06e2d6c271c033704641e0fdd93b592ec177f84..1a5a121d8533505c6abbc2ee99820447108b6156 100755 (executable)
@@ -655,7 +655,7 @@ Please select a %2.</source>
     </message>
     <message>
         <source>CANNOT PRISM QUAD(S)</source>
-        <translation>Cannot prism quadrangle(s)</translation>
+        <translation>Cannot extrude quadrangle(s)</translation>
     </message>
 </context>
 <context>
@@ -1003,7 +1003,7 @@ Please select a %2.</source>
     </message>
     <message>
         <source>Prism quadrangles</source>
-        <translation type="unfinished"></translation>
+        <translation>Extrude quadrangles</translation>
     </message>
     <message>
         <source>ICON_PRISM_QUAD</source>
@@ -1011,7 +1011,7 @@ Please select a %2.</source>
     </message>
     <message>
         <source>Prism Quadrangles</source>
-        <translation type="unfinished"></translation>
+        <translation>Extrude Quadrangles</translation>
     </message>
     <message>
         <source>Join quadrangles</source>
index 9c4fb4190adb0f863a95fd9b692a7954f8c5d0df..cb4015d090543f91a158038f01eb4d782f4bdb33 100644 (file)
@@ -682,6 +682,8 @@ class Quad(EltBase):
     def addAssociation(*args): return _hexablock_swig.Quad_addAssociation(*args)
     def clearAssociation(*args): return _hexablock_swig.Quad_clearAssociation(*args)
     def setColor(*args): return _hexablock_swig.Quad_setColor(*args)
+    def nearestVertex(*args): return _hexablock_swig.Quad_nearestVertex(*args)
+    def getCenter(*args): return _hexablock_swig.Quad_getCenter(*args)
     def __init__(self, *args): 
         this = _hexablock_swig.new_Quad(*args)
         try: self.this.append(this)
index 33530a3bcbd157629135ed18148378843ce1a495..e09a7cdcffc1bb666baa0a3f4a6b8d38ab88f5f6 100644 (file)
@@ -20069,6 +20069,68 @@ fail:
 }
 
 
+SWIGINTERN PyObject *_wrap_Quad_nearestVertex(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  Hex::Quad *arg1 = (Hex::Quad *) 0 ;
+  Hex::Vertex *arg2 = (Hex::Vertex *) 0 ;
+  Hex::Vertex *result = 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  void *argp2 = 0 ;
+  int res2 = 0 ;
+  PyObject * obj0 = 0 ;
+  PyObject * obj1 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"OO:Quad_nearestVertex",&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Quad, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Quad_nearestVertex" "', argument " "1"" of type '" "Hex::Quad *""'"); 
+  }
+  arg1 = reinterpret_cast< Hex::Quad * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_Hex__Vertex, 0 |  0 );
+  if (!SWIG_IsOK(res2)) {
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Quad_nearestVertex" "', argument " "2"" of type '" "Hex::Vertex *""'"); 
+  }
+  arg2 = reinterpret_cast< Hex::Vertex * >(argp2);
+  result = (Hex::Vertex *)(arg1)->nearestVertex(arg2);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Hex__Vertex, 0 |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Quad_getCenter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  Hex::Quad *arg1 = (Hex::Quad *) 0 ;
+  double *arg2 = (double *) 0 ;
+  double *result = 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  void *argp2 = 0 ;
+  int res2 = 0 ;
+  PyObject * obj0 = 0 ;
+  PyObject * obj1 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"OO:Quad_getCenter",&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Quad, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Quad_getCenter" "', argument " "1"" of type '" "Hex::Quad *""'"); 
+  }
+  arg1 = reinterpret_cast< Hex::Quad * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_double, 0 |  0 );
+  if (!SWIG_IsOK(res2)) {
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Quad_getCenter" "', argument " "2"" of type '" "double *""'"); 
+  }
+  arg2 = reinterpret_cast< double * >(argp2);
+  result = (double *)(arg1)->getCenter(arg2);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, 0 |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_new_Quad(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Vertex *arg1 = (Hex::Vertex *) 0 ;
@@ -32653,6 +32715,8 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"Quad_addAssociation", _wrap_Quad_addAssociation, METH_VARARGS, NULL},
         { (char *)"Quad_clearAssociation", _wrap_Quad_clearAssociation, METH_VARARGS, NULL},
         { (char *)"Quad_setColor", _wrap_Quad_setColor, METH_VARARGS, NULL},
+        { (char *)"Quad_nearestVertex", _wrap_Quad_nearestVertex, METH_VARARGS, NULL},
+        { (char *)"Quad_getCenter", _wrap_Quad_getCenter, METH_VARARGS, NULL},
         { (char *)"new_Quad", _wrap_new_Quad, METH_VARARGS, NULL},
         { (char *)"delete_Quad", _wrap_delete_Quad, METH_VARARGS, NULL},
         { (char *)"Quad_swigregister", Quad_swigregister, METH_VARARGS, NULL},
index 50a767cded1911fb95495c161a438cd5f85a293b..9a6ee9abc47a3c5d112e4f80aeed20f8296731e7 100644 (file)
 import geompy
 import hexablock
 
-# Charger la géométrie
+# Charger la geometrie
 # ====================
 
 nom = "troisCylindres"
 
 piece = geompy.ImportBREP(nom+".brep")
 
-# Sélectionner des sous-parties de la géométrie
+# Selectionner des sous-parties de la geometrie
 # ---------------------------------------------
 
 sommets = geompy.SubShapeAllSortedCentres(piece, geompy.ShapeType["VERTEX"])
@@ -49,12 +49,12 @@ moyen0, moyen_x , moyen_y , moyen_z ,  moyen1, moyen2, moyen3,  moyen_rayon = ge
 petit0, petit_xb, petit_yb, petit_zb,  petit1, petit2, petit3,  petit_rayon = geompy.KindOfShape(aretes[12])
 petit4, petit_xh, petit_yh, petit_zh,  petit5, petit6, petit7,  petit8      = geompy.KindOfShape(aretes[13])
 
-# Construire le modèle de bloc
+# Construire le modele de bloc
 # ============================
 
 doc = hexablock.addDocument(nom)
 
-doc.setShape(piece)
+### doc.addShape(piece,nom)
 
 # Construire le grand cylindre
 # ----------------------------
@@ -66,9 +66,9 @@ grand_dir = doc.addVectorVertices(grand_base, grand_oppo)
 
 grand_hauteur = grand_dir.getNorm()
 
-grand_cylindre = doc.addCylinder(grand_base, grand_dir, grand_rayon, grand_hauteur)
+###  grand_cylindre = doc.addCylinder(grand_base, grand_dir, grand_rayon, grand_hauteur)
 
-# Construire le moyen cylindre coté grand
+# Construire le moyen cylindre cote grand
 # ---------------------------------------
 
 moy_g_r1 = 0.8
@@ -85,9 +85,9 @@ moy_g_dir = doc.addVectorVertices(moy_g_base, moy_g_oppo)
 
 moy_g_hauteur = moy_g_dir.getNorm()
 
-moy_g_cylindre = doc.addCylinder(moy_g_base, moy_g_dir, moyen_rayon, moy_g_hauteur)
+###  moy_g_cylindre = doc.addCylinder(moy_g_base, moy_g_dir, moyen_rayon, moy_g_hauteur)
 
-# Construire le moyen cylindre coté petit
+# Construire le moyen cylindre cote petit
 # ---------------------------------------
 
 moy_p_r = 0.18
@@ -98,9 +98,9 @@ moy_p_oppo = doc.addVertex( moy_p_x+(moy_g_x-moy_p_x) * moy_p_r, moy_p_y+(moy_g_
 
 moy_p_dir = doc.addVectorVertices(moy_b_base, moy_p_oppo)
 
-moy_p_hauteur = moy_p_dir.getNorm()
+moy_p_hauteur = moy_p_dir.getNorm()*1.2
 
-moy_p_cylindre = doc.addCylinder(moy_p_base, moy_p_dir, moyen_rayon, moy_p_hauteur)
+###  moy_p_cylindre = doc.addCylinder(moy_p_base, moy_p_dir, moyen_rayon, moy_p_hauteur)
 
 # Construire le petit cylindre
 # ----------------------------
@@ -108,100 +108,73 @@ moy_p_cylindre = doc.addCylinder(moy_p_base, moy_p_dir, moyen_rayon, moy_p_haute
 petit_base = doc.addVertex(petit_xb, petit_yb, petit_zb)
 petit_oppo = doc.addVertex(petit_xh, petit_yh, petit_zh)
 
-petit_dir = doc.addVectorVertices(petit_base, petit_oppo)
+petit_dir  = doc.addVectorVertices(petit_base, petit_oppo)
 
 petit_hauteur = petit_dir.getNorm()
 
-petit_cylindre = doc.addCylinder(petit_base, petit_dir, petit_rayon, petit_hauteur)
+###  petit_cylindre = doc.addCylinder(petit_base, petit_dir, petit_rayon, petit_hauteur)
 
 # Construire le T et la X
 # -----------------------
 
-en_te = doc.makeCylinders(grand_cylindre, moy_g_cylindre)
-croix = doc.makeCylinders(moy_p_cylindre, petit_cylindre)
+en_te = doc.makeCylinders (grand_base, grand_dir, grand_rayon, grand_hauteur, 
+                           moy_g_base, moy_g_dir, moyen_rayon, moy_g_hauteur)
 
-# Relier le T et la X
-# -------------------
-
-croix_quads = []
-
-for i in xrange(1, -1, -1):
-    for j in xrange( [hexablock.CV_MAXI_INT, hexablock.CV_MAXI_EXT][i] ):
-        quad = croix.getQuadIJ(hexablock.CYL_BIG, i, j, hexablock.CYL_BIG_SLICES)
-        croix_quads.append(quad)
-
-en_te_q = en_te.getQuadIJ(hexablock.CYL_SMALL, 1, hexablock.V_N, 0)
+hexablock.what ()
 
-en_te_v0 = en_te.getVertexIJK(hexablock.CYL_SMALL, 2, hexablock.V_N , 0)
-en_te_v1 = en_te.getVertexIJK(hexablock.CYL_SMALL, 2, hexablock.V_NW, 0)
+croix = doc.makeCylinders (moy_p_base, moy_p_dir, moyen_rayon, moy_p_hauteur,
+                           petit_base, petit_dir, petit_rayon, petit_hauteur)
 
-croix_v0 = croix.getVertexIJK(hexablock.CYL_BIG, 2, hexablock.V_E , hexablock.CYL_BIG_SLICES)
-croix_v1 = croix.getVertexIJK(hexablock.CYL_BIG, 2, hexablock.V_NE, hexablock.CYL_BIG_SLICES)
-
-prisme = doc.joinQuads(croix_quads, en_te_q,  croix_v0, en_te_v0,  croix_v1, en_te_v1,  1)
-
-# Associer
-# ========
+hexablock.what ()
 
-# fkl: comme pour la tuyauterie: associer pour le prisme (sauf si item 142 et 146 de Taches.ods)
-
-# Mailler le modèle de bloc
-# =========================
+# Relier le T et la X
+# -------------------
 
-# Définir 5 groupes de faces
-# --------------------------
+CYL_SMALL  = 0
+CYL_BIG    = 1
+CYL_KMAX   = 3
+CYL_JMAX   = 4
 
-groupe_grand_a = doc.addQuadGroup("Grand_A")
-groupe_grand_b = doc.addQuadGroup("Grand_B")
-groupe_moyen_f = doc.addQuadGroup("Moyen")
-groupe_petit_a = doc.addQuadGroup("Petit_A")
-groupe_petit_b = doc.addQuadGroup("Petit_B")
 
-for i in xrange(2):
-    for j in xrange( [hexablock.CV_MAXI_INT, hexablock.CV_MAXI_EXT][i] ):
-        quad = en_te.getQuadIJ(hexablock.CYL_BIG  , i, j, 0)
-        groupe_grand_a.addElement(quad)
+qstart = croix.getQuadIJ (CYL_BIG, 0,0,CYL_KMAX)
+##  qstart.setColor(5)
+croix_quads = [qstart]
 
-        quad = en_te.getQuadIJ(hexablock.CYL_BIG  , i, j, hexablock.CYL_BIG_SLICES)
-        groupe_grand_b.addElement(quad)
+for nj in range (CYL_JMAX) :
+    quad = croix.getQuadIJ (CYL_BIG, 1,nj, CYL_KMAX)
+    quad.setColor(5)
+    croix_quads.append (quad)
 
-        quad = croix.getQuadIJ(hexablock.CYL_BIG  , i, j, 0)
-        groupe_moyen_f.addElement(quad)
+qdest = en_te.getQuadIJ (CYL_SMALL, 0,0,0)
+qdest.setColor(5)
 
-        quad = croix.getQuadIJ(hexablock.CYL_SMALL, i, j, 0)
-        groupe_petit_a.addElement(quad)
+va1 = qstart.getVertex (0)
+va2 = qstart.getVertex (1)
 
-        quad = croix.getQuadIJ(hexablock.CYL_SMALL, i, j, hexablock.CYL_SMALL_SLICES)
-        groupe_petit_b.addElement(quad)
+vb1 = qdest.nearestVertex (va1)
+vb2 = qdest.nearestVertex (va2)
 
-# Définir 3 groupes de volumes
-# ----------------------------
+prisme = doc.joinQuadsUni (croix_quads, qdest, va1,vb1,va2,vb2, 1)
 
-groupe_grand = doc.addHexaGroup("Grand")
-groupe_moyen = doc.addHexaGroup("Moyen")
-groupe_petit = doc.addHexaGroup("Petit")
+# Associer
+# ========
 
-for i in xrange( doc.countUsedHexa() ):
-    h = doc.getUsedHexa(i)
-    groupe_moyen.addElement(h)
 
-for i in xrange(2):
-    for j in xrange( [hexablock.CV_MAXI_INT, hexablock.CV_MAXI_EXT][i] ):
-        for k in [ 0, hexablock.CYL_BIG_SLICES-1 ]:
-            h = en_te.getHexaIJK(hexablock.CYL_BIG, i, j, k)
-            groupe_grand.addElement(h)
-            groupe_moyen.removeElement(h)
+# Mailler le modele de bloc avec association
+# ------------------------------------------
 
-        for k in [0, hexablock.CYL_SMALL_SLICES-1 ]:
-            h = croix.getHexaIJK(hexablock.CYL_SMALL, i, j, k)
-            groupe_petit.addElement(h)
-            groupe_moyen.removeElement(h)
+doc.addLaws(10, True)
 
-# Mailler le modèle de bloc avec association
-# ------------------------------------------
+law = doc.addLaw("Uniform", 4)
+for j in range(doc.countPropagation()):
+    propa = doc.getPropagation(j)
+    propa.setLaw(law)
 
-hexablock.addLaws(doc, 10, True)
+doc.save("troisCylindres")
+doc.setName("troisCylindres")
+doc.saveVtk("troisCylindres1.vtk")
+hexablock.addToStudy(doc)
 
-blocs = hexablock.mesh(doc)
+blocs = hexablock.mesh(doc, dim=3)
 
 muv, mue, muq, muh = hexablock.dump(doc, blocs)
index d7d0512105c04f3a4d8962087db6080ed3145d90..c90aec24f37608f329dc6e9a39037f020af07df8 100644 (file)
@@ -88,8 +88,8 @@ grand_dir_b = doc.addVectorVertices(grand_oppo, grand_base)
 grand_hauteur_a = grand_dir_a.getNorm()*0.20
 grand_hauteur_b = grand_dir_b.getNorm()*0.60
 
-grand_cylindre_a = doc.addCylinder(grand_base, grand_dir_a, grand_rayon, grand_hauteur_a)
-grand_cylindre_b = doc.addCylinder(grand_oppo, grand_dir_b, grand_rayon, grand_hauteur_b)
+####   grand_cylindre_a = doc.addCylinder(grand_base, grand_dir_a, grand_rayon, grand_hauteur_a)
+####   grand_cylindre_b = doc.addCylinder(grand_oppo, grand_dir_b, grand_rayon, grand_hauteur_b)
 
 # Construire le moyen cylindre
 # ----------------------------
@@ -103,7 +103,6 @@ moyen_dir = doc.addVectorVertices(moyen_arri, moyen_avan)
 
 moyen_hauteur = geompy.MinDistance(moyen_arri_v, grand_generat) - grand_rayon
 
-moyen_cylindre = doc.addCylinder(moyen_base, moyen_dir, moyen_rayon, moyen_hauteur)
 
 # Construire le petit cylindre
 # ----------------------------
@@ -117,54 +116,75 @@ petit_dir = doc.addVectorVertices(petit_arri, petit_avan)
 
 petit_hauteur = geompy.MinDistance(petit_arri_v, grand_generat)
 
-petit_cylindre = doc.addCylinder(petit_base, petit_dir, petit_rayon, petit_hauteur)
 
 # Construire les 2 cylindres qui s'intersectent
 # ---------------------------------------------
 
-cylindres_gm = doc.makeCylinders(grand_cylindre_a, moyen_cylindre)
-cylindres_gp = doc.makeCylinders(grand_cylindre_b, petit_cylindre)
+moyen_rayon  = moyen_rayon*0.7
+cylindres_gm = doc.makeCylinders (grand_base, grand_dir_a, grand_rayon, grand_hauteur_a, 
+                                  moyen_base, moyen_dir, moyen_rayon, moyen_hauteur)
+cylindres_gp = doc.makeCylinders (grand_oppo, grand_dir_b, grand_rayon, grand_hauteur_b,
+                                  petit_base, petit_dir, petit_rayon, petit_hauteur)
+
+doc.saveVtk ("tuyauterie0.vtk")
+
+print "grand_rayon = ", grand_rayon
+print "moyen_rayon = ", moyen_rayon
+print "petit_rayon = ", petit_rayon
+
 
 # Joindre les 2 croix
 # -------------------
 
-gm_quads = []
+CYL_BIG  = 1
+CYL_KMAX = 3
+CYL_JMAX = 4
 
-for i in xrange(1, -1, -1):
-    for j in xrange( [hexablock.CV_MAXI_INT, hexablock.CV_MAXI_EXT][i] ):
-        quad = cylindres_gm.getQuadIJ(hexablock.CYL_BIG, i, j, hexablock.CYL_BIG_SLICES)
-        gm_quads.append(quad)
+qstart = cylindres_gm.getQuadIJ (CYL_BIG, 0,0,CYL_KMAX)
+
+qdest  = cylindres_gp.getQuadIJ (CYL_BIG, 0,0,CYL_KMAX)
+
+va1 = qstart.getVertex (0)
+va2 = qstart.getVertex (1)
+vb1 = qdest .nearestVertex (va1)
+vb2 = qdest .nearestVertex (va2)
 
-gp_q = cylindres_gp.getQuadIJ(hexablock.CYL_BIG, 1, hexablock.V_SW, hexablock.CYL_BIG_SLICES)
+gm_quads = [qstart]
 
-gp_v0 = cylindres_gp.getVertexIJK(hexablock.CYL_BIG, 2, hexablock.V_S , hexablock.CYL_BIG_SLICES)
-gp_v1 = cylindres_gp.getVertexIJK(hexablock.CYL_BIG, 2, hexablock.V_SW, hexablock.CYL_BIG_SLICES)
+for nj in range (CYL_JMAX) :
+    quad = cylindres_gm.getQuadIJ (CYL_BIG, 1,nj, CYL_KMAX)
+    gm_quads.append (quad)
 
-gm_v0 = cylindres_gm.getVertexIJK(hexablock.CYL_BIG, 2, hexablock.V_E , hexablock.CYL_BIG_SLICES)
-gm_v1 = cylindres_gm.getVertexIJK(hexablock.CYL_BIG, 2, hexablock.V_NE, hexablock.CYL_BIG_SLICES)
+prisme = doc.joinQuadsUni (gm_quads, qdest, va1,vb1,va2,vb2, 1)
 
-prisme = doc.joinQuads(gm_quads,  gp_q, gm_v0, gp_v0, gm_v1, gp_v1,  1)
 
 # Ajouter le coude au grand cylindre
 # ----------------------------------
 
-coude_quads = []
+coude_quads = [ cylindres_gp.getQuadIJ(CYL_BIG, 0, 0, 0) ]
 
-for i in xrange(1, -1, -1):
-    for j in xrange( [hexablock.CV_MAXI_INT, hexablock.CV_MAXI_EXT][i] ):
-        quad = cylindres_gp.getQuadIJ(hexablock.CYL_BIG, i, j, 0)
+for nj in range (CYL_JMAX) :
+        quad = cylindres_gp.getQuadIJ(CYL_BIG, 1, nj, 0)
         coude_quads.append(quad)
 
 coude_centre = doc.addVertex(arc_x , arc_y , arc_z )
 coude_dir    = doc.addVector(arc_dx, arc_dy, arc_dz)
 coude_angle  = geompy.GetAngle(arc_a1, arc_a2)
 
-coude = doc.revolutionQuads(coude_quads, coude_centre, coude_dir, [coude_angle])
+coude = doc.revolutionQuads (coude_quads, coude_centre, coude_dir, [coude_angle])
+##coude = doc.revolutionQuadsUni (coude_quads, coude_centre, coude_dir, coude_angle, 8)
+
+doc.saveVtk ("tuyauterie1.vtk")
+doc.addLaws (0.02, True)
+blocs = hexablock.mesh(doc)
+muv, mue, muq, muh = hexablock.dump(doc, blocs)
+
+arret_procedure ()
 
 # Associer la géométrie au modèle de bloc
 # =======================================
 
-doc.setShape(geometrie)
+doc.addShape(geometrie, nom)
 
 # Associer les arêtes du modèle issues du joinQuads
 # -------------------------------------------------
diff --git a/src/TEST_PY/test_unit/bielle.brep b/src/TEST_PY/test_unit/bielle.brep
deleted file mode 100644 (file)
index c0f086e..0000000
+++ /dev/null
@@ -1,639 +0,0 @@
-
-CASCADE Topology V1, (c) Matra-Datavision
-Locations 0
-Curve2ds 32
-7 0 0  1 2 2  4.788278205588 0  5.2098401385170003 0 
- 4.788278205588 2 5.2098401385170003 2
-7 0 0  1 2 2  4.2149378222529998 0  8.3514327921059994 0 
- 4.2149378222529998 2 8.3514327921059994 2
-7 0 0  1 2 2  1.073345168663 0  1.5013870935939999 0 
- 1.073345168663 2 1.5013870935939999 2
-7 0 0  1 2 2  1.5013870935939999 0  2.1966580997439999 0 
- 1.5013870935939999 2 2.1966580997439999 2
-7 0 0  1 2 2  0.944934553846 0  5.3382507533329999 0 
- 0.944934553846 2 5.3382507533329999 2
-7 0 0  1 2 2  4.0865272074360002 0  4.9161778732129999 0 
- 4.0865272074360002 2 4.9161778732129999 2
-7 0 0  1 2 2  6.2831853071800001 0.020000199552965  0 0.020000199552965 
- 1.570796326795 2 7.8539816339739996 2
-7 0 0  1 2 2  6.2831853071800001 0.020000199552965  0 0.020000199552965 
- 1.570796326795 2 7.8539816339739996 2
-7 0 0  1 2 2  4.788278205588 0  4.788278205588 0.039999999105930002 
- 0 2 0.039999999105924999 2
-7 0 0  1 2 2  4.788278205588 0.039999999105930002  5.2098401385170003 0.039999999105930002 
- 4.788278205588 2 5.2098401385170003 2
-7 0 0  1 2 2  5.2098401385170003 0  5.2098401385170003 0.039999999105930002 
- 0 2 0.039999999105924999 2
-7 0 0  1 2 2  4.2149378222529998 0  4.2149378222529998 -0.039999999105930002 
- 0 2 0.039999999105924999 2
-7 0 0  1 2 2  4.2149378222529998 -0.039999999105930002  8.3514327921059994 -0.039999999105930002 
- 4.2149378222529998 2 8.3514327921059994 2
-7 0 0  1 2 2  8.3514327921059994 0  8.3514327921059994 -0.039999999105930002 
- 0 2 0.039999999105924999 2
-7 0 0  1 2 2  1.073345168663 0  1.073345168663 0.039999999105930002 
- 0 2 0.039999999105924999 2
-7 0 0  1 2 2  1.073345168663 0.039999999105930002  1.5013870935939999 0.039999999105930002 
- 1.073345168663 2 1.5013870935939999 2
-7 0 0  1 2 2  1.5013870935939999 0  1.5013870935939999 0.039999999105930002 
- 0 2 0.039999999105924999 2
-7 0 0  1 2 2  1.5013870935939999 0  1.5013870935939999 0.039999999105930002 
- 0 2 0.039999999105924999 2
-7 0 0  1 2 2  1.5013870935939999 0.039999999105930002  2.1966580997439999 0.039999999105930002 
- 1.5013870935939999 2 2.1966580997439999 2
-7 0 0  1 2 2  2.1966580997439999 0  2.1966580997439999 0.039999999105930002 
- 0 2 0.039999999105924999 2
-7 0 0  1 2 2  0.944934553846 0  0.944934553846 -0.039999999105930002 
- 0 2 0.039999999105924999 2
-7 0 0  1 2 2  0.944934553846 -0.039999999105930002  5.3382507533329999 -0.039999999105930002 
- 0.944934553846 2 5.3382507533329999 2
-7 0 0  1 2 2  5.3382507533329999 0  5.3382507533329999 -0.039999999105930002 
- 0 2 0.039999999105924999 2
-7 0 0  1 2 2  4.0865272074360002 0  4.0865272074360002 0.039999999105930002 
- 0 2 0.039999999105924999 2
-7 0 0  1 2 2  4.0865272074360002 0.039999999105930002  4.9161778732129999 0.039999999105930002 
- 4.0865272074360002 2 4.9161778732129999 2
-7 0 0  1 2 2  4.9161778732129999 0  4.9161778732129999 0.039999999105930002 
- 0 2 0.039999999105924999 2
-7 0 0  1 2 2  6.2831853071800001 0.020000199552965  6.2831853071800001 0.060000198658895006 
- 0.020000199552970003 2 0.060000198658894999 2
-7 0 0  1 2 2  0 0.020000199552965  0 0.060000198658895006 
- 0.020000199552970003 2 0.060000198658894999 2
-7 0 0  1 2 2  6.2831853071800001 0.060000198658895006  0 0.060000198658895006 
- 1.570796326795 2 7.8539816339739996 2
-7 0 0  1 2 2  6.2831853071800001 0.020000199552965  6.2831853071800001 0.060000198658895006 
- 0.020000199552970003 2 0.060000198658894999 2
-7 0 0  1 2 2  0 0.020000199552965  0 0.060000198658895006 
- 0.020000199552970003 2 0.060000198658894999 2
-7 0 0  1 2 2  6.2831853071800001 0.060000198658895006  0 0.060000198658895006 
- 1.570796326795 2 7.8539816339739996 2
-Curves 30
-2 0.057963432099881002 0.10218666633037 -0.019999999552959998 0 0 1 1 0 -0 -0 1 0 0.074466478447737003
-2 0.11481915663942001 -0.00252048112452 -0.019999999552959998 0 0 -1 1 0 0 0 -1 0 0.044681161650829998
-2 0.053295957524102003 -0.1158233848133 -0.019999999552959998 0 0 1 1 0 -0 -0 1 0 0.084247702509660002
-1 0.059138831836925004 -0.031778538463840003 -0.019999999552959998 -0.99759214608755542 0.069353515155509096 0 
-2 -0.074126212430210003 -0.0471383620928 -0.019999999552959998 0 0 1 1 0 -0 -0 1 0 0.024565238684828
-2 -0.1059604867346 -0.0030951034277679999 -0.019999999552959998 0 0 -1 1 0 0 0 -1 0 0.029778387016109003
-2 -0.07655497863763 0.037587915977931999 -0.019999999552959998 0 0 1 1 0 -0 -0 1 0 0.02041914254867
-1 -0.072422526776789994 0.017591310665011 -0.019999999552959998 0.99712179448755867 0.075816402960776436 0 
-2 -0.10647201538080001 -0.0028093000873920001 -0.019999999552959998 0 0 -1 0 1 0 1 -0 0 0.015057678156153002
-2 0.11857245862484 -0.0046067601069809993 -0.019999999552959998 0 0 -1 0 1 0 1 -0 0 0.023404166834120003
-1 0.063609212636948007 0.027934517711401 -0.019999999552959998 0 0 1 
-2 0.057963432099881002 0.10218666633037 0.019999999552965001 0 0 1 1 0 -0 -0 1 0 0.074466478447737003
-1 0.093497879803181 0.036745399236679001 -0.019999999552959998 0 0 1 
-2 0.11481915663942001 -0.00252048112452 0.019999999552965001 0 0 -1 1 0 0 0 -1 0 0.044681161650829998
-1 0.093497879803181 -0.04178636148572 -0.019999999552959998 0 0 1 
-2 0.053295957524102003 -0.1158233848133 0.019999999552965001 0 0 1 1 0 -0 -0 1 0 0.084247702509660002
-1 0.059138831836925004 -0.031778538463840003 -0.019999999552959998 0 0 1 
-1 0.059138831836925004 -0.031778538463840003 0.019999999552965001 -0.99759214608755542 0.069353515155509096 0 
-1 -0.072422526776789994 -0.022632272914050001 -0.019999999552959998 0 0 1 
-2 -0.074126212430210003 -0.0471383620928 0.019999999552965001 0 0 1 1 0 -0 -0 1 0 0.024565238684828
-1 -0.088516429066650013 -0.027229253202670001 -0.019999999552959998 0 0 1 
-2 -0.1059604867346 -0.0030951034277679999 0.019999999552965001 0 0 -1 1 0 0 0 -1 0 0.029778387016109003
-1 -0.088516429066650013 0.021039046347140999 -0.019999999552959998 0 0 1 
-2 -0.07655497863763 0.037587915977931999 0.019999999552965001 0 0 1 1 0 -0 -0 1 0 0.02041914254867
-1 -0.072422526776789994 0.017591310665011 -0.019999999552959998 0 0 1 
-1 -0.072422526776789994 0.017591310665011 0.019999999552965001 0.99712179448755867 0.075816402960776436 0 
-1 -0.091414337224700007 -0.0028093000873920001 -0.040000199105930001 0 0 1 
-2 -0.10647201538080001 -0.0028093000873920001 0.019999999552965001 0 0 -1 0 1 0 1 -0 0 0.015057678156153002
-1 0.14197662545896 -0.0046067601069809993 -0.040000199105930001 0 0 1 
-2 0.11857245862484 -0.0046067601069809993 0.019999999552965001 0 0 -1 0 1 0 1 -0 0 0.023404166834120003
-Polygon3D 0
-PolygonOnTriangulations 0
-Surfaces 12
-1 0 0 -0.019999999552959998 0 0 1 1 0 -0 -0 1 0 
-2 0.057963432099881002 0.10218666633037 -0.019999999552959998 0 0 1 1 0 -0 -0 1 0 0.074466478447737003
-2 0.11481915663942001 -0.00252048112452 -0.019999999552959998 0 0 -1 1 0 0 0 -1 0 0.044681161650829998
-2 0.053295957524102003 -0.1158233848133 -0.019999999552959998 0 0 1 1 0 -0 -0 1 0 0.084247702509660002
-2 -0.074126212430210003 -0.0471383620928 -0.019999999552959998 0 0 1 1 0 -0 -0 1 0 0.024565238684828
-2 -0.1059604867346 -0.0030951034277679999 -0.019999999552959998 0 0 -1 1 0 0 0 -1 0 0.029778387016109003
-2 -0.07655497863763 0.037587915977931999 -0.019999999552959998 0 0 1 1 0 -0 -0 1 0 0.02041914254867
-2 -0.10647201538080001 -0.0028093000873920001 -0.040000199105930001 0 0 1 1 0 -0 -0 1 0 0.015057678156153002
-2 0.11857245862484 -0.0046067601069809993 -0.040000199105930001 0 0 1 1 0 -0 -0 1 0 0.023404166834120003
-1 -0.072422526776789994 0.017591310665011 -0.019999999552959998 -0.075816402960776449 0.99712179448755867 0 0.99712179448755867 0.075816402960776449 0 0 0 -1 
-1 0.059138831836925004 -0.031778538463840003 -0.019999999552959998 -0.069353515155509096 -0.99759214608755542 0 -0.99759214608755542 0.069353515155509096 0 -0 0 -1 
-1 0 0 0.019999999552965001 0 0 1 1 0 -0 -0 1 0 
-Triangulations 0
-
-TShapes 80
-Ve
-1.0001000025e-07
-0.063609212636948 0.027934517711401 -0.01999999955296
-0 0
-
-0101101
-*
-Ve
-1.00005e-07
-0.093497879803181 0.036745399236679 -0.01999999955296
-0 0
-
-0101101
-*
-Ed
- 1.00005e-07 1 1 0
-1  1 0 4.78827820558768 5.20984013851675
-2  1 2 0 4.78827820558768 5.20984013851675
-0
-
-0101000
-+80 0 -79 0 *
-Ve
-1.00005e-07
-0.093497879803181 -0.04178636148572 -0.01999999955296
-0 0
-
-0101101
-*
-Ed
- 1.00005e-07 1 1 0
-1  2 0 4.21493782225269 8.35143279210647
-2  2 3 0 4.21493782225269 8.35143279210647
-0
-
-0101000
-+79 0 -77 0 *
-Ve
-1.0001000025e-07
-0.059138831836925 -0.03177853846384 -0.01999999955296
-0 0
-
-0101101
-*
-Ed
- 1.00005e-07 1 1 0
-1  3 0 1.07334516866233 1.50138709359361
-2  3 4 0 1.07334516866233 1.50138709359361
-0
-
-0101000
-+77 0 -75 0 *
-Ve
-1.0001000025e-07
--0.07242252677679 -0.02263227291405 -0.01999999955296
-0 0
-
-0101101
-*
-Ed
- 1.0001000025e-07 1 1 0
-1  4 0 0 0.131878903748074
-0
-
-0101000
-+75 0 -73 0 *
-Ve
-1.00005e-07
--0.08851642906665 -0.02722925320267 -0.01999999955296
-0 0
-
-0101101
-*
-Ed
- 1.00005e-07 1 1 0
-1  5 0 1.501387093594 2.19665809974347
-2  4 5 0 1.501387093594 2.19665809974347
-0
-
-0101000
-+73 0 -71 0 *
-Ve
-1.00005e-07
--0.08851642906665 0.021039046347141 -0.01999999955296
-0 0
-
-0101101
-*
-Ed
- 1.00005e-07 1 1 0
-1  6 0 0.944934553846607 5.33825075333284
-2  5 6 0 0.944934553846607 5.33825075333284
-0
-
-0101000
-+71 0 -69 0 *
-Ve
-1.0001000025e-07
--0.07242252677679 0.017591310665011 -0.01999999955296
-0 0
-
-0101101
-*
-Ed
- 1.00005e-07 1 1 0
-1  7 0 4.08652720743619 4.91617787321301
-2  6 7 0 4.08652720743619 4.91617787321301
-0
-
-0101000
-+69 0 -67 0 *
-Ed
- 1.0001000025e-07 1 1 0
-1  8 0 0 0.136424396864826
-0
-
-0101000
-+67 0 -80 0 *
-Wi
-
-0101000
-+78 0 +76 0 +74 0 +72 0 +70 0 +68 0 +66 0 +65 0 *
-Ve
-1.00005e-07
--0.0914143372247 -0.002809300087392 -0.01999999955296
-0 0
-
-0101101
-*
-Ed
- 1.00005e-07 1 1 0
-1  9 0 1.5707963267949 7.85398163397448
-2  7 8 0 1.5707963267949 7.85398163397448
-0
-
-0101100
-+63 0 -63 0 *
-Wi
-
-0101000
-+62 0 *
-Ve
-1.00005e-07
-0.14197662545896 -0.004606760106981 -0.01999999955296
-0 0
-
-0101101
-*
-Ed
- 1.00005e-07 1 1 0
-1  10 0 1.5707963267949 7.85398163397448
-2  8 9 0 1.5707963267949 7.85398163397448
-0
-
-0101100
-+60 0 -60 0 *
-Wi
-
-0101000
-+59 0 *
-Fa
-0  1e-07 1 0
-
-0111000
--64 0 +61 0 +58 0 *
-Ve
-1.0001000025e-07
-0.063609212636948 0.027934517711401 0.019999999552965
-0 0
-
-0101101
-*
-Ed
- 1.00005e-07 1 1 0
-1  11 0 0 0.039999999105925
-2  9 2 0 0 0.039999999105925
-4 G1 2 0 10 0
-0
-
-0101000
-+80 0 -56 0 *
-Ve
-1.00005e-07
-0.093497879803181 0.036745399236679 0.019999999552965
-0 0
-
-0101101
-*
-Ed
- 1.00005e-07 1 1 0
-1  12 0 4.78827820558768 5.20984013851675
-2  10 2 0 4.78827820558768 5.20984013851675
-0
-
-0101000
-+56 0 -54 0 *
-Ed
- 1e-07 1 1 0
-1  13 0 0 0.039999999105925
-2  11 2 0 0 0.039999999105925
-2  12 3 0 0 0.039999999105925
-4 G1 2 0 3 0
-0
-
-0101000
-+79 0 -54 0 *
-Wi
-
-0101000
-+55 0 +53 0 -52 0 -78 0 *
-Fa
-0  1e-07 2 0
-
-0111000
--51 0 *
-Ve
-1.00005e-07
-0.093497879803181 -0.04178636148572 0.019999999552965
-0 0
-
-0101101
-*
-Ed
- 1.00005e-07 1 1 0
-1  14 0 4.21493782225269 8.35143279210647
-2  13 3 0 4.21493782225269 8.35143279210647
-0
-
-0101000
-+54 0 -49 0 *
-Ed
- 1e-07 1 1 0
-1  15 0 0 0.039999999105925
-2  14 3 0 0 0.039999999105925
-2  15 4 0 0 0.039999999105925
-4 G1 3 0 4 0
-0
-
-0101000
-+77 0 -49 0 *
-Wi
-
-0101000
-+52 0 +48 0 -47 0 -76 0 *
-Fa
-0  1e-07 3 0
-
-0111000
-+46 0 *
-Ve
-1.0001000025e-07
-0.059138831836925 -0.03177853846384 0.019999999552965
-0 0
-
-0101101
-*
-Ed
- 1.00005e-07 1 1 0
-1  16 0 1.07334516866233 1.50138709359361
-2  16 4 0 1.07334516866233 1.50138709359361
-0
-
-0101000
-+49 0 -44 0 *
-Ed
- 1.00005e-07 1 1 0
-1  17 0 0 0.039999999105925
-2  17 4 0 0 0.039999999105925
-4 G1 4 0 11 0
-0
-
-0101000
-+75 0 -44 0 *
-Wi
-
-0101000
-+47 0 +43 0 -42 0 -74 0 *
-Fa
-0  1e-07 4 0
-
-0111000
--41 0 *
-Ve
-1.0001000025e-07
--0.07242252677679 -0.02263227291405 0.019999999552965
-0 0
-
-0101101
-*
-Ed
- 1.0001000025e-07 1 1 0
-1  18 0 0 0.131878903748074
-0
-
-0101000
-+44 0 -39 0 *
-Ed
- 1.00005e-07 1 1 0
-1  19 0 0 0.039999999105925
-2  18 5 0 0 0.039999999105925
-4 G1 11 0 5 0
-0
-
-0101000
-+73 0 -39 0 *
-Wi
-
-0101000
-+42 0 +38 0 -37 0 -72 0 *
-Fa
-0  1e-07 11 0
-
-0111000
-+36 0 *
-Ve
-1.00005e-07
--0.08851642906665 -0.02722925320267 0.019999999552965
-0 0
-
-0101101
-*
-Ed
- 1.00005e-07 1 1 0
-1  20 0 1.501387093594 2.19665809974347
-2  19 5 0 1.501387093594 2.19665809974347
-0
-
-0101000
-+39 0 -34 0 *
-Ed
- 1e-07 1 1 0
-1  21 0 0 0.039999999105925
-2  20 5 0 0 0.039999999105925
-2  21 6 0 0 0.039999999105925
-4 G1 5 0 6 0
-0
-
-0101000
-+71 0 -34 0 *
-Wi
-
-0101000
-+37 0 +33 0 -32 0 -70 0 *
-Fa
-0  1e-07 5 0
-
-0111000
--31 0 *
-Ve
-1.00005e-07
--0.08851642906665 0.021039046347141 0.019999999552965
-0 0
-
-0101101
-*
-Ed
- 1.00005e-07 1 1 0
-1  22 0 0.944934553846607 5.33825075333284
-2  22 6 0 0.944934553846607 5.33825075333284
-0
-
-0101000
-+34 0 -29 0 *
-Ed
- 1e-07 1 1 0
-1  23 0 0 0.039999999105925
-2  23 6 0 0 0.039999999105925
-2  24 7 0 0 0.039999999105925
-4 G1 6 0 7 0
-0
-
-0101000
-+69 0 -29 0 *
-Wi
-
-0101000
-+32 0 +28 0 -27 0 -68 0 *
-Fa
-0  1e-07 6 0
-
-0111000
-+26 0 *
-Ve
-1.0001000025e-07
--0.07242252677679 0.017591310665011 0.019999999552965
-0 0
-
-0101101
-*
-Ed
- 1.00005e-07 1 1 0
-1  24 0 4.08652720743619 4.91617787321301
-2  25 7 0 4.08652720743619 4.91617787321301
-0
-
-0101000
-+29 0 -24 0 *
-Ed
- 1.00005e-07 1 1 0
-1  25 0 0 0.039999999105925
-2  26 7 0 0 0.039999999105925
-0
-
-0101000
-+67 0 -24 0 *
-Wi
-
-0101000
-+27 0 +23 0 -22 0 -66 0 *
-Fa
-0  1e-07 7 0
-
-0111000
--21 0 *
-Ed
- 1.0001000025e-07 1 1 0
-1  26 0 0 0.136424396864826
-0
-
-0101000
-+24 0 -56 0 *
-Wi
-
-0101000
-+22 0 +19 0 -55 0 -65 0 *
-Fa
-0  1e-07 10 0
-
-0111000
-+18 0 *
-Ve
-1.00005e-07
--0.0914143372247 -0.002809300087392 0.019999999552965
-0 0
-
-0101101
-*
-Ed
- 1e-07 1 1 0
-1  27 0 0.02000019955297 0.060000198658895
-3  27 28G1 8 0 0.02000019955297 0.060000198658895
-0
-
-0101000
-+63 0 -16 0 *
-Ed
- 1.00005e-07 1 1 0
-1  28 0 1.5707963267949 7.85398163397448
-2  29 8 0 1.5707963267949 7.85398163397448
-0
-
-0101100
-+16 0 -16 0 *
-Wi
-
-0101000
-+15 0 -14 0 -15 0 +62 0 *
-Fa
-0  1e-07 8 0
-
-0111000
--13 0 *
-Ve
-1.00005e-07
-0.14197662545896 -0.004606760106981 0.019999999552965
-0 0
-
-0101101
-*
-Ed
- 1e-07 1 1 0
-1  29 0 0.02000019955297 0.060000198658895
-3  30 31G1 9 0 0.02000019955297 0.060000198658895
-0
-
-0101000
-+60 0 -11 0 *
-Ed
- 1.00005e-07 1 1 0
-1  30 0 1.5707963267949 7.85398163397448
-2  32 9 0 1.5707963267949 7.85398163397448
-0
-
-0101100
-+11 0 -11 0 *
-Wi
-
-0101000
-+10 0 -9 0 -10 0 +59 0 *
-Fa
-0  1e-07 9 0
-
-0111000
--8 0 *
-Wi
-
-0101000
-+53 0 +48 0 +43 0 +38 0 +33 0 +28 0 +23 0 +19 0 *
-Wi
-
-0101000
-+14 0 *
-Wi
-
-0101000
-+9 0 *
-Fa
-0  1e-07 12 0
-
-0111000
--6 0 +5 0 +4 0 *
-Sh
-
-0101100
--57 0 -50 0 +45 0 -40 0 +35 0 -30 0 +25 0 -20 0 +17 0 -12 0 
--7 0 +3 0 *
-So
-
-0100000
-+2 0 *
-
-+1 0 
diff --git a/src/TEST_PY/test_unit/bielle.stp b/src/TEST_PY/test_unit/bielle.stp
deleted file mode 100644 (file)
index ef67fa5..0000000
+++ /dev/null
@@ -1,1178 +0,0 @@
-ISO-10303-21;\r
-HEADER;\r
- FILE_DESCRIPTION(('a Product shape'),'1');\r
- FILE_NAME('Euclid  Shape Model','1998-12-23T10:04:46',('Author Name'),(\r
-    'MATRA-DATAVISION'),'OL-2.0D','EUCLID','Authorisation status');\r
- FILE_SCHEMA(('AUTOMOTIVE_DESIGN_CC2 { 1 2 10303 214 -1 1 5 4 }'));\r
-ENDSEC;\r
-DATA;\r
-#1 = PRODUCT_TYPE('part',$,(#2));\r
-#2 = PRODUCT('bielle','bielle','void',(#3));\r
-#3 = MECHANICAL_CONTEXT('Mechanical',#4,'Assembly');\r
-#4 = APPLICATION_CONTEXT('EUCLID');\r
-#5 = APPLICATION_PROTOCOL_DEFINITION('CommitteeDraft',\r
-  'automotive_design',1997,#4);\r
-#6 = SHAPE_DEFINITION_REPRESENTATION(#7,#11);\r
-#7 = PRODUCT_DEFINITION_SHAPE('void','void',#8);\r
-#8 = PRODUCT_DEFINITION('void','void',#9,#10);\r
-#9 = PRODUCT_DEFINITION_FORMATION('ID','void',#2);\r
-#10 = PRODUCT_DEFINITION_CONTEXT('as proposed',#4,'First_Design');\r
-#11 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#12),#866);\r
-#12 = MANIFOLD_SOLID_BREP('',#13);\r
-#13 = CLOSED_SHELL('',(#14,#338,#415,#466,#518,#566,#617,#668,#720,#747,\r
-    #798,#849));\r
-#14 = ADVANCED_FACE('',(#15,#270,#304),#30,.F.);\r
-#15 = FACE_BOUND('',#16,.T.);\r
-#16 = EDGE_LOOP('',(#17,#56,#88,#120,#148,#180,#212,#244));\r
-#17 = ORIENTED_EDGE('',*,*,#18,.T.);\r
-#18 = EDGE_CURVE('',#19,#21,#23,.T.);\r
-#19 = VERTEX_POINT('',#20);\r
-#20 = CARTESIAN_POINT('',(63.609212636948,27.934517711401,\r
-    -19.99999955296));\r
-#21 = VERTEX_POINT('',#22);\r
-#22 = CARTESIAN_POINT('',(93.497879803181,36.745399236679,\r
-    -19.99999955296));\r
-#23 = SURFACE_CURVE('',#24,(#29,#45),.PCURVE_S2.);\r
-#24 = CIRCLE('',#25,74.466478447737);\r
-#25 = AXIS2_PLACEMENT_3D('',#26,#27,#28);\r
-#26 = CARTESIAN_POINT('',(57.963432099881,102.18666633037,\r
-    -19.99999955296));\r
-#27 = DIRECTION('',(0.,0.,1.));\r
-#28 = DIRECTION('',(1.,0.,0.));\r
-#29 = PCURVE('',#30,#35);\r
-#30 = PLANE('',#31);\r
-#31 = AXIS2_PLACEMENT_3D('',#32,#33,#34);\r
-#32 = CARTESIAN_POINT('',(0.,0.,-19.99999955296));\r
-#33 = DIRECTION('',(0.,0.,1.));\r
-#34 = DIRECTION('',(1.,0.,0.));\r
-#35 = DEFINITIONAL_REPRESENTATION('',(#36),#44);\r
-#36 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#37,#38,#39,#40,#41,#42,#43),\r
-.UNSPECIFIED.,.F.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2,2,2,2,1),(\r
-    -2.094395102393,0.,2.094395102393,4.188790204786,6.28318530718,\r
-8.377580409573),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() \r
-RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,1.,0.5,1.)) REPRESENTATION_ITEM(\r
-  '') );\r
-#37 = CARTESIAN_POINT('',(132.42991054761,102.18666633037));\r
-#38 = CARTESIAN_POINT('',(132.42991054761,231.16639046259));\r
-#39 = CARTESIAN_POINT('',(20.730192876013,166.67652839648));\r
-#40 = CARTESIAN_POINT('',(-90.96952479559,102.18666633037));\r
-#41 = CARTESIAN_POINT('',(20.730192876013,37.696804264271));\r
-#42 = CARTESIAN_POINT('',(132.42991054761,-26.79305780183));\r
-#43 = CARTESIAN_POINT('',(132.42991054761,102.18666633037));\r
-#44 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#45 = PCURVE('',#46,#51);\r
-#46 = CYLINDRICAL_SURFACE('',#47,74.466478447737);\r
-#47 = AXIS2_PLACEMENT_3D('',#48,#49,#50);\r
-#48 = CARTESIAN_POINT('',(57.963432099881,102.18666633037,\r
-    -19.99999955296));\r
-#49 = DIRECTION('',(0.,0.,1.));\r
-#50 = DIRECTION('',(1.,0.,0.));\r
-#51 = DEFINITIONAL_REPRESENTATION('',(#52),#55);\r
-#52 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#53,#54),.UNSPECIFIED.,.F.,.F.,(2,\r
-    2),(4.788278205588,5.209840138517),.PIECEWISE_BEZIER_KNOTS.);\r
-#53 = CARTESIAN_POINT('',(4.788278205588,0.));\r
-#54 = CARTESIAN_POINT('',(5.209840138517,0.));\r
-#55 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#56 = ORIENTED_EDGE('',*,*,#57,.T.);\r
-#57 = EDGE_CURVE('',#21,#58,#60,.T.);\r
-#58 = VERTEX_POINT('',#59);\r
-#59 = CARTESIAN_POINT('',(93.497879803181,-41.78636148572,\r
-    -19.99999955296));\r
-#60 = SURFACE_CURVE('',#61,(#66,#77),.PCURVE_S2.);\r
-#61 = CIRCLE('',#62,44.68116165083);\r
-#62 = AXIS2_PLACEMENT_3D('',#63,#64,#65);\r
-#63 = CARTESIAN_POINT('',(114.81915663942,-2.52048112452,-19.99999955296\r
-    ));\r
-#64 = DIRECTION('',(0.,0.,-1.));\r
-#65 = DIRECTION('',(1.,0.,0.));\r
-#66 = PCURVE('',#30,#67);\r
-#67 = DEFINITIONAL_REPRESENTATION('',(#68),#76);\r
-#68 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#69,#70,#71,#72,#73,#74,#75),\r
-.UNSPECIFIED.,.F.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2,2,2,2,1),(\r
-    -2.094395102393,0.,2.094395102393,4.188790204786,6.28318530718,\r
-8.377580409573),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() \r
-RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,1.,0.5,1.)) REPRESENTATION_ITEM(\r
-  '') );\r
-#69 = CARTESIAN_POINT('',(159.50031829025,-2.52048112452));\r
-#70 = CARTESIAN_POINT('',(159.50031829025,-79.91052324495));\r
-#71 = CARTESIAN_POINT('',(92.478575814005,-41.21550218473));\r
-#72 = CARTESIAN_POINT('',(25.45683333776,-2.52048112452));\r
-#73 = CARTESIAN_POINT('',(92.478575814005,36.174539935697));\r
-#74 = CARTESIAN_POINT('',(159.50031829025,74.869560995915));\r
-#75 = CARTESIAN_POINT('',(159.50031829025,-2.52048112452));\r
-#76 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#77 = PCURVE('',#78,#83);\r
-#78 = CYLINDRICAL_SURFACE('',#79,44.68116165083);\r
-#79 = AXIS2_PLACEMENT_3D('',#80,#81,#82);\r
-#80 = CARTESIAN_POINT('',(114.81915663942,-2.52048112452,-19.99999955296\r
-    ));\r
-#81 = DIRECTION('',(0.,0.,-1.));\r
-#82 = DIRECTION('',(1.,0.,0.));\r
-#83 = DEFINITIONAL_REPRESENTATION('',(#84),#87);\r
-#84 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#85,#86),.UNSPECIFIED.,.F.,.F.,(2,\r
-    2),(4.214937822253,8.351432792106),.PIECEWISE_BEZIER_KNOTS.);\r
-#85 = CARTESIAN_POINT('',(4.214937822253,0.));\r
-#86 = CARTESIAN_POINT('',(8.351432792106,0.));\r
-#87 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#88 = ORIENTED_EDGE('',*,*,#89,.T.);\r
-#89 = EDGE_CURVE('',#58,#90,#92,.T.);\r
-#90 = VERTEX_POINT('',#91);\r
-#91 = CARTESIAN_POINT('',(59.138831836925,-31.77853846384,\r
-    -19.99999955296));\r
-#92 = SURFACE_CURVE('',#93,(#98,#109),.PCURVE_S2.);\r
-#93 = CIRCLE('',#94,84.24770250966);\r
-#94 = AXIS2_PLACEMENT_3D('',#95,#96,#97);\r
-#95 = CARTESIAN_POINT('',(53.295957524102,-115.8233848133,\r
-    -19.99999955296));\r
-#96 = DIRECTION('',(0.,0.,1.));\r
-#97 = DIRECTION('',(1.,0.,0.));\r
-#98 = PCURVE('',#30,#99);\r
-#99 = DEFINITIONAL_REPRESENTATION('',(#100),#108);\r
-#100 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#101,#102,#103,#104,#105,#106\r
-,#107),.UNSPECIFIED.,.T.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2,2,2,2,1),(\r
-    -2.094395102393,0.,2.094395102393,4.188790204786,6.28318530718,\r
-8.377580409573),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() \r
-RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,1.,0.5,1.)) REPRESENTATION_ITEM(\r
-  '') );\r
-#101 = CARTESIAN_POINT('',(137.54366003376,-115.8233848133));\r
-#102 = CARTESIAN_POINT('',(137.54366003376,30.097916354281));\r
-#103 = CARTESIAN_POINT('',(11.172106269272,-42.86273422955));\r
-#104 = CARTESIAN_POINT('',(-115.1994474952,-115.8233848133));\r
-#105 = CARTESIAN_POINT('',(11.172106269272,-188.7840353972));\r
-#106 = CARTESIAN_POINT('',(137.54366003376,-261.744685981));\r
-#107 = CARTESIAN_POINT('',(137.54366003376,-115.8233848133));\r
-#108 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#109 = PCURVE('',#110,#115);\r
-#110 = CYLINDRICAL_SURFACE('',#111,84.24770250966);\r
-#111 = AXIS2_PLACEMENT_3D('',#112,#113,#114);\r
-#112 = CARTESIAN_POINT('',(53.295957524102,-115.8233848133,\r
-    -19.99999955296));\r
-#113 = DIRECTION('',(0.,0.,1.));\r
-#114 = DIRECTION('',(1.,0.,0.));\r
-#115 = DEFINITIONAL_REPRESENTATION('',(#116),#119);\r
-#116 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#117,#118),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(1.073345168663,1.501387093594),.PIECEWISE_BEZIER_KNOTS.);\r
-#117 = CARTESIAN_POINT('',(1.073345168663,0.));\r
-#118 = CARTESIAN_POINT('',(1.501387093594,0.));\r
-#119 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#120 = ORIENTED_EDGE('',*,*,#121,.T.);\r
-#121 = EDGE_CURVE('',#90,#122,#124,.T.);\r
-#122 = VERTEX_POINT('',#123);\r
-#123 = CARTESIAN_POINT('',(-72.42252677679,-22.63227291405,\r
-    -19.99999955296));\r
-#124 = SURFACE_CURVE('',#125,(#129,#136),.PCURVE_S2.);\r
-#125 = LINE('',#126,#127);\r
-#126 = CARTESIAN_POINT('',(59.138831836925,-31.77853846384,\r
-    -19.99999955296));\r
-#127 = VECTOR('',#128,1.);\r
-#128 = DIRECTION('',(-0.997592146088,6.935351515554E-02,0.));\r
-#129 = PCURVE('',#30,#130);\r
-#130 = DEFINITIONAL_REPRESENTATION('',(#131),#135);\r
-#131 = LINE('',#132,#133);\r
-#132 = CARTESIAN_POINT('',(59.138831836925,-31.77853846384));\r
-#133 = VECTOR('',#134,1.);\r
-#134 = DIRECTION('',(-0.997592146088,6.935351515554E-02));\r
-#135 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#136 = PCURVE('',#137,#142);\r
-#137 = PLANE('',#138);\r
-#138 = AXIS2_PLACEMENT_3D('',#139,#140,#141);\r
-#139 = CARTESIAN_POINT('',(59.138831836925,-31.77853846384,\r
-    -19.99999955296));\r
-#140 = DIRECTION('',(-6.935351515554E-02,-0.997592146088,0.));\r
-#141 = DIRECTION('',(-0.997592146088,6.935351515554E-02,0.));\r
-#142 = DEFINITIONAL_REPRESENTATION('',(#143),#147);\r
-#143 = LINE('',#144,#145);\r
-#144 = CARTESIAN_POINT('',(0.,-3.552713678801E-14));\r
-#145 = VECTOR('',#146,1.);\r
-#146 = DIRECTION('',(1.,0.));\r
-#147 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#148 = ORIENTED_EDGE('',*,*,#149,.T.);\r
-#149 = EDGE_CURVE('',#122,#150,#152,.T.);\r
-#150 = VERTEX_POINT('',#151);\r
-#151 = CARTESIAN_POINT('',(-88.51642906665,-27.22925320267,\r
-    -19.99999955296));\r
-#152 = SURFACE_CURVE('',#153,(#158,#169),.PCURVE_S2.);\r
-#153 = CIRCLE('',#154,24.565238684828);\r
-#154 = AXIS2_PLACEMENT_3D('',#155,#156,#157);\r
-#155 = CARTESIAN_POINT('',(-74.12621243021,-47.1383620928,\r
-    -19.99999955296));\r
-#156 = DIRECTION('',(0.,0.,1.));\r
-#157 = DIRECTION('',(1.,0.,0.));\r
-#158 = PCURVE('',#30,#159);\r
-#159 = DEFINITIONAL_REPRESENTATION('',(#160),#168);\r
-#160 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#161,#162,#163,#164,#165,#166\r
-,#167),.UNSPECIFIED.,.F.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2,2,2,2,1),(\r
-    -2.094395102393,0.,2.094395102393,4.188790204786,6.28318530718,\r
-8.377580409573),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() \r
-RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,1.,0.5,1.)) REPRESENTATION_ITEM(\r
-  '') );\r
-#161 = CARTESIAN_POINT('',(-49.56097374539,-47.1383620928));\r
-#162 = CARTESIAN_POINT('',(-49.56097374539,-4.590120590624));\r
-#163 = CARTESIAN_POINT('',(-86.40883177263,-25.86424134171));\r
-#164 = CARTESIAN_POINT('',(-123.2566897998,-47.1383620928));\r
-#165 = CARTESIAN_POINT('',(-86.40883177263,-68.41248284389));\r
-#166 = CARTESIAN_POINT('',(-49.56097374539,-89.68660359498));\r
-#167 = CARTESIAN_POINT('',(-49.56097374539,-47.1383620928));\r
-#168 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#169 = PCURVE('',#170,#175);\r
-#170 = CYLINDRICAL_SURFACE('',#171,24.565238684828);\r
-#171 = AXIS2_PLACEMENT_3D('',#172,#173,#174);\r
-#172 = CARTESIAN_POINT('',(-74.12621243021,-47.1383620928,\r
-    -19.99999955296));\r
-#173 = DIRECTION('',(0.,0.,1.));\r
-#174 = DIRECTION('',(1.,0.,0.));\r
-#175 = DEFINITIONAL_REPRESENTATION('',(#176),#179);\r
-#176 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#177,#178),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(1.501387093594,2.196658099744),.PIECEWISE_BEZIER_KNOTS.);\r
-#177 = CARTESIAN_POINT('',(1.501387093594,0.));\r
-#178 = CARTESIAN_POINT('',(2.196658099744,0.));\r
-#179 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#180 = ORIENTED_EDGE('',*,*,#181,.T.);\r
-#181 = EDGE_CURVE('',#150,#182,#184,.T.);\r
-#182 = VERTEX_POINT('',#183);\r
-#183 = CARTESIAN_POINT('',(-88.51642906665,21.039046347141,\r
-    -19.99999955296));\r
-#184 = SURFACE_CURVE('',#185,(#190,#201),.PCURVE_S2.);\r
-#185 = CIRCLE('',#186,29.778387016109);\r
-#186 = AXIS2_PLACEMENT_3D('',#187,#188,#189);\r
-#187 = CARTESIAN_POINT('',(-105.9604867346,-3.095103427768,\r
-    -19.99999955296));\r
-#188 = DIRECTION('',(0.,0.,-1.));\r
-#189 = DIRECTION('',(1.,0.,0.));\r
-#190 = PCURVE('',#30,#191);\r
-#191 = DEFINITIONAL_REPRESENTATION('',(#192),#200);\r
-#192 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#193,#194,#195,#196,#197,#198\r
-,#199),.UNSPECIFIED.,.T.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2,2,2,2,1),(\r
-    -2.094395102393,0.,2.094395102393,4.188790204786,6.28318530718,\r
-8.377580409573),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() \r
-RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,1.,0.5,1.)) REPRESENTATION_ITEM(\r
-  '') );\r
-#193 = CARTESIAN_POINT('',(-76.18209971851,-3.095103427768));\r
-#194 = CARTESIAN_POINT('',(-76.18209971851,-54.67278270711));\r
-#195 = CARTESIAN_POINT('',(-120.8496802426,-28.88394306744));\r
-#196 = CARTESIAN_POINT('',(-165.5172607668,-3.095103427768));\r
-#197 = CARTESIAN_POINT('',(-120.8496802426,22.693736211908));\r
-#198 = CARTESIAN_POINT('',(-76.18209971851,48.482575851583));\r
-#199 = CARTESIAN_POINT('',(-76.18209971851,-3.095103427768));\r
-#200 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#201 = PCURVE('',#202,#207);\r
-#202 = CYLINDRICAL_SURFACE('',#203,29.778387016109);\r
-#203 = AXIS2_PLACEMENT_3D('',#204,#205,#206);\r
-#204 = CARTESIAN_POINT('',(-105.9604867346,-3.095103427768,\r
-    -19.99999955296));\r
-#205 = DIRECTION('',(0.,0.,-1.));\r
-#206 = DIRECTION('',(1.,0.,0.));\r
-#207 = DEFINITIONAL_REPRESENTATION('',(#208),#211);\r
-#208 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#209,#210),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(0.944934553846,5.338250753333),.PIECEWISE_BEZIER_KNOTS.);\r
-#209 = CARTESIAN_POINT('',(0.944934553846,0.));\r
-#210 = CARTESIAN_POINT('',(5.338250753333,0.));\r
-#211 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#212 = ORIENTED_EDGE('',*,*,#213,.T.);\r
-#213 = EDGE_CURVE('',#182,#214,#216,.T.);\r
-#214 = VERTEX_POINT('',#215);\r
-#215 = CARTESIAN_POINT('',(-72.42252677679,17.591310665011,\r
-    -19.99999955296));\r
-#216 = SURFACE_CURVE('',#217,(#222,#233),.PCURVE_S2.);\r
-#217 = CIRCLE('',#218,20.41914254867);\r
-#218 = AXIS2_PLACEMENT_3D('',#219,#220,#221);\r
-#219 = CARTESIAN_POINT('',(-76.55497863763,37.587915977932,\r
-    -19.99999955296));\r
-#220 = DIRECTION('',(0.,0.,1.));\r
-#221 = DIRECTION('',(1.,0.,0.));\r
-#222 = PCURVE('',#30,#223);\r
-#223 = DEFINITIONAL_REPRESENTATION('',(#224),#232);\r
-#224 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#225,#226,#227,#228,#229,#230\r
-,#231),.UNSPECIFIED.,.F.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2,2,2,2,1),(\r
-    -2.094395102393,0.,2.094395102393,4.188790204786,6.28318530718,\r
-8.377580409573),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() \r
-RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,1.,0.5,1.)) REPRESENTATION_ITEM(\r
-  '') );\r
-#225 = CARTESIAN_POINT('',(-56.13583608896,37.587915977932));\r
-#226 = CARTESIAN_POINT('',(-56.13583608896,72.954908319219));\r
-#227 = CARTESIAN_POINT('',(-86.76454991196,55.271412148575));\r
-#228 = CARTESIAN_POINT('',(-117.3932637349,37.587915977932));\r
-#229 = CARTESIAN_POINT('',(-86.76454991196,19.904419807288));\r
-#230 = CARTESIAN_POINT('',(-56.13583608896,2.220923636644));\r
-#231 = CARTESIAN_POINT('',(-56.13583608896,37.587915977932));\r
-#232 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#233 = PCURVE('',#234,#239);\r
-#234 = CYLINDRICAL_SURFACE('',#235,20.41914254867);\r
-#235 = AXIS2_PLACEMENT_3D('',#236,#237,#238);\r
-#236 = CARTESIAN_POINT('',(-76.55497863763,37.587915977932,\r
-    -19.99999955296));\r
-#237 = DIRECTION('',(0.,0.,1.));\r
-#238 = DIRECTION('',(1.,0.,0.));\r
-#239 = DEFINITIONAL_REPRESENTATION('',(#240),#243);\r
-#240 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#241,#242),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(4.086527207436,4.916177873213),.PIECEWISE_BEZIER_KNOTS.);\r
-#241 = CARTESIAN_POINT('',(4.086527207436,0.));\r
-#242 = CARTESIAN_POINT('',(4.916177873213,0.));\r
-#243 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#244 = ORIENTED_EDGE('',*,*,#245,.T.);\r
-#245 = EDGE_CURVE('',#214,#19,#246,.T.);\r
-#246 = SURFACE_CURVE('',#247,(#251,#258),.PCURVE_S2.);\r
-#247 = LINE('',#248,#249);\r
-#248 = CARTESIAN_POINT('',(-72.42252677679,17.591310665011,\r
-    -19.99999955296));\r
-#249 = VECTOR('',#250,1.);\r
-#250 = DIRECTION('',(0.997121794488,7.581640296081E-02,0.));\r
-#251 = PCURVE('',#30,#252);\r
-#252 = DEFINITIONAL_REPRESENTATION('',(#253),#257);\r
-#253 = LINE('',#254,#255);\r
-#254 = CARTESIAN_POINT('',(-72.42252677679,17.591310665011));\r
-#255 = VECTOR('',#256,1.);\r
-#256 = DIRECTION('',(0.997121794488,7.581640296081E-02));\r
-#257 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#258 = PCURVE('',#259,#264);\r
-#259 = PLANE('',#260);\r
-#260 = AXIS2_PLACEMENT_3D('',#261,#262,#263);\r
-#261 = CARTESIAN_POINT('',(-72.42252677679,17.591310665011,\r
-    -19.99999955296));\r
-#262 = DIRECTION('',(-7.581640296081E-02,0.997121794488,0.));\r
-#263 = DIRECTION('',(0.997121794488,7.581640296081E-02,0.));\r
-#264 = DEFINITIONAL_REPRESENTATION('',(#265),#269);\r
-#265 = LINE('',#266,#267);\r
-#266 = CARTESIAN_POINT('',(0.,-3.552713678801E-14));\r
-#267 = VECTOR('',#268,1.);\r
-#268 = DIRECTION('',(1.,0.));\r
-#269 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#270 = FACE_BOUND('',#271,.F.);\r
-#271 = EDGE_LOOP('',(#272));\r
-#272 = ORIENTED_EDGE('',*,*,#273,.T.);\r
-#273 = EDGE_CURVE('',#274,#274,#276,.T.);\r
-#274 = VERTEX_POINT('',#275);\r
-#275 = CARTESIAN_POINT('',(-91.4143372247,-2.809300087392,\r
-    -19.99999955296));\r
-#276 = SURFACE_CURVE('',#277,(#282,#293),.PCURVE_S2.);\r
-#277 = CIRCLE('',#278,15.057678156153);\r
-#278 = AXIS2_PLACEMENT_3D('',#279,#280,#281);\r
-#279 = CARTESIAN_POINT('',(-106.4720153808,-2.809300087392,\r
-    -19.99999955296));\r
-#280 = DIRECTION('',(0.,0.,-1.));\r
-#281 = DIRECTION('',(0.,1.,0.));\r
-#282 = PCURVE('',#30,#283);\r
-#283 = DEFINITIONAL_REPRESENTATION('',(#284),#292);\r
-#284 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#285,#286,#287,#288,#289,#290\r
-,#291),.UNSPECIFIED.,.F.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2,2,2,2,1),(\r
-    -2.094395102393,0.,2.094395102393,4.188790204786,6.28318530718,\r
-8.377580409573),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() \r
-RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,1.,0.5,1.)) REPRESENTATION_ITEM(\r
-  '') );\r
-#285 = CARTESIAN_POINT('',(-106.4720153808,12.24837806876));\r
-#286 = CARTESIAN_POINT('',(-80.39135177038,12.24837806876));\r
-#287 = CARTESIAN_POINT('',(-93.43168357562,-10.33813916546));\r
-#288 = CARTESIAN_POINT('',(-106.4720153808,-32.92465639969));\r
-#289 = CARTESIAN_POINT('',(-119.512347186,-10.33813916546));\r
-#290 = CARTESIAN_POINT('',(-132.5526789913,12.24837806876));\r
-#291 = CARTESIAN_POINT('',(-106.4720153808,12.24837806876));\r
-#292 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#293 = PCURVE('',#294,#299);\r
-#294 = CYLINDRICAL_SURFACE('',#295,15.057678156153);\r
-#295 = AXIS2_PLACEMENT_3D('',#296,#297,#298);\r
-#296 = CARTESIAN_POINT('',(-106.4720153808,-2.809300087392,\r
-    -40.00019910593));\r
-#297 = DIRECTION('',(0.,0.,1.));\r
-#298 = DIRECTION('',(1.,0.,0.));\r
-#299 = DEFINITIONAL_REPRESENTATION('',(#300),#303);\r
-#300 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#301,#302),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(1.570796326795,7.853981633974),.PIECEWISE_BEZIER_KNOTS.);\r
-#301 = CARTESIAN_POINT('',(6.28318530718,20.000199552965));\r
-#302 = CARTESIAN_POINT('',(0.,20.000199552965));\r
-#303 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#304 = FACE_BOUND('',#305,.F.);\r
-#305 = EDGE_LOOP('',(#306));\r
-#306 = ORIENTED_EDGE('',*,*,#307,.T.);\r
-#307 = EDGE_CURVE('',#308,#308,#310,.T.);\r
-#308 = VERTEX_POINT('',#309);\r
-#309 = CARTESIAN_POINT('',(141.97662545896,-4.606760106981,\r
-    -19.99999955296));\r
-#310 = SURFACE_CURVE('',#311,(#316,#327),.PCURVE_S2.);\r
-#311 = CIRCLE('',#312,23.40416683412);\r
-#312 = AXIS2_PLACEMENT_3D('',#313,#314,#315);\r
-#313 = CARTESIAN_POINT('',(118.57245862484,-4.606760106981,\r
-    -19.99999955296));\r
-#314 = DIRECTION('',(0.,0.,-1.));\r
-#315 = DIRECTION('',(0.,1.,0.));\r
-#316 = PCURVE('',#30,#317);\r
-#317 = DEFINITIONAL_REPRESENTATION('',(#318),#326);\r
-#318 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#319,#320,#321,#322,#323,#324\r
-,#325),.UNSPECIFIED.,.F.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2,2,2,2,1),(\r
-    -2.094395102393,0.,2.094395102393,4.188790204786,6.28318530718,\r
-8.377580409573),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() \r
-RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,1.,0.5,1.)) REPRESENTATION_ITEM(\r
-  '') );\r
-#319 = CARTESIAN_POINT('',(118.57245862484,18.797406727139));\r
-#320 = CARTESIAN_POINT('',(159.10966469035,18.797406727139));\r
-#321 = CARTESIAN_POINT('',(138.84106165759,-16.30884352404));\r
-#322 = CARTESIAN_POINT('',(118.57245862484,-51.41509377522));\r
-#323 = CARTESIAN_POINT('',(98.303855592083,-16.30884352404));\r
-#324 = CARTESIAN_POINT('',(78.035252559326,18.797406727139));\r
-#325 = CARTESIAN_POINT('',(118.57245862484,18.797406727139));\r
-#326 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#327 = PCURVE('',#328,#333);\r
-#328 = CYLINDRICAL_SURFACE('',#329,23.40416683412);\r
-#329 = AXIS2_PLACEMENT_3D('',#330,#331,#332);\r
-#330 = CARTESIAN_POINT('',(118.57245862484,-4.606760106981,\r
-    -40.00019910593));\r
-#331 = DIRECTION('',(0.,0.,1.));\r
-#332 = DIRECTION('',(1.,0.,0.));\r
-#333 = DEFINITIONAL_REPRESENTATION('',(#334),#337);\r
-#334 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#335,#336),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(1.570796326795,7.853981633974),.PIECEWISE_BEZIER_KNOTS.);\r
-#335 = CARTESIAN_POINT('',(6.28318530718,20.000199552965));\r
-#336 = CARTESIAN_POINT('',(0.,20.000199552965));\r
-#337 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#338 = ADVANCED_FACE('',(#339),#46,.F.);\r
-#339 = FACE_BOUND('',#340,.T.);\r
-#340 = EDGE_LOOP('',(#341,#363,#395,#414));\r
-#341 = ORIENTED_EDGE('',*,*,#342,.T.);\r
-#342 = EDGE_CURVE('',#19,#343,#345,.T.);\r
-#343 = VERTEX_POINT('',#344);\r
-#344 = CARTESIAN_POINT('',(63.609212636948,27.934517711401,\r
-    19.999999552965));\r
-#345 = SURFACE_CURVE('',#346,(#350,#356),.PCURVE_S2.);\r
-#346 = LINE('',#347,#348);\r
-#347 = CARTESIAN_POINT('',(63.609212636948,27.934517711401,\r
-    -19.99999955296));\r
-#348 = VECTOR('',#349,1.);\r
-#349 = DIRECTION('',(0.,0.,1.));\r
-#350 = PCURVE('',#46,#351);\r
-#351 = DEFINITIONAL_REPRESENTATION('',(#352),#355);\r
-#352 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#353,#354),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(0.,39.99999910593),.PIECEWISE_BEZIER_KNOTS.);\r
-#353 = CARTESIAN_POINT('',(4.788278205588,0.));\r
-#354 = CARTESIAN_POINT('',(4.788278205588,39.99999910593));\r
-#355 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#356 = PCURVE('',#259,#357);\r
-#357 = DEFINITIONAL_REPRESENTATION('',(#358),#362);\r
-#358 = LINE('',#359,#360);\r
-#359 = CARTESIAN_POINT('',(136.42439686482,0.));\r
-#360 = VECTOR('',#361,1.);\r
-#361 = DIRECTION('',(0.,-1.));\r
-#362 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#363 = ORIENTED_EDGE('',*,*,#364,.T.);\r
-#364 = EDGE_CURVE('',#343,#365,#367,.T.);\r
-#365 = VERTEX_POINT('',#366);\r
-#366 = CARTESIAN_POINT('',(93.497879803181,36.745399236679,\r
-    19.999999552965));\r
-#367 = SURFACE_CURVE('',#368,(#373,#379),.PCURVE_S2.);\r
-#368 = CIRCLE('',#369,74.466478447737);\r
-#369 = AXIS2_PLACEMENT_3D('',#370,#371,#372);\r
-#370 = CARTESIAN_POINT('',(57.963432099881,102.18666633037,\r
-    19.999999552965));\r
-#371 = DIRECTION('',(0.,0.,1.));\r
-#372 = DIRECTION('',(1.,0.,0.));\r
-#373 = PCURVE('',#46,#374);\r
-#374 = DEFINITIONAL_REPRESENTATION('',(#375),#378);\r
-#375 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#376,#377),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(4.788278205588,5.209840138517),.PIECEWISE_BEZIER_KNOTS.);\r
-#376 = CARTESIAN_POINT('',(4.788278205588,39.99999910593));\r
-#377 = CARTESIAN_POINT('',(5.209840138517,39.99999910593));\r
-#378 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#379 = PCURVE('',#380,#385);\r
-#380 = PLANE('',#381);\r
-#381 = AXIS2_PLACEMENT_3D('',#382,#383,#384);\r
-#382 = CARTESIAN_POINT('',(0.,0.,19.999999552965));\r
-#383 = DIRECTION('',(0.,0.,1.));\r
-#384 = DIRECTION('',(1.,0.,0.));\r
-#385 = DEFINITIONAL_REPRESENTATION('',(#386),#394);\r
-#386 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#387,#388,#389,#390,#391,#392\r
-,#393),.UNSPECIFIED.,.F.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2,2,2,2,1),(\r
-    -2.094395102393,0.,2.094395102393,4.188790204786,6.28318530718,\r
-8.377580409573),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() \r
-RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,1.,0.5,1.)) REPRESENTATION_ITEM(\r
-  '') );\r
-#387 = CARTESIAN_POINT('',(132.42991054761,102.18666633037));\r
-#388 = CARTESIAN_POINT('',(132.42991054761,231.16639046259));\r
-#389 = CARTESIAN_POINT('',(20.730192876013,166.67652839648));\r
-#390 = CARTESIAN_POINT('',(-90.96952479559,102.18666633037));\r
-#391 = CARTESIAN_POINT('',(20.730192876013,37.696804264271));\r
-#392 = CARTESIAN_POINT('',(132.42991054761,-26.79305780183));\r
-#393 = CARTESIAN_POINT('',(132.42991054761,102.18666633037));\r
-#394 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#395 = ORIENTED_EDGE('',*,*,#396,.F.);\r
-#396 = EDGE_CURVE('',#21,#365,#397,.T.);\r
-#397 = SURFACE_CURVE('',#398,(#402,#408),.PCURVE_S2.);\r
-#398 = LINE('',#399,#400);\r
-#399 = CARTESIAN_POINT('',(93.497879803181,36.745399236679,\r
-    -19.99999955296));\r
-#400 = VECTOR('',#401,1.);\r
-#401 = DIRECTION('',(0.,0.,1.));\r
-#402 = PCURVE('',#46,#403);\r
-#403 = DEFINITIONAL_REPRESENTATION('',(#404),#407);\r
-#404 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#405,#406),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(0.,39.99999910593),.PIECEWISE_BEZIER_KNOTS.);\r
-#405 = CARTESIAN_POINT('',(5.209840138517,0.));\r
-#406 = CARTESIAN_POINT('',(5.209840138517,39.99999910593));\r
-#407 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#408 = PCURVE('',#78,#409);\r
-#409 = DEFINITIONAL_REPRESENTATION('',(#410),#413);\r
-#410 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#411,#412),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(0.,39.99999910593),.PIECEWISE_BEZIER_KNOTS.);\r
-#411 = CARTESIAN_POINT('',(4.214937822253,0.));\r
-#412 = CARTESIAN_POINT('',(4.214937822253,-39.99999910593));\r
-#413 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#414 = ORIENTED_EDGE('',*,*,#18,.F.);\r
-#415 = ADVANCED_FACE('',(#416),#78,.T.);\r
-#416 = FACE_BOUND('',#417,.T.);\r
-#417 = EDGE_LOOP('',(#418,#419,#446,#465));\r
-#418 = ORIENTED_EDGE('',*,*,#396,.T.);\r
-#419 = ORIENTED_EDGE('',*,*,#420,.T.);\r
-#420 = EDGE_CURVE('',#365,#421,#423,.T.);\r
-#421 = VERTEX_POINT('',#422);\r
-#422 = CARTESIAN_POINT('',(93.497879803181,-41.78636148572,\r
-    19.999999552965));\r
-#423 = SURFACE_CURVE('',#424,(#429,#435),.PCURVE_S2.);\r
-#424 = CIRCLE('',#425,44.68116165083);\r
-#425 = AXIS2_PLACEMENT_3D('',#426,#427,#428);\r
-#426 = CARTESIAN_POINT('',(114.81915663942,-2.52048112452,\r
-    19.999999552965));\r
-#427 = DIRECTION('',(0.,0.,-1.));\r
-#428 = DIRECTION('',(1.,0.,0.));\r
-#429 = PCURVE('',#78,#430);\r
-#430 = DEFINITIONAL_REPRESENTATION('',(#431),#434);\r
-#431 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#432,#433),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(4.214937822253,8.351432792106),.PIECEWISE_BEZIER_KNOTS.);\r
-#432 = CARTESIAN_POINT('',(4.214937822253,-39.99999910593));\r
-#433 = CARTESIAN_POINT('',(8.351432792106,-39.99999910593));\r
-#434 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#435 = PCURVE('',#380,#436);\r
-#436 = DEFINITIONAL_REPRESENTATION('',(#437),#445);\r
-#437 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#438,#439,#440,#441,#442,#443\r
-,#444),.UNSPECIFIED.,.F.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2,2,2,2,1),(\r
-    -2.094395102393,0.,2.094395102393,4.188790204786,6.28318530718,\r
-8.377580409573),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() \r
-RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,1.,0.5,1.)) REPRESENTATION_ITEM(\r
-  '') );\r
-#438 = CARTESIAN_POINT('',(159.50031829025,-2.52048112452));\r
-#439 = CARTESIAN_POINT('',(159.50031829025,-79.91052324495));\r
-#440 = CARTESIAN_POINT('',(92.478575814005,-41.21550218473));\r
-#441 = CARTESIAN_POINT('',(25.45683333776,-2.52048112452));\r
-#442 = CARTESIAN_POINT('',(92.478575814005,36.174539935697));\r
-#443 = CARTESIAN_POINT('',(159.50031829025,74.869560995915));\r
-#444 = CARTESIAN_POINT('',(159.50031829025,-2.52048112452));\r
-#445 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#446 = ORIENTED_EDGE('',*,*,#447,.F.);\r
-#447 = EDGE_CURVE('',#58,#421,#448,.T.);\r
-#448 = SURFACE_CURVE('',#449,(#453,#459),.PCURVE_S2.);\r
-#449 = LINE('',#450,#451);\r
-#450 = CARTESIAN_POINT('',(93.497879803181,-41.78636148572,\r
-    -19.99999955296));\r
-#451 = VECTOR('',#452,1.);\r
-#452 = DIRECTION('',(0.,0.,1.));\r
-#453 = PCURVE('',#78,#454);\r
-#454 = DEFINITIONAL_REPRESENTATION('',(#455),#458);\r
-#455 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#456,#457),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(0.,39.99999910593),.PIECEWISE_BEZIER_KNOTS.);\r
-#456 = CARTESIAN_POINT('',(8.351432792106,0.));\r
-#457 = CARTESIAN_POINT('',(8.351432792106,-39.99999910593));\r
-#458 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#459 = PCURVE('',#110,#460);\r
-#460 = DEFINITIONAL_REPRESENTATION('',(#461),#464);\r
-#461 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#462,#463),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(0.,39.99999910593),.PIECEWISE_BEZIER_KNOTS.);\r
-#462 = CARTESIAN_POINT('',(1.073345168663,0.));\r
-#463 = CARTESIAN_POINT('',(1.073345168663,39.99999910593));\r
-#464 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#465 = ORIENTED_EDGE('',*,*,#57,.F.);\r
-#466 = ADVANCED_FACE('',(#467),#110,.F.);\r
-#467 = FACE_BOUND('',#468,.T.);\r
-#468 = EDGE_LOOP('',(#469,#470,#497,#517));\r
-#469 = ORIENTED_EDGE('',*,*,#447,.T.);\r
-#470 = ORIENTED_EDGE('',*,*,#471,.T.);\r
-#471 = EDGE_CURVE('',#421,#472,#474,.T.);\r
-#472 = VERTEX_POINT('',#473);\r
-#473 = CARTESIAN_POINT('',(59.138831836925,-31.77853846384,\r
-    19.999999552965));\r
-#474 = SURFACE_CURVE('',#475,(#480,#486),.PCURVE_S2.);\r
-#475 = CIRCLE('',#476,84.24770250966);\r
-#476 = AXIS2_PLACEMENT_3D('',#477,#478,#479);\r
-#477 = CARTESIAN_POINT('',(53.295957524102,-115.8233848133,\r
-    19.999999552965));\r
-#478 = DIRECTION('',(0.,0.,1.));\r
-#479 = DIRECTION('',(1.,0.,0.));\r
-#480 = PCURVE('',#110,#481);\r
-#481 = DEFINITIONAL_REPRESENTATION('',(#482),#485);\r
-#482 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#483,#484),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(1.073345168663,1.501387093594),.PIECEWISE_BEZIER_KNOTS.);\r
-#483 = CARTESIAN_POINT('',(1.073345168663,39.99999910593));\r
-#484 = CARTESIAN_POINT('',(1.501387093594,39.99999910593));\r
-#485 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#486 = PCURVE('',#380,#487);\r
-#487 = DEFINITIONAL_REPRESENTATION('',(#488),#496);\r
-#488 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#489,#490,#491,#492,#493,#494\r
-,#495),.UNSPECIFIED.,.T.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2,2,2,2,1),(\r
-    -2.094395102393,0.,2.094395102393,4.188790204786,6.28318530718,\r
-8.377580409573),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() \r
-RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,1.,0.5,1.)) REPRESENTATION_ITEM(\r
-  '') );\r
-#489 = CARTESIAN_POINT('',(137.54366003376,-115.8233848133));\r
-#490 = CARTESIAN_POINT('',(137.54366003376,30.097916354281));\r
-#491 = CARTESIAN_POINT('',(11.172106269272,-42.86273422955));\r
-#492 = CARTESIAN_POINT('',(-115.1994474952,-115.8233848133));\r
-#493 = CARTESIAN_POINT('',(11.172106269272,-188.7840353972));\r
-#494 = CARTESIAN_POINT('',(137.54366003376,-261.744685981));\r
-#495 = CARTESIAN_POINT('',(137.54366003376,-115.8233848133));\r
-#496 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#497 = ORIENTED_EDGE('',*,*,#498,.F.);\r
-#498 = EDGE_CURVE('',#90,#472,#499,.T.);\r
-#499 = SURFACE_CURVE('',#500,(#504,#510),.PCURVE_S2.);\r
-#500 = LINE('',#501,#502);\r
-#501 = CARTESIAN_POINT('',(59.138831836925,-31.77853846384,\r
-    -19.99999955296));\r
-#502 = VECTOR('',#503,1.);\r
-#503 = DIRECTION('',(0.,0.,1.));\r
-#504 = PCURVE('',#110,#505);\r
-#505 = DEFINITIONAL_REPRESENTATION('',(#506),#509);\r
-#506 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#507,#508),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(0.,39.99999910593),.PIECEWISE_BEZIER_KNOTS.);\r
-#507 = CARTESIAN_POINT('',(1.501387093594,0.));\r
-#508 = CARTESIAN_POINT('',(1.501387093594,39.99999910593));\r
-#509 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#510 = PCURVE('',#137,#511);\r
-#511 = DEFINITIONAL_REPRESENTATION('',(#512),#516);\r
-#512 = LINE('',#513,#514);\r
-#513 = CARTESIAN_POINT('',(0.,0.));\r
-#514 = VECTOR('',#515,1.);\r
-#515 = DIRECTION('',(0.,-1.));\r
-#516 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#517 = ORIENTED_EDGE('',*,*,#89,.F.);\r
-#518 = ADVANCED_FACE('',(#519),#137,.T.);\r
-#519 = FACE_BOUND('',#520,.T.);\r
-#520 = EDGE_LOOP('',(#521,#522,#545,#565));\r
-#521 = ORIENTED_EDGE('',*,*,#498,.T.);\r
-#522 = ORIENTED_EDGE('',*,*,#523,.T.);\r
-#523 = EDGE_CURVE('',#472,#524,#526,.T.);\r
-#524 = VERTEX_POINT('',#525);\r
-#525 = CARTESIAN_POINT('',(-72.42252677679,-22.63227291405,\r
-    19.999999552965));\r
-#526 = SURFACE_CURVE('',#527,(#531,#538),.PCURVE_S2.);\r
-#527 = LINE('',#528,#529);\r
-#528 = CARTESIAN_POINT('',(59.138831836925,-31.77853846384,\r
-    19.999999552965));\r
-#529 = VECTOR('',#530,1.);\r
-#530 = DIRECTION('',(-0.997592146088,6.935351515554E-02,0.));\r
-#531 = PCURVE('',#137,#532);\r
-#532 = DEFINITIONAL_REPRESENTATION('',(#533),#537);\r
-#533 = LINE('',#534,#535);\r
-#534 = CARTESIAN_POINT('',(0.,-39.99999910593));\r
-#535 = VECTOR('',#536,1.);\r
-#536 = DIRECTION('',(1.,0.));\r
-#537 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#538 = PCURVE('',#380,#539);\r
-#539 = DEFINITIONAL_REPRESENTATION('',(#540),#544);\r
-#540 = LINE('',#541,#542);\r
-#541 = CARTESIAN_POINT('',(59.138831836925,-31.77853846384));\r
-#542 = VECTOR('',#543,1.);\r
-#543 = DIRECTION('',(-0.997592146088,6.935351515554E-02));\r
-#544 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#545 = ORIENTED_EDGE('',*,*,#546,.F.);\r
-#546 = EDGE_CURVE('',#122,#524,#547,.T.);\r
-#547 = SURFACE_CURVE('',#548,(#552,#559),.PCURVE_S2.);\r
-#548 = LINE('',#549,#550);\r
-#549 = CARTESIAN_POINT('',(-72.42252677679,-22.63227291405,\r
-    -19.99999955296));\r
-#550 = VECTOR('',#551,1.);\r
-#551 = DIRECTION('',(0.,0.,1.));\r
-#552 = PCURVE('',#137,#553);\r
-#553 = DEFINITIONAL_REPRESENTATION('',(#554),#558);\r
-#554 = LINE('',#555,#556);\r
-#555 = CARTESIAN_POINT('',(131.87890374807,0.));\r
-#556 = VECTOR('',#557,1.);\r
-#557 = DIRECTION('',(0.,-1.));\r
-#558 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#559 = PCURVE('',#170,#560);\r
-#560 = DEFINITIONAL_REPRESENTATION('',(#561),#564);\r
-#561 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#562,#563),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(0.,39.99999910593),.PIECEWISE_BEZIER_KNOTS.);\r
-#562 = CARTESIAN_POINT('',(1.501387093594,0.));\r
-#563 = CARTESIAN_POINT('',(1.501387093594,39.99999910593));\r
-#564 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#565 = ORIENTED_EDGE('',*,*,#121,.F.);\r
-#566 = ADVANCED_FACE('',(#567),#170,.F.);\r
-#567 = FACE_BOUND('',#568,.T.);\r
-#568 = EDGE_LOOP('',(#569,#570,#597,#616));\r
-#569 = ORIENTED_EDGE('',*,*,#546,.T.);\r
-#570 = ORIENTED_EDGE('',*,*,#571,.T.);\r
-#571 = EDGE_CURVE('',#524,#572,#574,.T.);\r
-#572 = VERTEX_POINT('',#573);\r
-#573 = CARTESIAN_POINT('',(-88.51642906665,-27.22925320267,\r
-    19.999999552965));\r
-#574 = SURFACE_CURVE('',#575,(#580,#586),.PCURVE_S2.);\r
-#575 = CIRCLE('',#576,24.565238684828);\r
-#576 = AXIS2_PLACEMENT_3D('',#577,#578,#579);\r
-#577 = CARTESIAN_POINT('',(-74.12621243021,-47.1383620928,\r
-    19.999999552965));\r
-#578 = DIRECTION('',(0.,0.,1.));\r
-#579 = DIRECTION('',(1.,0.,0.));\r
-#580 = PCURVE('',#170,#581);\r
-#581 = DEFINITIONAL_REPRESENTATION('',(#582),#585);\r
-#582 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#583,#584),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(1.501387093594,2.196658099744),.PIECEWISE_BEZIER_KNOTS.);\r
-#583 = CARTESIAN_POINT('',(1.501387093594,39.99999910593));\r
-#584 = CARTESIAN_POINT('',(2.196658099744,39.99999910593));\r
-#585 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#586 = PCURVE('',#380,#587);\r
-#587 = DEFINITIONAL_REPRESENTATION('',(#588),#596);\r
-#588 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#589,#590,#591,#592,#593,#594\r
-,#595),.UNSPECIFIED.,.F.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2,2,2,2,1),(\r
-    -2.094395102393,0.,2.094395102393,4.188790204786,6.28318530718,\r
-8.377580409573),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() \r
-RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,1.,0.5,1.)) REPRESENTATION_ITEM(\r
-  '') );\r
-#589 = CARTESIAN_POINT('',(-49.56097374539,-47.1383620928));\r
-#590 = CARTESIAN_POINT('',(-49.56097374539,-4.590120590624));\r
-#591 = CARTESIAN_POINT('',(-86.40883177263,-25.86424134171));\r
-#592 = CARTESIAN_POINT('',(-123.2566897998,-47.1383620928));\r
-#593 = CARTESIAN_POINT('',(-86.40883177263,-68.41248284389));\r
-#594 = CARTESIAN_POINT('',(-49.56097374539,-89.68660359498));\r
-#595 = CARTESIAN_POINT('',(-49.56097374539,-47.1383620928));\r
-#596 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#597 = ORIENTED_EDGE('',*,*,#598,.F.);\r
-#598 = EDGE_CURVE('',#150,#572,#599,.T.);\r
-#599 = SURFACE_CURVE('',#600,(#604,#610),.PCURVE_S2.);\r
-#600 = LINE('',#601,#602);\r
-#601 = CARTESIAN_POINT('',(-88.51642906665,-27.22925320267,\r
-    -19.99999955296));\r
-#602 = VECTOR('',#603,1.);\r
-#603 = DIRECTION('',(0.,0.,1.));\r
-#604 = PCURVE('',#170,#605);\r
-#605 = DEFINITIONAL_REPRESENTATION('',(#606),#609);\r
-#606 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#607,#608),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(0.,39.99999910593),.PIECEWISE_BEZIER_KNOTS.);\r
-#607 = CARTESIAN_POINT('',(2.196658099744,0.));\r
-#608 = CARTESIAN_POINT('',(2.196658099744,39.99999910593));\r
-#609 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#610 = PCURVE('',#202,#611);\r
-#611 = DEFINITIONAL_REPRESENTATION('',(#612),#615);\r
-#612 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#613,#614),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(0.,39.99999910593),.PIECEWISE_BEZIER_KNOTS.);\r
-#613 = CARTESIAN_POINT('',(0.944934553846,0.));\r
-#614 = CARTESIAN_POINT('',(0.944934553846,-39.99999910593));\r
-#615 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#616 = ORIENTED_EDGE('',*,*,#149,.F.);\r
-#617 = ADVANCED_FACE('',(#618),#202,.T.);\r
-#618 = FACE_BOUND('',#619,.T.);\r
-#619 = EDGE_LOOP('',(#620,#621,#648,#667));\r
-#620 = ORIENTED_EDGE('',*,*,#598,.T.);\r
-#621 = ORIENTED_EDGE('',*,*,#622,.T.);\r
-#622 = EDGE_CURVE('',#572,#623,#625,.T.);\r
-#623 = VERTEX_POINT('',#624);\r
-#624 = CARTESIAN_POINT('',(-88.51642906665,21.039046347141,\r
-    19.999999552965));\r
-#625 = SURFACE_CURVE('',#626,(#631,#637),.PCURVE_S2.);\r
-#626 = CIRCLE('',#627,29.778387016109);\r
-#627 = AXIS2_PLACEMENT_3D('',#628,#629,#630);\r
-#628 = CARTESIAN_POINT('',(-105.9604867346,-3.095103427768,\r
-    19.999999552965));\r
-#629 = DIRECTION('',(0.,0.,-1.));\r
-#630 = DIRECTION('',(1.,0.,0.));\r
-#631 = PCURVE('',#202,#632);\r
-#632 = DEFINITIONAL_REPRESENTATION('',(#633),#636);\r
-#633 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#634,#635),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(0.944934553846,5.338250753333),.PIECEWISE_BEZIER_KNOTS.);\r
-#634 = CARTESIAN_POINT('',(0.944934553846,-39.99999910593));\r
-#635 = CARTESIAN_POINT('',(5.338250753333,-39.99999910593));\r
-#636 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#637 = PCURVE('',#380,#638);\r
-#638 = DEFINITIONAL_REPRESENTATION('',(#639),#647);\r
-#639 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#640,#641,#642,#643,#644,#645\r
-,#646),.UNSPECIFIED.,.T.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2,2,2,2,1),(\r
-    -2.094395102393,0.,2.094395102393,4.188790204786,6.28318530718,\r
-8.377580409573),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() \r
-RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,1.,0.5,1.)) REPRESENTATION_ITEM(\r
-  '') );\r
-#640 = CARTESIAN_POINT('',(-76.18209971851,-3.095103427768));\r
-#641 = CARTESIAN_POINT('',(-76.18209971851,-54.67278270711));\r
-#642 = CARTESIAN_POINT('',(-120.8496802426,-28.88394306744));\r
-#643 = CARTESIAN_POINT('',(-165.5172607668,-3.095103427768));\r
-#644 = CARTESIAN_POINT('',(-120.8496802426,22.693736211908));\r
-#645 = CARTESIAN_POINT('',(-76.18209971851,48.482575851583));\r
-#646 = CARTESIAN_POINT('',(-76.18209971851,-3.095103427768));\r
-#647 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#648 = ORIENTED_EDGE('',*,*,#649,.F.);\r
-#649 = EDGE_CURVE('',#182,#623,#650,.T.);\r
-#650 = SURFACE_CURVE('',#651,(#655,#661),.PCURVE_S2.);\r
-#651 = LINE('',#652,#653);\r
-#652 = CARTESIAN_POINT('',(-88.51642906665,21.039046347141,\r
-    -19.99999955296));\r
-#653 = VECTOR('',#654,1.);\r
-#654 = DIRECTION('',(0.,0.,1.));\r
-#655 = PCURVE('',#202,#656);\r
-#656 = DEFINITIONAL_REPRESENTATION('',(#657),#660);\r
-#657 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#658,#659),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(0.,39.99999910593),.PIECEWISE_BEZIER_KNOTS.);\r
-#658 = CARTESIAN_POINT('',(5.338250753333,0.));\r
-#659 = CARTESIAN_POINT('',(5.338250753333,-39.99999910593));\r
-#660 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#661 = PCURVE('',#234,#662);\r
-#662 = DEFINITIONAL_REPRESENTATION('',(#663),#666);\r
-#663 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#664,#665),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(0.,39.99999910593),.PIECEWISE_BEZIER_KNOTS.);\r
-#664 = CARTESIAN_POINT('',(4.086527207436,0.));\r
-#665 = CARTESIAN_POINT('',(4.086527207436,39.99999910593));\r
-#666 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#667 = ORIENTED_EDGE('',*,*,#181,.F.);\r
-#668 = ADVANCED_FACE('',(#669),#234,.F.);\r
-#669 = FACE_BOUND('',#670,.T.);\r
-#670 = EDGE_LOOP('',(#671,#672,#699,#719));\r
-#671 = ORIENTED_EDGE('',*,*,#649,.T.);\r
-#672 = ORIENTED_EDGE('',*,*,#673,.T.);\r
-#673 = EDGE_CURVE('',#623,#674,#676,.T.);\r
-#674 = VERTEX_POINT('',#675);\r
-#675 = CARTESIAN_POINT('',(-72.42252677679,17.591310665011,\r
-    19.999999552965));\r
-#676 = SURFACE_CURVE('',#677,(#682,#688),.PCURVE_S2.);\r
-#677 = CIRCLE('',#678,20.41914254867);\r
-#678 = AXIS2_PLACEMENT_3D('',#679,#680,#681);\r
-#679 = CARTESIAN_POINT('',(-76.55497863763,37.587915977932,\r
-    19.999999552965));\r
-#680 = DIRECTION('',(0.,0.,1.));\r
-#681 = DIRECTION('',(1.,0.,0.));\r
-#682 = PCURVE('',#234,#683);\r
-#683 = DEFINITIONAL_REPRESENTATION('',(#684),#687);\r
-#684 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#685,#686),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(4.086527207436,4.916177873213),.PIECEWISE_BEZIER_KNOTS.);\r
-#685 = CARTESIAN_POINT('',(4.086527207436,39.99999910593));\r
-#686 = CARTESIAN_POINT('',(4.916177873213,39.99999910593));\r
-#687 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#688 = PCURVE('',#380,#689);\r
-#689 = DEFINITIONAL_REPRESENTATION('',(#690),#698);\r
-#690 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#691,#692,#693,#694,#695,#696\r
-,#697),.UNSPECIFIED.,.F.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2,2,2,2,1),(\r
-    -2.094395102393,0.,2.094395102393,4.188790204786,6.28318530718,\r
-8.377580409573),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() \r
-RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,1.,0.5,1.)) REPRESENTATION_ITEM(\r
-  '') );\r
-#691 = CARTESIAN_POINT('',(-56.13583608896,37.587915977932));\r
-#692 = CARTESIAN_POINT('',(-56.13583608896,72.954908319219));\r
-#693 = CARTESIAN_POINT('',(-86.76454991196,55.271412148575));\r
-#694 = CARTESIAN_POINT('',(-117.3932637349,37.587915977932));\r
-#695 = CARTESIAN_POINT('',(-86.76454991196,19.904419807288));\r
-#696 = CARTESIAN_POINT('',(-56.13583608896,2.220923636644));\r
-#697 = CARTESIAN_POINT('',(-56.13583608896,37.587915977932));\r
-#698 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#699 = ORIENTED_EDGE('',*,*,#700,.F.);\r
-#700 = EDGE_CURVE('',#214,#674,#701,.T.);\r
-#701 = SURFACE_CURVE('',#702,(#706,#712),.PCURVE_S2.);\r
-#702 = LINE('',#703,#704);\r
-#703 = CARTESIAN_POINT('',(-72.42252677679,17.591310665011,\r
-    -19.99999955296));\r
-#704 = VECTOR('',#705,1.);\r
-#705 = DIRECTION('',(0.,0.,1.));\r
-#706 = PCURVE('',#234,#707);\r
-#707 = DEFINITIONAL_REPRESENTATION('',(#708),#711);\r
-#708 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#709,#710),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(0.,39.99999910593),.PIECEWISE_BEZIER_KNOTS.);\r
-#709 = CARTESIAN_POINT('',(4.916177873213,0.));\r
-#710 = CARTESIAN_POINT('',(4.916177873213,39.99999910593));\r
-#711 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#712 = PCURVE('',#259,#713);\r
-#713 = DEFINITIONAL_REPRESENTATION('',(#714),#718);\r
-#714 = LINE('',#715,#716);\r
-#715 = CARTESIAN_POINT('',(0.,0.));\r
-#716 = VECTOR('',#717,1.);\r
-#717 = DIRECTION('',(0.,-1.));\r
-#718 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#719 = ORIENTED_EDGE('',*,*,#213,.F.);\r
-#720 = ADVANCED_FACE('',(#721),#259,.T.);\r
-#721 = FACE_BOUND('',#722,.T.);\r
-#722 = EDGE_LOOP('',(#723,#724,#745,#746));\r
-#723 = ORIENTED_EDGE('',*,*,#700,.T.);\r
-#724 = ORIENTED_EDGE('',*,*,#725,.T.);\r
-#725 = EDGE_CURVE('',#674,#343,#726,.T.);\r
-#726 = SURFACE_CURVE('',#727,(#731,#738),.PCURVE_S2.);\r
-#727 = LINE('',#728,#729);\r
-#728 = CARTESIAN_POINT('',(-72.42252677679,17.591310665011,\r
-    19.999999552965));\r
-#729 = VECTOR('',#730,1.);\r
-#730 = DIRECTION('',(0.997121794488,7.581640296081E-02,0.));\r
-#731 = PCURVE('',#259,#732);\r
-#732 = DEFINITIONAL_REPRESENTATION('',(#733),#737);\r
-#733 = LINE('',#734,#735);\r
-#734 = CARTESIAN_POINT('',(0.,-39.99999910593));\r
-#735 = VECTOR('',#736,1.);\r
-#736 = DIRECTION('',(1.,0.));\r
-#737 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#738 = PCURVE('',#380,#739);\r
-#739 = DEFINITIONAL_REPRESENTATION('',(#740),#744);\r
-#740 = LINE('',#741,#742);\r
-#741 = CARTESIAN_POINT('',(-72.42252677679,17.591310665011));\r
-#742 = VECTOR('',#743,1.);\r
-#743 = DIRECTION('',(0.997121794488,7.581640296081E-02));\r
-#744 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#745 = ORIENTED_EDGE('',*,*,#342,.F.);\r
-#746 = ORIENTED_EDGE('',*,*,#245,.F.);\r
-#747 = ADVANCED_FACE('',(#748),#294,.F.);\r
-#748 = FACE_BOUND('',#749,.T.);\r
-#749 = EDGE_LOOP('',(#750,#771,#796,#797));\r
-#750 = ORIENTED_EDGE('',*,*,#751,.T.);\r
-#751 = EDGE_CURVE('',#274,#752,#754,.T.);\r
-#752 = VERTEX_POINT('',#753);\r
-#753 = CARTESIAN_POINT('',(-91.4143372247,-2.809300087392,\r
-    19.999999552965));\r
-#754 = SEAM_CURVE('',#755,(#759,#765),.PCURVE_S2.);\r
-#755 = LINE('',#756,#757);\r
-#756 = CARTESIAN_POINT('',(-91.4143372247,-2.809300087392,\r
-    -40.00019910593));\r
-#757 = VECTOR('',#758,1.);\r
-#758 = DIRECTION('',(0.,0.,1.));\r
-#759 = PCURVE('',#294,#760);\r
-#760 = DEFINITIONAL_REPRESENTATION('',(#761),#764);\r
-#761 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#762,#763),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(20.000199552965,60.000198658895),.PIECEWISE_BEZIER_KNOTS.);\r
-#762 = CARTESIAN_POINT('',(0.,20.000199552965));\r
-#763 = CARTESIAN_POINT('',(0.,60.000198658895));\r
-#764 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#765 = PCURVE('',#294,#766);\r
-#766 = DEFINITIONAL_REPRESENTATION('',(#767),#770);\r
-#767 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#768,#769),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(20.000199552965,60.000198658895),.PIECEWISE_BEZIER_KNOTS.);\r
-#768 = CARTESIAN_POINT('',(6.28318530718,20.000199552965));\r
-#769 = CARTESIAN_POINT('',(6.28318530718,60.000198658895));\r
-#770 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#771 = ORIENTED_EDGE('',*,*,#772,.F.);\r
-#772 = EDGE_CURVE('',#752,#752,#773,.T.);\r
-#773 = SURFACE_CURVE('',#774,(#779,#785),.PCURVE_S2.);\r
-#774 = CIRCLE('',#775,15.057678156153);\r
-#775 = AXIS2_PLACEMENT_3D('',#776,#777,#778);\r
-#776 = CARTESIAN_POINT('',(-106.4720153808,-2.809300087392,\r
-    19.999999552965));\r
-#777 = DIRECTION('',(0.,0.,-1.));\r
-#778 = DIRECTION('',(0.,1.,0.));\r
-#779 = PCURVE('',#294,#780);\r
-#780 = DEFINITIONAL_REPRESENTATION('',(#781),#784);\r
-#781 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#782,#783),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(1.570796326795,7.853981633974),.PIECEWISE_BEZIER_KNOTS.);\r
-#782 = CARTESIAN_POINT('',(6.28318530718,60.000198658895));\r
-#783 = CARTESIAN_POINT('',(0.,60.000198658895));\r
-#784 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#785 = PCURVE('',#380,#786);\r
-#786 = DEFINITIONAL_REPRESENTATION('',(#787),#795);\r
-#787 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#788,#789,#790,#791,#792,#793\r
-,#794),.UNSPECIFIED.,.F.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2,2,2,2,1),(\r
-    -2.094395102393,0.,2.094395102393,4.188790204786,6.28318530718,\r
-8.377580409573),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() \r
-RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,1.,0.5,1.)) REPRESENTATION_ITEM(\r
-  '') );\r
-#788 = CARTESIAN_POINT('',(-106.4720153808,12.24837806876));\r
-#789 = CARTESIAN_POINT('',(-80.39135177038,12.24837806876));\r
-#790 = CARTESIAN_POINT('',(-93.43168357562,-10.33813916546));\r
-#791 = CARTESIAN_POINT('',(-106.4720153808,-32.92465639969));\r
-#792 = CARTESIAN_POINT('',(-119.512347186,-10.33813916546));\r
-#793 = CARTESIAN_POINT('',(-132.5526789913,12.24837806876));\r
-#794 = CARTESIAN_POINT('',(-106.4720153808,12.24837806876));\r
-#795 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#796 = ORIENTED_EDGE('',*,*,#751,.F.);\r
-#797 = ORIENTED_EDGE('',*,*,#273,.T.);\r
-#798 = ADVANCED_FACE('',(#799),#328,.F.);\r
-#799 = FACE_BOUND('',#800,.T.);\r
-#800 = EDGE_LOOP('',(#801,#822,#847,#848));\r
-#801 = ORIENTED_EDGE('',*,*,#802,.T.);\r
-#802 = EDGE_CURVE('',#308,#803,#805,.T.);\r
-#803 = VERTEX_POINT('',#804);\r
-#804 = CARTESIAN_POINT('',(141.97662545896,-4.606760106981,\r
-    19.999999552965));\r
-#805 = SEAM_CURVE('',#806,(#810,#816),.PCURVE_S2.);\r
-#806 = LINE('',#807,#808);\r
-#807 = CARTESIAN_POINT('',(141.97662545896,-4.606760106981,\r
-    -40.00019910593));\r
-#808 = VECTOR('',#809,1.);\r
-#809 = DIRECTION('',(0.,0.,1.));\r
-#810 = PCURVE('',#328,#811);\r
-#811 = DEFINITIONAL_REPRESENTATION('',(#812),#815);\r
-#812 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#813,#814),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(20.000199552965,60.000198658895),.PIECEWISE_BEZIER_KNOTS.);\r
-#813 = CARTESIAN_POINT('',(0.,20.000199552965));\r
-#814 = CARTESIAN_POINT('',(0.,60.000198658895));\r
-#815 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#816 = PCURVE('',#328,#817);\r
-#817 = DEFINITIONAL_REPRESENTATION('',(#818),#821);\r
-#818 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#819,#820),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(20.000199552965,60.000198658895),.PIECEWISE_BEZIER_KNOTS.);\r
-#819 = CARTESIAN_POINT('',(6.28318530718,20.000199552965));\r
-#820 = CARTESIAN_POINT('',(6.28318530718,60.000198658895));\r
-#821 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#822 = ORIENTED_EDGE('',*,*,#823,.F.);\r
-#823 = EDGE_CURVE('',#803,#803,#824,.T.);\r
-#824 = SURFACE_CURVE('',#825,(#830,#836),.PCURVE_S2.);\r
-#825 = CIRCLE('',#826,23.40416683412);\r
-#826 = AXIS2_PLACEMENT_3D('',#827,#828,#829);\r
-#827 = CARTESIAN_POINT('',(118.57245862484,-4.606760106981,\r
-    19.999999552965));\r
-#828 = DIRECTION('',(0.,0.,-1.));\r
-#829 = DIRECTION('',(0.,1.,0.));\r
-#830 = PCURVE('',#328,#831);\r
-#831 = DEFINITIONAL_REPRESENTATION('',(#832),#835);\r
-#832 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#833,#834),.UNSPECIFIED.,.F.,.F.,\r
-  (2,2),(1.570796326795,7.853981633974),.PIECEWISE_BEZIER_KNOTS.);\r
-#833 = CARTESIAN_POINT('',(6.28318530718,60.000198658895));\r
-#834 = CARTESIAN_POINT('',(0.,60.000198658895));\r
-#835 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#836 = PCURVE('',#380,#837);\r
-#837 = DEFINITIONAL_REPRESENTATION('',(#838),#846);\r
-#838 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#839,#840,#841,#842,#843,#844\r
-,#845),.UNSPECIFIED.,.F.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2,2,2,2,1),(\r
-    -2.094395102393,0.,2.094395102393,4.188790204786,6.28318530718,\r
-8.377580409573),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() \r
-RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,1.,0.5,1.)) REPRESENTATION_ITEM(\r
-  '') );\r
-#839 = CARTESIAN_POINT('',(118.57245862484,18.797406727139));\r
-#840 = CARTESIAN_POINT('',(159.10966469035,18.797406727139));\r
-#841 = CARTESIAN_POINT('',(138.84106165759,-16.30884352404));\r
-#842 = CARTESIAN_POINT('',(118.57245862484,-51.41509377522));\r
-#843 = CARTESIAN_POINT('',(98.303855592083,-16.30884352404));\r
-#844 = CARTESIAN_POINT('',(78.035252559326,18.797406727139));\r
-#845 = CARTESIAN_POINT('',(118.57245862484,18.797406727139));\r
-#846 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) \r
-PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''\r
-  ) );\r
-#847 = ORIENTED_EDGE('',*,*,#802,.F.);\r
-#848 = ORIENTED_EDGE('',*,*,#307,.T.);\r
-#849 = ADVANCED_FACE('',(#850,#860,#863),#380,.T.);\r
-#850 = FACE_BOUND('',#851,.F.);\r
-#851 = EDGE_LOOP('',(#852,#853,#854,#855,#856,#857,#858,#859));\r
-#852 = ORIENTED_EDGE('',*,*,#364,.T.);\r
-#853 = ORIENTED_EDGE('',*,*,#420,.T.);\r
-#854 = ORIENTED_EDGE('',*,*,#471,.T.);\r
-#855 = ORIENTED_EDGE('',*,*,#523,.T.);\r
-#856 = ORIENTED_EDGE('',*,*,#571,.T.);\r
-#857 = ORIENTED_EDGE('',*,*,#622,.T.);\r
-#858 = ORIENTED_EDGE('',*,*,#673,.T.);\r
-#859 = ORIENTED_EDGE('',*,*,#725,.T.);\r
-#860 = FACE_BOUND('',#861,.T.);\r
-#861 = EDGE_LOOP('',(#862));\r
-#862 = ORIENTED_EDGE('',*,*,#772,.T.);\r
-#863 = FACE_BOUND('',#864,.T.);\r
-#864 = EDGE_LOOP('',(#865));\r
-#865 = ORIENTED_EDGE('',*,*,#823,.T.);\r
-#866 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) \r
-GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#869)) GLOBAL_UNIT_ASSIGNED_CONTEXT\r
-((#867,#868)) REPRESENTATION_CONTEXT('Context #1',\r
-  '3D Context with UNIT and UNCERTAINTY') );\r
-#867 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );\r
-#868 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );\r
-#869 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-04),#867,\r
-  'distance_accuracy_value','Confusion accuracy');\r
-ENDSEC;\r
-END-ISO-10303-21;\r
-\r
diff --git a/src/TEST_PY/test_unit/bielle_v1.py b/src/TEST_PY/test_unit/bielle_v1.py
deleted file mode 100644 (file)
index 870a6e4..0000000
+++ /dev/null
@@ -1,275 +0,0 @@
-# -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-
-# Francis KLOSS : 2011-2013 : CEA-Saclay, DEN, DM2S, SFME, LGLS, F-91191 Gif-sur-Yvette, France
-# =============================================================================================
-
-import math
-
-import geompy
-import hexablock
-
-# Construire le modèle de bloc
-# ============================
-
-doc = hexablock.addDocument("bielle")
-
-# Construire les 2 grilles cylindriques
-# -------------------------------------
-
-centre_pb = doc.addVertex(0, 0, 0)
-centre_gb = doc.addVertex(7, 0, 0)
-
-angle_px   = math.pi / 3
-vecteur_px = doc.addVector(math.cos(angle_px), math.sin(angle_px), 0)
-vecteur_gx = doc.addVector(1, 0, 0)
-
-vecteur_z = doc.addVector(0, 0, 1)
-
-grille_p = doc.makeCylindrical(centre_pb, vecteur_px, vecteur_z,  1, 360, 1,  1, 3, 1,  False)
-grille_g = doc.makeCylindrical(centre_gb, vecteur_gx, vecteur_z,  1, 360, 1,  1, 3, 1,  False)
-
-# Relier les 2 grilles
-# --------------------
-
-quad_p = grille_p.getQuadJK(1, 2, 0)
-quad_g = grille_g.getQuadJK(1, 1, 0)
-
-point_p1 = grille_p.getVertexIJK(1, 0, 0)
-point_p2 = grille_p.getVertexIJK(1, 2, 0)
-
-point_g1 = grille_g.getVertexIJK(1, 1, 0)
-point_g2 = grille_g.getVertexIJK(1, 2, 0)
-
-prisme = doc.joinQuad(quad_p, quad_g,  point_p1, point_g1,  point_p2, point_g2,  3)
-
-# Charger la géométrie
-# ====================
-
-bielle = geompy.ImportSTEP("bielle.stp")
-
-# Sélectionner des sous-parties de la géométrie
-# ---------------------------------------------
-
-sommets = geompy.SubShapeAllSortedCentres(bielle, geompy.ShapeType["VERTEX"])
-
-sommets_petit = [  6,  8,  7,  9 ]
-sommets_grand = [ 10, 12, 11, 13 ]
-
-aretes = geompy.SubShapeAllSortedCentres(bielle, geompy.ShapeType["EDGE"])
-
-aretes_petit = [  7,  9,  8, 10 ]
-aretes_grand = [ 19, 21, 20, 22 ]
-
-ga_pbcd = aretes[ 0]
-ga_pbe  = aretes[ 2]
-
-ga_phcd = aretes[ 1]
-ga_phe  = aretes[ 3]
-
-ga_gbcd = aretes[27]
-ga_gbe  = aretes[25]
-
-ga_ghcd = aretes[28]
-ga_ghe  = aretes[26]
-
-# Associer le modèle de bloc avec la géométrie
-# ============================================
-
-doc.setShape(bielle)
-
-# Netoyer les associations implicites du prisme
-# ---------------------------------------------
-
-for i in xrange( prisme.countEdge() ):
-  em = prisme.getEdge(i)
-  if em != None:
-    em.clearAssociation()
-
-# Associer les cercles extérieurs
-# -------------------------------
-
-def cercle(grille, k, ge, p):
-    ms  = grille.getVertexIJK(0, 0, k)
-
-    ma1 = grille.getEdgeJ(0, 2, k)
-    ma2 = grille.getEdgeJ(0, 1, k)
-    ma3 = grille.getEdgeJ(0, 0, k)
-
-    doc.associateClosedLine(ms, ma1, [ ma2, ma3 ], ge, p, False, [])
-
-cercle(grille_p, 0, ga_pbe, 5.0/6)
-cercle(grille_p, 1, ga_phe, 5.0/6)
-
-cercle(grille_g, 0, ga_gbe, 0)
-cercle(grille_g, 1, ga_ghe, 0)
-
-# Associer les arcs extérieurs (excentrés)
-# ----------------------------------------
-
-def arc(grille, i1, i2, k, ge):
-    ma1 = grille.getEdgeJ(1, i1, k)
-    ma2 = grille.getEdgeJ(1, i2, k)
-
-    doc.associateOpenedLine(ma1, [ ma2 ], ge, 0, [], 1)
-
-arc(grille_p, 1, 0, 0, ga_pbcd)
-arc(grille_p, 1, 0, 1, ga_phcd)
-
-arc(grille_g, 0, 2, 0, ga_gbcd)
-arc(grille_g, 0, 2, 1, ga_ghcd)
-
-# Associer les sommets des arcs de cercle de raccord
-# --------------------------------------------------
-
-hm = prisme.getHexa(1)
-for i in xrange(0, 4):
-  vm = hm.getVertex(i)
-  ga = sommets[ sommets_petit[i] ]
-  vm.setAssociation(ga)
-
-hm = prisme.getHexa(2)
-for i in xrange(0, 4):
-  vm = hm.getVertex(i)
-  ga = sommets[ sommets_grand[i] ]
-  vm.setAssociation(ga)
-
-# Associer les arcs de cercle de raccord
-# --------------------------------------
-
-hm = prisme.getHexa(0)
-for i in xrange(0, 4):
-  em = hm.getEdge(i+8)
-  ga = aretes[ aretes_petit[i] ]
-  em.addAssociation(ga, 0, 1)
-
-hm = prisme.getHexa(2)
-for i in xrange(0, 4):
-  em = hm.getEdge(i+8)
-  ga = aretes[ aretes_grand[i] ]
-  em.addAssociation(ga, 0, 1)
-
-# Arrondir des associations implicites cylindriques
-# -------------------------------------------------
-
-for h, i, ech in [ [0, 0, 0.95], [0, 1, 0.95],  [2, 2, 0.85], [2, 3, 0.85] ]:
-  hm = prisme.getHexa(h)
-  em = hm.getEdge(i)
-
-  va = em.getVertex(0).getAssociation()
-  vb = em.getVertex(1).getAssociation()
-  vax, vay, vaz = geompy.PointCoordinates(va)
-  vbx, vby, vbz = geompy.PointCoordinates(vb)
-
-  va  = em.getVertex(0)
-  vb  = em.getVertex(1)
-
-  print " vax, vay, vaz = ", vax, vay, vaz
-  vax = va.getAssoX ();
-  vay = va.getAssoY ();
-  vaz = va.getAssoZ ();
-  print " vax, vay, vaz = ", vax, vay, vaz
-
-  print " vbx, vby, vbz = ", vbx, vby, vbz
-  vbx = vb.getAssoX ();
-  vby = vb.getAssoY ();
-  vbz = vb.getAssoZ ();
-  print " vbx, vby, vbz = ", vbx, vby, vbz
-
-  vmx = ( vax + vbx ) / 2.0 * ech
-  vmy = ( vay + vby ) / 2.0
-  vmz = ( vaz + vbz ) / 2.0
-  vm = geompy.MakeVertex(vmx, vmy, vmz)
-  eg = geompy.MakeArc(va, vm, vb)
-  em.clearAssociation()
-  em.addAssociation(eg, 0, 1)
-
-# Mailler le modèle de bloc
-# =========================
-
-# Définir 5 groupes de faces
-# --------------------------
-
-groupe_petit   = doc.addQuadGroup("Petit")
-groupe_grand   = doc.addQuadGroup("Grand")
-groupe_bas     = doc.addQuadGroup("Bas")
-groupe_haut    = doc.addQuadGroup("Haut")
-groupe_contour = doc.addQuadGroup("Contour")
-
-# Constituer les groupes petit et grand
-# -------------------------------------
-
-for i in xrange(3):
-  groupe_petit.addElement( grille_p.getQuadJK(0, i, 0) )
-  groupe_grand.addElement( grille_g.getQuadJK(0, i, 0) )
-
-# Constituer les groupes bas et haut
-# ----------------------------------
-
-for i in xrange(3):
-  groupe_bas.addElement(  grille_p.getQuadIJ(0, i, 0) )
-  groupe_bas.addElement(  grille_g.getQuadIJ(0, i, 0) )
-
-  groupe_haut.addElement( grille_p.getQuadIJ(0, i, 1) )
-  groupe_haut.addElement( grille_g.getQuadIJ(0, i, 1) )
-
-for i in xrange(3):
-  h = prisme.getHexa(i)
-
-  groupe_bas.addElement(  h.getQuad(2) )
-  groupe_haut.addElement( h.getQuad(3) )
-
-# Constituer le groupe contour
-# ----------------------------
-
-for i in xrange(2):
-  groupe_contour.addElement( grille_p.getQuadJK(1, i, 0) )
-
-for i in [0, 2]:
-  groupe_contour.addElement( grille_g.getQuadJK(1, i, 0) )
-
-for i in xrange(3):
-  h = prisme.getHexa(i)
-
-  groupe_contour.addElement( h.getQuad(4) )
-  groupe_contour.addElement( h.getQuad(5) )
-
-# Définir 3 groupes de volumes
-# ----------------------------
-
-groupe_petit  = doc.addHexaGroup("Petit")
-groupe_grand  = doc.addHexaGroup("Grand")
-groupe_prisme = doc.addHexaGroup("Prisme")
-
-for i in xrange(3):
-  groupe_petit.addElement( grille_p.getHexa(i) )
-  groupe_grand.addElement( grille_g.getHexa(i) )
-
-for i in xrange(3):
-  groupe_prisme.addElement( prisme.getHexa(i) )
-
-# Mailler le modèle de bloc avec association
-# ------------------------------------------
-
-hexablock.addLaws(doc, 0.003, True)
-
-blocs = hexablock.mesh(doc)
-
-muv, mue, muq, muh = hexablock.dump(doc, blocs)
diff --git a/src/TEST_PY/test_unit/bielle_v5.py b/src/TEST_PY/test_unit/bielle_v5.py
deleted file mode 100644 (file)
index 4c8192b..0000000
+++ /dev/null
@@ -1,315 +0,0 @@
-# -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-
-# Francis KLOSS : 2011-2013 : CEA-Saclay, DEN, DM2S, SFME, LGLS, F-91191 Gif-sur-Yvette, France
-# =============================================================================================
-
-import math
-
-import geompy
-import hexablock
-
-# Construire le modele de bloc
-# ============================
-
-doc = hexablock.addDocument("bielle_v5")
-
-# Construire les 2 grilles cylindriques
-# -------------------------------------
-
-centre_pb = doc.addVertex(-0.107, 0, -0.02)
-centre_gb = doc.addVertex(0.119, 0, -0.02)
-
-angle_px   = math.pi / 3
-vecteur_px = doc.addVector(math.cos(angle_px), math.sin(angle_px), 0)
-vecteur_gx = doc.addVector(1, 0, 0)
-
-vecteur_z = doc.addVector(0, 0, 1)
-
-grille_p = doc.makeCylindrical(centre_pb, vecteur_px, vecteur_z,  0.012, 360, 0.04,  1, 3, 1,  False)
-grille_g = doc.makeCylindrical(centre_gb, vecteur_gx, vecteur_z,  0.025, 360, 0.04,  1, 3, 1,  False)
-
-# Relier les 2 grilles
-# --------------------
-
-quad_p = grille_p.getQuadJK(1, 2, 0)
-quad_g = grille_g.getQuadJK(1, 1, 0)
-
-point_p1 = grille_p.getVertexIJK(1, 0, 0)
-point_p2 = grille_p.getVertexIJK(1, 2, 0)
-
-point_g1 = grille_g.getVertexIJK(1, 1, 0)
-point_g2 = grille_g.getVertexIJK(1, 2, 0)
-
-prisme = doc.joinQuad(quad_p, quad_g,  point_p1, point_g1,  point_p2, point_g2,  3)
-
-# Charger la geometrie
-# ====================
-
-bielle = geompy.ImportSTEP("bielle.stp")
-
-# Selectionner des sous-parties de la geometrie
-# ---------------------------------------------
-
-sommets  = geompy.SubShapeAllSortedCentres    (bielle, geompy.ShapeType["VERTEX"])
-nodes_id = geompy.SubShapeAllSortedCentresIDs (bielle, geompy.ShapeType["VERTEX"])
-     ##   0   1   2   3   4   5   6   7   8   9
-     ##  23, 70, 15, 52, 17, 57, 13, 47, 19, 62,
-     ##  11, 42,  6, 30,  9, 37,  7, 32, 26, 75]
-
-sommets_petit     = [  6,  8,  7,  9 ]
-sommets_grand     = [ 10, 12, 11, 13 ]
-node_little_subid = [ 13, 19, 47, 62 ]
-node_big_subid    = [ 11,  6, 42, 30 ]
-
-aretes  = geompy.SubShapeAllSortedCentres    (bielle, geompy.ShapeType["EDGE"])
-edge_id = geompy.SubShapeAllSortedCentresIDs (bielle, geompy.ShapeType["EDGE"])
-     ##   0   1   2   3   4   5   6   7   8   9
-     ##  16, 56, 22, 71, 69, 53, 58, 14, 51, 18,
-     ##  61, 48, 63, 12, 46, 20, 66, 43, 29, 10,
-     ##  41,  5, 31, 38, 33, 25, 76,  8, 36, 74
-
-
-aretes_petit     = [  7,  9,  8, 10 ]
-aretes_grand     = [ 19, 21, 20, 22 ]
-arc_little_subid = [ 14, 18, 51, 61 ]
-arc_big_subid    = [ 10,  5, 41, 31 ]
-
-subid_pbcd = 16
-subid_pbe  = 22
-
-subid_phcd = 56
-subid_phe  = 71
-
-subid_gbcd = 8
-subid_gbe  = 25
-
-subid_ghcd = 36
-subid_ghe  = 76
-
-ga_pbcd = aretes[ 0]
-ga_pbe  = aretes[ 2]
-
-ga_phcd = aretes[ 1]
-ga_phe  = aretes[ 3]
-
-ga_gbcd = aretes[27]
-ga_gbe  = aretes[25]
-
-ga_ghcd = aretes[28]
-ga_ghe  = aretes[26]
-
-# Associer le modele de bloc avec la geometrie
-# ============================================
-
-geometry = doc.addShape(bielle, "bielle")
-doc.setLevel (748)
-
-# Nettoyer les associations implicites du document
-# ------------------------------------------------
-
-doc.clearAssociation()
-
-# Associer les cercles exterieurs
-# -------------------------------
-
-def cercle(grille, k, subid, p):
-    ms  = grille.getVertexIJK(0, 0, k)
-
-    ma1 = grille.getEdgeJ (0, 2, k)
-    ma2 = grille.getEdgeJ (0, 1, k)
-    ma3 = grille.getEdgeJ (0, 0, k)
-
-    doc.associateClosedLine (ms, [ma1, ma2, ma3 ], [geometry], [subid], p, False)
-
-cercle (grille_p, 0, subid_pbe, 5.0/6)
-cercle (grille_p, 1, subid_phe, 5.0/6)
-
-cercle (grille_g, 0, subid_gbe, 0)
-cercle (grille_g, 1, subid_ghe, 0)
-
-# Associer les arcs exterieurs (excentres)
-# ----------------------------------------
-
-def arc(grille, i1, i2, k, subid):
-    ma1 = grille.getEdgeJ(1, i1, k)
-    ma2 = grille.getEdgeJ(1, i2, k)
-
-    doc.associateOpenedLine ([ma1, ma2 ], [geometry], [subid], 0, 1)
-
-arc(grille_p, 1, 0, 0, subid_pbcd)
-arc(grille_p, 1, 0, 1, subid_phcd)
-
-arc(grille_g, 0, 2, 0, subid_gbcd)
-arc(grille_g, 0, 2, 1, subid_ghcd)
-
-# Associer les sommets des arcs de cercle de raccord
-# --------------------------------------------------
-
-hm = prisme.getHexa(1)
-for i in xrange(0, 4):
-  vm = hm.getVertex(i)
-  subid = node_little_subid [i]
-  vm.setAssociation (geometry, subid)
-
-hm = prisme.getHexa(2)
-for i in xrange(0, 4):
-  vm = hm.getVertex(i)
-  subid = node_big_subid [i]
-  vm.setAssociation (geometry, subid)
-
-# Associer les arcs de cercle de raccord
-# --------------------------------------
-
-hm = prisme.getHexa(0)
-for i in xrange(0, 4):
-  em = hm.getEdge(i+8)
-  subid = arc_little_subid [i]
-  em.addAssociation (geometry, subid, 0, 1)
-
-hm = prisme.getHexa(2)
-for i in xrange(0, 4):
-  em = hm.getEdge(i+8)
-  subid = arc_big_subid [i]
-  em.addAssociation (geometry, subid, 0, 1)
-
-# Arrondir des associations implicites cylindriques
-# -------------------------------------------------
-
-larc = []
-for h, i, ech in [ [0, 0, 0.95], [0, 1, 0.95],  [2, 2, 0.85], [2, 3, 0.85] ]:
-  hm = prisme.getHexa(h)
-  em = hm.getEdge(i)
-
-  v1 = em.getVertex(0)
-  v2 = em.getVertex(1)
-
-  vax = v1.getAssoX ();
-  vay = v1.getAssoY ();
-  vaz = v1.getAssoZ ();
-
-  vbx = v2.getAssoX ();
-  vby = v2.getAssoY ();
-  vbz = v2.getAssoZ ();
-
-  vmx = ( vax + vbx ) / 2.0 * ech
-  vmy = ( vay + vby ) / 2.0
-  vmz = ( vaz + vbz ) / 2.0
-
-  va = geompy.MakeVertex(vax, vay, vaz)
-  vb = geompy.MakeVertex(vbx, vby, vbz)
-  vm = geompy.MakeVertex(vmx, vmy, vmz)
-  eg = geompy.MakeArc(va, vm, vb)
-  larc.append(eg)
-
-arc = geompy.MakeCompound(larc)
-shape = doc.addShape (arc, "arc")
-
-# Mailler le modele de bloc
-for h, i in [ [0, 0], [0, 1],  [2, 2], [2, 3] ]:
-  hm = prisme.getHexa(h)
-  em = hm.getEdge(i)
-
-  em.clearAssociation()
-  shape_subid = 2+3*i
-  em.addAssociation (shape, shape_subid, 0.0, 1.0)
-
-# Mailler le modele de bloc
-# =========================
-
-# Definir 5 groupes de faces
-# --------------------------
-
-groupe_petit   = doc.addQuadGroup("Petit")
-groupe_grand   = doc.addQuadGroup("Grand")
-groupe_bas     = doc.addQuadGroup("Bas")
-groupe_haut    = doc.addQuadGroup("Haut")
-groupe_contour = doc.addQuadGroup("Contour")
-
-# Constituer les groupes petit et grand
-# -------------------------------------
-
-for i in xrange(3):
-  groupe_petit.addElement( grille_p.getQuadJK(0, i, 0) )
-  groupe_grand.addElement( grille_g.getQuadJK(0, i, 0) )
-
-# Constituer les groupes bas et haut
-# ----------------------------------
-
-for i in xrange(3):
-  groupe_bas.addElement(  grille_p.getQuadIJ(0, i, 0) )
-  groupe_bas.addElement(  grille_g.getQuadIJ(0, i, 0) )
-
-  groupe_haut.addElement( grille_p.getQuadIJ(0, i, 1) )
-  groupe_haut.addElement( grille_g.getQuadIJ(0, i, 1) )
-
-for i in xrange(3):
-  h = prisme.getHexa(i)
-
-  groupe_bas.addElement(  h.getQuad(2) )
-  groupe_haut.addElement( h.getQuad(3) )
-
-# Constituer le groupe contour
-# ----------------------------
-
-for i in xrange(2):
-  groupe_contour.addElement( grille_p.getQuadJK(1, i, 0) )
-
-for i in [0, 2]:
-  groupe_contour.addElement( grille_g.getQuadJK(1, i, 0) )
-
-for i in xrange(3):
-  h = prisme.getHexa(i)
-
-  groupe_contour.addElement( h.getQuad(4) )
-  groupe_contour.addElement( h.getQuad(5) )
-
-# Definir 3 groupes de volumes
-# ----------------------------
-
-groupe_petit  = doc.addHexaGroup("Petit")
-groupe_grand  = doc.addHexaGroup("Grand")
-groupe_prisme = doc.addHexaGroup("Prisme")
-
-for i in xrange(3):
-  groupe_petit.addElement( grille_p.getHexa(i) )
-  groupe_grand.addElement( grille_g.getHexa(i) )
-
-for i in xrange(3):
-  groupe_prisme.addElement( prisme.getHexa(i) )
-
-# Mailler le modele de bloc avec association
-# ------------------------------------------
-
-##########  hexablock.addLaws(doc, 0.003, True) Ne marche plus !!!!
-
-law = doc.addLaw("Uniform", 4)
-
-for j in range(doc.countPropagation()):
-    propa = doc.getPropagation(j)
-    propa.setLaw(law)
-
-doc.save("bielle_v5")
-doc.setName("bielle_v5")
-hexablock.addToStudy(doc)
-
-blocs = hexablock.mesh(doc)
-
-muv, mue, muq, muh = hexablock.dump(doc, blocs)
diff --git a/src/TEST_PY/test_unit/tuyau.brep b/src/TEST_PY/test_unit/tuyau.brep
deleted file mode 100755 (executable)
index aa50342..0000000
+++ /dev/null
@@ -1,425 +0,0 @@
-
-CASCADE Topology V1, (c) Matra-Datavision
-Locations 0
-Curve2ds 28
-1 0 0 0 1 
-1 0 0 0 1 
-1 0 0 1 0 
-3 5.0000000000000009 0 -1 -0 -0 1 5 2
-1 3.1415926535897931 0 0 1 
-1 3.1415926535897931 0 0 1 
-1 0 1 1 0 
-2 0 -4.5 -6.123233995736766e-17 1 1 6.123233995736766e-17 4.5
-3 5.0000000000000009 0 -1 -0 -0 1 5 2
-2 0 -4.5 -6.123233995736766e-17 1 1 6.123233995736766e-17 4.5
-1 0 0 1 0 
-1 0 0 1 0 
-1 0 0 1 0 
-3 5.0000000000000009 0 -1 -0 -0 1 4 1.6000000000000001
-1 10.000000000000002 2.4492935982947064e-16 -1 -4.8985871965894112e-17 
-1 10.000000000000002 2.4492935982947064e-16 -1 -4.8985871965894112e-17 
-1 0 0 0 1 
-1 0 0 0 1 
-1 3.1415926535897931 0 0 1 
-1 3.1415926535897931 0 0 1 
-1 0 1 1 0 
-2 0 -4.5 -6.123233995736766e-17 1 1 6.123233995736766e-17 3.6000000000000001
-3 5.0000000000000009 0 -1 -0 -0 1 4 1.6000000000000001
-2 0 -4.5 -6.123233995736766e-17 1 1 6.123233995736766e-17 3.6000000000000001
-1 0 -0 6.1232339957367759e-17 -1 
-1 0 -0 6.1232339957367759e-17 -1 
-1 1.1021821192326179e-15 -9 -1.8369701987210317e-16 1 
-1 1.1021821192326179e-15 -9 -1.8369701987210317e-16 1 
-Curves 16
-7 1 0  7 8 2  3.5355339059327386 -3.5355339059327386 4.4408920985006262e-16  1 9.6048855423786907 5.6779402750195374 -5.742238377723344e-16  0.99999999999999989 18.214762018199355 14.344823330601708 -3.1843740466902976e-15  1.0000000000000058 31.904943295729403 14.237869646355081 1.2028108957336017e-14  0.99999999999998868 37.172160522651843 17.64988141136174 -8.7773709183773399e-15  1.0000000000000071 52.812746249130484 14.81612372870539 2.3298725788871153e-15  0.99999999999999833 63.447227270624914 15.5 0  1 75 15.5 0  1
- 0 8 1 8
-7 0 0  10 11 2  3.5355339059327386 -3.5355339059327386 4.4408920985006262e-16  3.5355339059328195 -3.5355339059328195 -0.62831853071801369  3.1478202812511471 -3.1478202812511471 -1.2566370068591419  2.3723834259365431 -2.3723834259365431 -1.7988274783398068  1.2775986014269276 -1.2775986014269276 -2.1687580291315651  1.1719514247943195e-12 -1.1719514247943195e-12 -2.3005529012372383  -1.2775986014289811 1.2775986014289811 -2.1687580291316819  -2.3723834259351833 2.3723834259351833 -1.7988274783396521  -3.1478202812517777 3.1478202812517777 -1.256637006859245  -3.5355339059326556 3.5355339059326556 -0.62831853071798205  -3.5355339059327386 3.5355339059327386 2.2204460492503131e-16 
- 0 11 3.1415926535897931 11
-7 1 0  7 8 2  -3.5355339059327386 3.5355339059327386 2.2204460492503131e-16  1 3.5505706064268643 12.92839695201633 -1.5975347728255742e-15  0.99999999999999989 14.233536249242547 23.186298181990903 -5.559004606855246e-15  1.0000000000000058 28.117657554132329 15.130373948082415 1.4762487599297348e-14  0.99999999999998868 41.978695964977959 33.453377516518131 -1.3515968997086305e-14  1.0000000000000071 51.368462505527539 21.938158843438853 1.6901778625232096e-15  0.99999999999999833 63.447227270624914 24.500000000000004 -1.5086264655892687e-15  1 75.000000000000014 24.5 -1.5086264655892687e-15  1
- 0 8 1 8
-7 0 0  10 11 2  75 15.5 0  74.999999999999105 15.49999999999994 -1.4137166941154202  75.000000000003425 15.993478879707238 -2.8274332654334842  74.999999999990621 16.98044886550209 -4.0473618262637086  75.000000000018389 18.373882457535071 -4.8797055655472787  74.999999999974861 19.999999999996184 -5.1762440277824107  75.00000000002386 21.626117542471153 -4.879705565547396  74.999999999984084 23.019551134494474 -4.047361826263554  75.000000000007219 24.006521120294067 -2.8274332654335823  74.999999999998124 24.499999999999748 -1.4137166941153954  75.000000000000014 24.5 -1.5086264655892687e-15 
- 0 11 3.1415926535897931 11
-7 0 0  10 11 2  3.5355339059327386 -3.5355339059327386 -4.4408920985006262e-16  3.5355339059328195 -3.5355339059328195 0.62831853071801369  3.1478202812511471 -3.1478202812511471 1.2566370068591419  2.3723834259365431 -2.3723834259365431 1.7988274783398068  1.2775986014269276 -1.2775986014269276 2.1687580291315651  1.1719514247943195e-12 -1.1719514247943195e-12 2.3005529012372383  -1.2775986014289811 1.2775986014289811 2.1687580291316819  -2.3723834259351833 2.3723834259351833 1.7988274783396521  -3.1478202812517777 3.1478202812517777 1.256637006859245  -3.5355339059326556 3.5355339059326556 0.62831853071798205  -3.5355339059327386 3.5355339059327386 -2.2204460492503131e-16 
- 0 11 3.1415926535897931 11
-7 0 0  10 11 2  75 15.5 0  74.999999999999105 15.49999999999994 1.4137166941154202  75.000000000003425 15.993478879707238 2.8274332654334842  74.999999999990621 16.98044886550209 4.0473618262637086  75.000000000018389 18.373882457535071 4.8797055655472787  74.999999999974861 19.999999999996184 5.1762440277824107  75.00000000002386 21.626117542471153 4.879705565547396  74.999999999984084 23.019551134494474 4.047361826263554  75.000000000007219 24.006521120294067 2.8274332654335823  74.999999999998124 24.499999999999748 1.4137166941153954  75.000000000000014 24.5 1.5086264655892687e-15 
- 0 11 3.1415926535897931 11
-1 3.5355339059327378 -3.5355339059327378 0 -0.70710678118654757 0.70710678118654757 0 
-7 0 0  10 11 2  2.8284271247461912 -2.8284271247461912 4.4408920985006262e-16  2.8284271247462276 -2.8284271247462276 -0.50265482457439326  2.5182562250010312 -2.5182562250010312 -1.0053096054873778  1.8979067407489889 -1.8979067407489889 -1.4390619826717084  1.0220788811419279 -1.0220788811419279 -1.7350064233054643  4.6762593797211755e-13 -4.6762593797211755e-13 -1.8404423209895382  -1.0220788811427488 1.0220788811427488 -1.73500642330558  -1.8979067407484411 1.8979067407484411 -1.4390619826715594  -2.5182562250012874 2.5182562250012874 -1.0053096054874726  -2.8284271247461601 2.8284271247461601 -0.50265482457436672  -2.8284271247461903 2.8284271247461903 2.2204460492503131e-16 
- 0 11 3.1415926535897931 11
-1 -3.5355339059327378 3.5355339059327378 -2.4492935982947064e-16 0.70710678118654757 -0.70710678118654757 4.89858719658941e-17 
-7 1 0  7 8 2  2.8284271247461912 -2.8284271247461912 4.4408920985006262e-16  1 9.0159805468327825 6.4281751612018496 2.0133058846416192e-16  1 17.777778499972118 15.165580394866463 -8.0236115873956118e-16  0.99999999999998979 31.571168515292573 14.409868988290894 5.8731757129539919e-15  1.0000000000000278 37.64839458161984 19.182925960538899 -3.5800583136374853e-15  0.99999999999997424 52.67616934408646 15.539676739546138 1.5172914623676952e-15  1.0000000000000095 63.449895514329839 16.399999999999999 4.4408920985006262e-16  1 75 16.399999999999999 4.4408920985006262e-16  1
- 0 8 1 8
-7 1 0  7 8 2  -2.8284271247461903 2.8284271247461903 2.2204460492503131e-16  1 4.1746945180469197 12.228938087750445 -4.3498515050138725e-16  1 14.587149100985133 22.237911020917949 -1.2111033831702273e-15  0.99999999999998979 28.549479609839526 15.123956971356947 2.3425383791132212e-15  1.0000000000000278 41.490579147983965 31.827861148346255 -1.0269151715707795e-15  0.99999999999997424 51.521030626222753 21.236230289860686 5.1873396212586411e-16  1.0000000000000095 63.449895514329832 23.600000000000001 2.141842990487521e-16  1 75.000000000000014 23.600000000000001 2.1418429904875208e-16  1
- 0 8 1 8
-7 0 0  10 11 2  75 16.399999999999999 4.4408920985006262e-16  74.999999999999105 16.399999999999604 -1.1309733552923305  75.000000000003425 16.79478310376723 -2.2619466123468186  74.999999999990621 17.584359092398095 -3.2378894610108695  75.000000000018389 18.699105966034271 -3.9037644524379904  74.999999999974861 19.999999999989107 -4.1409952222257402  75.00000000002386 21.300894033984143 -3.9037644524380775  74.999999999984084 22.415640907590802 -3.2378894610107412  75.000000000007219 23.205216896237388 -2.261946612346911  74.999999999998124 23.599999999999262 -1.1309733552923047  75.000000000000014 23.600000000000001 2.1418429904875208e-16 
- 0 11 3.1415926535897931 11
-7 0 0  10 11 2  2.8284271247461912 -2.8284271247461912 -4.4408920985006262e-16  2.8284271247462276 -2.8284271247462276 0.50265482457439326  2.5182562250010312 -2.5182562250010312 1.0053096054873778  1.8979067407489889 -1.8979067407489889 1.4390619826717084  1.0220788811419279 -1.0220788811419279 1.7350064233054643  4.6762593797211755e-13 -4.6762593797211755e-13 1.8404423209895382  -1.0220788811427488 1.0220788811427488 1.73500642330558  -1.8979067407484411 1.8979067407484411 1.4390619826715594  -2.5182562250012874 2.5182562250012874 1.0053096054874726  -2.8284271247461601 2.8284271247461601 0.50265482457436672  -2.8284271247461903 2.8284271247461903 -2.2204460492503131e-16 
- 0 11 3.1415926535897931 11
-7 0 0  10 11 2  75 16.399999999999999 -4.4408920985006262e-16  74.999999999999105 16.399999999999604 1.1309733552923305  75.000000000003425 16.79478310376723 2.2619466123468186  74.999999999990621 17.584359092398095 3.2378894610108695  75.000000000018389 18.699105966034271 3.9037644524379904  74.999999999974861 19.999999999989107 4.1409952222257402  75.00000000002386 21.300894033984143 3.9037644524380775  74.999999999984084 22.415640907590802 3.2378894610107412  75.000000000007219 23.205216896237388 2.261946612346911  74.999999999998124 23.599999999999262 1.1309733552923047  75.000000000000014 23.600000000000001 -2.1418429904875208e-16 
- 0 11 3.1415926535897931 11
-1 75 15.5 2.7554552980815448e-16 0 1 -6.1232339957367759e-17 
-1 75 24.5 -8.2663658942446333e-16 0 -1 1.8369701987210317e-16 
-Polygon3D 0
-PolygonOnTriangulations 0
-Surfaces 8
-9 1 0 0 0 10 7 11 8 2 2 3.5355339059327386 -3.5355339059327386 4.4408920985006262e-16  1 9.6048855423786907 5.6779402750195374 -5.742238377723344e-16  0.99999999999999989 18.214762018199355 14.344823330601708 -3.1843740466902976e-15  1.0000000000000058 31.904943295729403 14.237869646355081 1.2028108957336017e-14  0.99999999999998868 37.172160522651843 17.64988141136174 -8.7773709183773399e-15  1.0000000000000071 52.812746249130484 14.81612372870539 2.3298725788871153e-15  0.99999999999999833 63.447227270624914 15.5 0  1 75 15.5 0  1 
-3.5355339059328195 -3.5355339059328195 -0.62831853071801369  1 9.604885542379284 5.6779402750195667 -0.73164124169730604  0.99999999999999989 18.214762018200037 14.344823330601164 -1.0469888149911395  1.0000000000000058 31.904943295730241 14.237869646359984 -0.39948502431303995  0.99999999999998868 37.172160522650039 17.649881411357878 -2.4092611365725189  1.0000000000000071 52.812746249132488 14.816123728706323 -1.1284938924273324  0.99999999999999833 63.447227270625511 15.499999999999938 -1.4137166941154204  1 74.999999999999105 15.49999999999994 -1.4137166941154202  1 
-3.1478202812511471 -3.1478202812511471 -1.2566370068591419  1 9.2729214810444986 6.0754899681670214 -1.463282419842884  0.99999999999999989 17.996467481271083 14.829610120007128 -2.0939775390394035  1.0000000000000058 31.697282681850869 14.286806537772526 -0.79897001392370559  0.99999999999998868 37.435707603251764 18.516402695092999 -4.8185220638754691  1.0000000000000071 52.733554746481623 15.206631940884614 -2.2569876868315566  0.99999999999999833 63.447227270622655 15.993478879707236 -2.8274332654334846  1 75.000000000003425 15.993478879707238 -2.8274332654334842  1 
-2.3723834259365431 -2.3723834259365431 -1.7988274783398068  1 8.6089851336806884 6.8705992041127821 -2.0946324284719631  0.99999999999999989 17.559872998990649 15.799195709829741 -2.9974482015801436  1.0000000000000058 31.28195630911361 14.384681533173158 -1.1436948041305759  0.99999999999998868 37.962808294048074 20.249466731308765 -6.897528758237212  1.0000000000000071 52.575169779178417 15.987658040456525 -3.2307909501209608  0.99999999999999833 63.447227270628531 16.98044886550209 -4.0473618262637086  1 74.999999999990621 16.98044886550209 -4.0473618262637086  1 
-1.2775986014269276 -1.2775986014269276 -2.1687580291315651  1 7.6716200438365361 7.9931580809223801 -2.5253955435015549  0.99999999999999989 16.943475918531011 17.168085494405027 -3.6138762234641644  1.0000000000000058 30.695586178585053 14.522864363617154 -1.3788967086524706  0.99999999999998868 38.706984732566291 22.696258103010518 -8.3160119887771682  1.0000000000000071 52.351557169731038 17.090333926265838 -3.8952061261517525  0.99999999999999833 63.447227270621916 18.373882457535071 -4.8797055655472787  1 75.000000000018389 18.373882457535071 -4.8797055655472787  1 
-1.1719514247943195e-12 -1.1719514247943195e-12 -2.3005529012372383  1 6.5777280744114703 9.3031686135167266 -2.6788631863653043  0.99999999999999989 16.224149133738432 18.76556075628185 -3.8334905595379762  1.0000000000000058 30.011300424905656 14.684121797300168 -1.462691909845385  0.99999999999998868 39.575428243818408 25.551629463869848 -8.8213739156197359  1.0000000000000071 52.09060437734513 18.377141286086164 -4.1319168086379028  0.99999999999999833 63.447227270625667 19.999999999996184 -5.1762440277824107  1 74.999999999974861 19.999999999996184 -5.1762440277824107  1 
--1.2775986014289811 1.2775986014289811 -2.1687580291316819  1 5.4838361049540145 10.613179146115629 -2.5253955435017352  0.99999999999999989 15.504822348881138 20.363036018212849 -3.613876223464215  1.0000000000000058 29.327014671318086 14.845379230678686 -1.3788967086533002  0.99999999999998868 40.443871755058836 28.407000824990529 -8.3160119887766726  1.0000000000000071 51.829651584897462 19.663948645853612 -3.8952061261520572  0.99999999999999833 63.447227270625788 21.626117542471153 -4.879705565547396  1 75.00000000002386 21.626117542471153 -4.879705565547396  1 
--2.3723834259351833 2.3723834259351833 -1.7988274783396521  1 4.5464710151344043 11.735738022921637 -2.0946324284717539  0.99999999999999989 14.888425268470534 21.73192580274673 -2.9974482015801169  1.0000000000000058 28.740644540721632 14.983562061355201 -1.1436948041293928  0.99999999999998868 41.188048193587157 30.853792196494638 -6.8975287582379137  1.0000000000000071 51.606038975498372 20.766624531703982 -3.2307909501205487  0.99999999999999833 63.447227270623706 23.019551134494478 -4.047361826263554  1 74.999999999984084 23.019551134494474 -4.047361826263554  1 
--3.1478202812517777 3.1478202812517777 -1.256637006859245  1 3.8825346677568429 12.530847258869537 -1.4632824198430057  0.99999999999999989 14.451830786163059 22.701511392593083 -2.093977539039428  1.0000000000000058 28.32531816801977 15.081437056623322 -0.79897001392448364  0.99999999999998868 41.715148884378252 32.586856232821489 -4.8185220638750348  1.0000000000000071 51.447654008166793 21.547650631251887 -2.2569876868317986  0.99999999999999833 63.447227270625731 24.006521120294064 -2.8274332654335819  1 75.000000000007219 24.006521120294067 -2.8274332654335823  1 
--3.5355339059326556 3.5355339059326556 -0.62831853071798205  1 3.5505706064273257 12.928396952016087 -0.73164124169727363  0.99999999999999989 14.233536249244064 23.186298181990281 -1.0469888149911422  1.0000000000000058 28.117657554128364 15.130373948086152 -0.39948502431278238  0.99999999999998868 41.978695964980815 33.453377516515026 -2.4092611365726784  1.0000000000000071 51.368462505527397 21.938158843439282 -1.1284938924272563  0.99999999999999833 63.447227270624651 24.499999999999744 -1.4137166941153956  1 74.999999999998124 24.499999999999748 -1.4137166941153954  1 
--3.5355339059327386 3.5355339059327386 2.2204460492503131e-16  1 3.5505706064268643 12.92839695201633 -1.5975347728255742e-15  0.99999999999999989 14.233536249242547 23.186298181990903 -5.559004606855246e-15  1.0000000000000058 28.117657554132329 15.130373948082415 1.4762487599297348e-14  0.99999999999998868 41.978695964977959 33.453377516518131 -1.3515968997086305e-14  1.0000000000000071 51.368462505527539 21.938158843438853 1.6901778625232096e-15  0.99999999999999833 63.447227270624914 24.500000000000004 -1.5086264655892687e-15  1 75.000000000000014 24.5 -1.5086264655892687e-15  1 
-
-0 11
-3.1415926535897931 11
-
-0 8
-1 8
-
-9 1 0 0 0 10 7 11 8 2 2 3.5355339059327386 -3.5355339059327386 -4.4408920985006262e-16  1 9.6048855423786907 5.6779402750195374 5.742238377723344e-16  0.99999999999999989 18.214762018199355 14.344823330601708 3.1843740466902976e-15  1.0000000000000058 31.904943295729403 14.237869646355081 -1.2028108957336017e-14  0.99999999999998868 37.172160522651843 17.64988141136174 8.7773709183773399e-15  1.0000000000000071 52.812746249130484 14.81612372870539 -2.3298725788871153e-15  0.99999999999999833 63.447227270624914 15.5 0  1 75 15.5 0  1 
-3.5355339059328195 -3.5355339059328195 0.62831853071801369  1 9.604885542379284 5.6779402750195667 0.73164124169730604  0.99999999999999989 18.214762018200037 14.344823330601164 1.0469888149911395  1.0000000000000058 31.904943295730241 14.237869646359984 0.39948502431303995  0.99999999999998868 37.172160522650039 17.649881411357878 2.4092611365725189  1.0000000000000071 52.812746249132488 14.816123728706323 1.1284938924273324  0.99999999999999833 63.447227270625511 15.499999999999938 1.4137166941154204  1 74.999999999999105 15.49999999999994 1.4137166941154202  1 
-3.1478202812511471 -3.1478202812511471 1.2566370068591419  1 9.2729214810444986 6.0754899681670214 1.463282419842884  0.99999999999999989 17.996467481271083 14.829610120007128 2.0939775390394035  1.0000000000000058 31.697282681850869 14.286806537772526 0.79897001392370559  0.99999999999998868 37.435707603251764 18.516402695092999 4.8185220638754691  1.0000000000000071 52.733554746481623 15.206631940884614 2.2569876868315566  0.99999999999999833 63.447227270622655 15.993478879707236 2.8274332654334846  1 75.000000000003425 15.993478879707238 2.8274332654334842  1 
-2.3723834259365431 -2.3723834259365431 1.7988274783398068  1 8.6089851336806884 6.8705992041127821 2.0946324284719631  0.99999999999999989 17.559872998990649 15.799195709829741 2.9974482015801436  1.0000000000000058 31.28195630911361 14.384681533173158 1.1436948041305759  0.99999999999998868 37.962808294048074 20.249466731308765 6.897528758237212  1.0000000000000071 52.575169779178417 15.987658040456525 3.2307909501209608  0.99999999999999833 63.447227270628531 16.98044886550209 4.0473618262637086  1 74.999999999990621 16.98044886550209 4.0473618262637086  1 
-1.2775986014269276 -1.2775986014269276 2.1687580291315651  1 7.6716200438365361 7.9931580809223801 2.5253955435015549  0.99999999999999989 16.943475918531011 17.168085494405027 3.6138762234641644  1.0000000000000058 30.695586178585053 14.522864363617154 1.3788967086524706  0.99999999999998868 38.706984732566291 22.696258103010518 8.3160119887771682  1.0000000000000071 52.351557169731038 17.090333926265838 3.8952061261517525  0.99999999999999833 63.447227270621916 18.373882457535071 4.8797055655472787  1 75.000000000018389 18.373882457535071 4.8797055655472787  1 
-1.1719514247943195e-12 -1.1719514247943195e-12 2.3005529012372383  1 6.5777280744114703 9.3031686135167266 2.6788631863653043  0.99999999999999989 16.224149133738432 18.76556075628185 3.8334905595379762  1.0000000000000058 30.011300424905656 14.684121797300168 1.462691909845385  0.99999999999998868 39.575428243818408 25.551629463869848 8.8213739156197359  1.0000000000000071 52.09060437734513 18.377141286086164 4.1319168086379028  0.99999999999999833 63.447227270625667 19.999999999996184 5.1762440277824107  1 74.999999999974861 19.999999999996184 5.1762440277824107  1 
--1.2775986014289811 1.2775986014289811 2.1687580291316819  1 5.4838361049540145 10.613179146115629 2.5253955435017352  0.99999999999999989 15.504822348881138 20.363036018212849 3.613876223464215  1.0000000000000058 29.327014671318086 14.845379230678686 1.3788967086533002  0.99999999999998868 40.443871755058836 28.407000824990529 8.3160119887766726  1.0000000000000071 51.829651584897462 19.663948645853612 3.8952061261520572  0.99999999999999833 63.447227270625788 21.626117542471153 4.879705565547396  1 75.00000000002386 21.626117542471153 4.879705565547396  1 
--2.3723834259351833 2.3723834259351833 1.7988274783396521  1 4.5464710151344043 11.735738022921637 2.0946324284717539  0.99999999999999989 14.888425268470534 21.73192580274673 2.9974482015801169  1.0000000000000058 28.740644540721632 14.983562061355201 1.1436948041293928  0.99999999999998868 41.188048193587157 30.853792196494638 6.8975287582379137  1.0000000000000071 51.606038975498372 20.766624531703982 3.2307909501205487  0.99999999999999833 63.447227270623706 23.019551134494478 4.047361826263554  1 74.999999999984084 23.019551134494474 4.047361826263554  1 
--3.1478202812517777 3.1478202812517777 1.256637006859245  1 3.8825346677568429 12.530847258869537 1.4632824198430057  0.99999999999999989 14.451830786163059 22.701511392593083 2.093977539039428  1.0000000000000058 28.32531816801977 15.081437056623322 0.79897001392448364  0.99999999999998868 41.715148884378252 32.586856232821489 4.8185220638750348  1.0000000000000071 51.447654008166793 21.547650631251887 2.2569876868317986  0.99999999999999833 63.447227270625731 24.006521120294064 2.8274332654335819  1 75.000000000007219 24.006521120294067 2.8274332654335823  1 
--3.5355339059326556 3.5355339059326556 0.62831853071798205  1 3.5505706064273257 12.928396952016087 0.73164124169727363  0.99999999999999989 14.233536249244064 23.186298181990281 1.0469888149911422  1.0000000000000058 28.117657554128364 15.130373948086152 0.39948502431278238  0.99999999999998868 41.978695964980815 33.453377516515026 2.4092611365726784  1.0000000000000071 51.368462505527397 21.938158843439282 1.1284938924272563  0.99999999999999833 63.447227270624651 24.499999999999744 1.4137166941153956  1 74.999999999998124 24.499999999999748 1.4137166941153954  1 
--3.5355339059327386 3.5355339059327386 -2.2204460492503131e-16  1 3.5505706064268643 12.92839695201633 1.5975347728255742e-15  0.99999999999999989 14.233536249242547 23.186298181990903 5.559004606855246e-15  1.0000000000000058 28.117657554132329 15.130373948082415 -1.4762487599297348e-14  0.99999999999998868 41.978695964977959 33.453377516518131 1.3515968997086305e-14  1.0000000000000071 51.368462505527539 21.938158843438853 -1.6901778625232096e-15  0.99999999999999833 63.447227270624914 24.500000000000004 1.5086264655892687e-15  1 75.000000000000014 24.5 1.5086264655892687e-15  1 
-
-0 11
-3.1415926535897931 11
-
-0 8
-1 8
-
-1 3.5355339059327378 -3.5355339059327378 0 -0.70710678118654757 -0.70710678118654757 0 -0.70710678118654757 0.70710678118654757 0 -0 0 -1 
-1 75 15.5 2.7554552980815448e-16 -1 0 0 0 0 -1 -0 -1 -0 
-1 3.5355339059327378 -3.5355339059327378 0 -0.70710678118654757 -0.70710678118654757 -0 -0.70710678118654757 0.70710678118654757 -0 -0 -0 1 
-1 75 15.5 -2.7554552980815448e-16 -1 -0 -0 -0 0 1 -0 -1 0 
-9 1 0 0 0 10 7 11 8 2 2 2.8284271247461912 -2.8284271247461912 4.4408920985006262e-16  1 9.0159805468327825 6.4281751612018496 2.0133058846416192e-16  1 17.777778499972118 15.165580394866463 -8.0236115873956118e-16  0.99999999999998979 31.571168515292573 14.409868988290894 5.8731757129539919e-15  1.0000000000000278 37.64839458161984 19.182925960538899 -3.5800583136374853e-15  0.99999999999997424 52.67616934408646 15.539676739546138 1.5172914623676952e-15  1.0000000000000095 63.449895514329839 16.399999999999999 4.4408920985006262e-16  1 75 16.399999999999999 4.4408920985006262e-16  1 
-2.8284271247462276 -2.8284271247462276 -0.50265482457439326  1 9.0159805468328216 6.4281751612018621 -0.58553428033384047  1 17.777778499971209 15.165580394865655 -0.83702922341251151  0.99999999999998979 31.571168515297988 14.409868988295917 -0.32030380321158969  1.0000000000000278 37.648394581614838 19.182925960534281 -1.9273256235209786  0.99999999999997424 52.676169344089331 15.539676739546854 -0.90272885493142008  1.0000000000000095 63.449895514330436 16.399999999999601 -1.1309733552923305  1 74.999999999999105 16.399999999999604 -1.1309733552923305  1 
-2.5182562250010312 -2.5182562250010312 -1.0053096054873778  1 8.7505280572964637 6.7462367156950842 -1.1710685098071594  1 17.602833142044837 15.553363260898562 -1.674058374119779  0.99999999999998979 31.405486331285697 14.449023136926375 -0.64060757859783735  1.0000000000000278 37.85906535224138 19.876260232829232 -3.8546510796345723  0.99999999999997424 52.612831948476334 15.852024391121061 -1.8054576314498902  1.0000000000000095 63.449895514327579 16.79478310376723 -2.2619466123468186  1 75.000000000003425 16.79478310376723 -2.2619466123468186  1 
-1.8979067407489889 -1.8979067407489889 -1.4390619826717084  1 8.2196165014000666 7.3823677049416423 -1.676339470317372  1 17.252938091745996 16.328938600612986 -2.3963500893836529  0.99999999999998979 31.074117858447767 14.527332404383019 -0.91700507699040601  1.0000000000000278 38.280412112952412 21.262945955287442 -5.5177845659494009  0.99999999999997424 52.486155588068115 16.476727432979835 -2.5844430656618647  1.0000000000000095 63.449895514333448 17.584359092398095 -3.2378894610108699  1 74.999999999990621 17.584359092398095 -3.2378894610108695  1 
-1.0220788811419279 -1.0220788811419279 -1.7350064233054643  1 7.4700597701643572 8.2804763628600888 -2.021080247871553  1 16.758945849069651 17.423918941557226 -2.8891617231474176  0.99999999999998979 30.606281988837953 14.637891757957481 -1.1055880274247882  1.0000000000000278 38.875282006554237 23.220710117598962 -6.6525221148448219  0.99999999999997424 52.307310133244791 17.358701774719187 -3.1159361956481719  1.0000000000000095 63.44989551432684 18.699105966034271 -3.9037644524379909  1 75.000000000018389 18.699105966034271 -3.9037644524379904  1 
-4.6762593797211755e-13 -4.6762593797211755e-13 -1.8404423209895382  1 6.5953375324381369 9.3285566244738707 -2.1439007788875823  1 16.182463800463946 18.701745707871858 -3.064735343935824  0.99999999999998979 30.060324062636926 14.76691297991343 -1.1727743297930939  1.0000000000000278 39.569486864737151 25.505393554351894 -7.0567941864600172  0.99999999999997424 52.098599985188997 18.387953514714269 -3.3052908432768442  1.0000000000000095 63.449895514330578 19.999999999989107 -4.1409952222257402  1 74.999999999974861 19.999999999989107 -4.1409952222257402  1 
--1.0220788811427488 1.0220788811427488 -1.73500642330558  1 5.7206152947181215 10.376636886096147 -2.0210802478716676  1 15.605981751912061 19.97957247426147 -2.8891617231474713  0.99999999999998979 29.514366136174079 14.895934201537747 -1.1055880274253354  1.0000000000000278 40.26369172315826 27.790076991440177 -6.6525221148445537  0.99999999999997424 51.889889837005235 19.417205254669291 -3.1159361956483513  1.0000000000000095 63.449895514330713 21.300894033984143 -3.9037644524380779  1 75.00000000002386 21.300894033984143 -3.9037644524380775  1 
--1.8979067407484411 1.8979067407484411 -1.4390619826715594  1 4.9710585634781923 11.274745544008159 -1.6763394703172221  1 15.111989509197203 21.074552815149307 -2.3963500893835668  0.99999999999998979 29.04653026675712 15.006493555362955 -0.91700507698972389  1.0000000000000278 40.858561616586826 29.747841153500076 -5.5177845659496922  0.99999999999997424 51.711044382278359 20.299179596439458 -2.584443065661632  1.0000000000000095 63.449895514328631 22.415640907590799 -3.2378894610107416  1 74.999999999984084 22.415640907590802 -3.2378894610107412  1 
--2.5182562250012874 2.5182562250012874 -1.0053096054874726  1 4.4401470075837057 11.910876533258277 -1.1710685098072586  1 14.762094458918183 21.850128154895057 -1.6740583741198436  0.99999999999998979 28.715161793814971 15.084802822679471 -0.6406075785982992  1.0000000000000278 41.279908377390043 31.134526876097311 -3.8546510796343862  0.99999999999997424 51.584368021816545 20.92388263828046 -1.8054576314500514  1.0000000000000095 63.449895514330656 23.205216896237385 -2.261946612346911  1 75.000000000007219 23.205216896237388 -2.261946612346911  1 
--2.8284271247461601 2.8284271247461601 -0.50265482457436672  1 4.1746945180467883 12.228938087750157 -0.58553428033381372  1 14.587149100984806 22.237911020916648 -0.83702922341252328  0.99999999999998979 28.549479609841558 15.123956971361764 -0.3203038032113672  1.0000000000000278 41.490579147982118 31.82786114834126 -1.9273256235211105  0.99999999999997424 51.521030626224039 21.236230289861044 -0.90272885493134847  1.0000000000000095 63.449895514329569 23.599999999999262 -1.1309733552923047  1 74.999999999998124 23.599999999999262 -1.1309733552923047  1 
--2.8284271247461903 2.8284271247461903 2.2204460492503131e-16  1 4.1746945180469197 12.228938087750445 -4.3498515050138725e-16  1 14.587149100985133 22.237911020917949 -1.2111033831702273e-15  0.99999999999998979 28.549479609839526 15.123956971356947 2.3425383791132212e-15  1.0000000000000278 41.490579147983965 31.827861148346255 -1.0269151715707795e-15  0.99999999999997424 51.521030626222753 21.236230289860686 5.1873396212586411e-16  1.0000000000000095 63.449895514329832 23.600000000000001 2.141842990487521e-16  1 75.000000000000014 23.600000000000001 2.1418429904875208e-16  1 
-
-0 11
-3.1415926535897931 11
-
-0 8
-1 8
-
-9 1 0 0 0 10 7 11 8 2 2 2.8284271247461912 -2.8284271247461912 -4.4408920985006262e-16  1 9.0159805468327825 6.4281751612018496 -2.0133058846416192e-16  1 17.777778499972118 15.165580394866463 8.0236115873956118e-16  0.99999999999998979 31.571168515292573 14.409868988290894 -5.8731757129539919e-15  1.0000000000000278 37.64839458161984 19.182925960538899 3.5800583136374853e-15  0.99999999999997424 52.67616934408646 15.539676739546138 -1.5172914623676952e-15  1.0000000000000095 63.449895514329839 16.399999999999999 -4.4408920985006262e-16  1 75 16.399999999999999 -4.4408920985006262e-16  1 
-2.8284271247462276 -2.8284271247462276 0.50265482457439326  1 9.0159805468328216 6.4281751612018621 0.58553428033384047  1 17.777778499971209 15.165580394865655 0.83702922341251151  0.99999999999998979 31.571168515297988 14.409868988295917 0.32030380321158969  1.0000000000000278 37.648394581614838 19.182925960534281 1.9273256235209786  0.99999999999997424 52.676169344089331 15.539676739546854 0.90272885493142008  1.0000000000000095 63.449895514330436 16.399999999999601 1.1309733552923305  1 74.999999999999105 16.399999999999604 1.1309733552923305  1 
-2.5182562250010312 -2.5182562250010312 1.0053096054873778  1 8.7505280572964637 6.7462367156950842 1.1710685098071594  1 17.602833142044837 15.553363260898562 1.674058374119779  0.99999999999998979 31.405486331285697 14.449023136926375 0.64060757859783735  1.0000000000000278 37.85906535224138 19.876260232829232 3.8546510796345723  0.99999999999997424 52.612831948476334 15.852024391121061 1.8054576314498902  1.0000000000000095 63.449895514327579 16.79478310376723 2.2619466123468186  1 75.000000000003425 16.79478310376723 2.2619466123468186  1 
-1.8979067407489889 -1.8979067407489889 1.4390619826717084  1 8.2196165014000666 7.3823677049416423 1.676339470317372  1 17.252938091745996 16.328938600612986 2.3963500893836529  0.99999999999998979 31.074117858447767 14.527332404383019 0.91700507699040601  1.0000000000000278 38.280412112952412 21.262945955287442 5.5177845659494009  0.99999999999997424 52.486155588068115 16.476727432979835 2.5844430656618647  1.0000000000000095 63.449895514333448 17.584359092398095 3.2378894610108699  1 74.999999999990621 17.584359092398095 3.2378894610108695  1 
-1.0220788811419279 -1.0220788811419279 1.7350064233054643  1 7.4700597701643572 8.2804763628600888 2.021080247871553  1 16.758945849069651 17.423918941557226 2.8891617231474176  0.99999999999998979 30.606281988837953 14.637891757957481 1.1055880274247882  1.0000000000000278 38.875282006554237 23.220710117598962 6.6525221148448219  0.99999999999997424 52.307310133244791 17.358701774719187 3.1159361956481719  1.0000000000000095 63.44989551432684 18.699105966034271 3.9037644524379909  1 75.000000000018389 18.699105966034271 3.9037644524379904  1 
-4.6762593797211755e-13 -4.6762593797211755e-13 1.8404423209895382  1 6.5953375324381369 9.3285566244738707 2.1439007788875823  1 16.182463800463946 18.701745707871858 3.064735343935824  0.99999999999998979 30.060324062636926 14.76691297991343 1.1727743297930939  1.0000000000000278 39.569486864737151 25.505393554351894 7.0567941864600172  0.99999999999997424 52.098599985188997 18.387953514714269 3.3052908432768442  1.0000000000000095 63.449895514330578 19.999999999989107 4.1409952222257402  1 74.999999999974861 19.999999999989107 4.1409952222257402  1 
--1.0220788811427488 1.0220788811427488 1.73500642330558  1 5.7206152947181215 10.376636886096147 2.0210802478716676  1 15.605981751912061 19.97957247426147 2.8891617231474713  0.99999999999998979 29.514366136174079 14.895934201537747 1.1055880274253354  1.0000000000000278 40.26369172315826 27.790076991440177 6.6525221148445537  0.99999999999997424 51.889889837005235 19.417205254669291 3.1159361956483513  1.0000000000000095 63.449895514330713 21.300894033984143 3.9037644524380779  1 75.00000000002386 21.300894033984143 3.9037644524380775  1 
--1.8979067407484411 1.8979067407484411 1.4390619826715594  1 4.9710585634781923 11.274745544008159 1.6763394703172221  1 15.111989509197203 21.074552815149307 2.3963500893835668  0.99999999999998979 29.04653026675712 15.006493555362955 0.91700507698972389  1.0000000000000278 40.858561616586826 29.747841153500076 5.5177845659496922  0.99999999999997424 51.711044382278359 20.299179596439458 2.584443065661632  1.0000000000000095 63.449895514328631 22.415640907590799 3.2378894610107416  1 74.999999999984084 22.415640907590802 3.2378894610107412  1 
--2.5182562250012874 2.5182562250012874 1.0053096054874726  1 4.4401470075837057 11.910876533258277 1.1710685098072586  1 14.762094458918183 21.850128154895057 1.6740583741198436  0.99999999999998979 28.715161793814971 15.084802822679471 0.6406075785982992  1.0000000000000278 41.279908377390043 31.134526876097311 3.8546510796343862  0.99999999999997424 51.584368021816545 20.92388263828046 1.8054576314500514  1.0000000000000095 63.449895514330656 23.205216896237385 2.261946612346911  1 75.000000000007219 23.205216896237388 2.261946612346911  1 
--2.8284271247461601 2.8284271247461601 0.50265482457436672  1 4.1746945180467883 12.228938087750157 0.58553428033381372  1 14.587149100984806 22.237911020916648 0.83702922341252328  0.99999999999998979 28.549479609841558 15.123956971361764 0.3203038032113672  1.0000000000000278 41.490579147982118 31.82786114834126 1.9273256235211105  0.99999999999997424 51.521030626224039 21.236230289861044 0.90272885493134847  1.0000000000000095 63.449895514329569 23.599999999999262 1.1309733552923047  1 74.999999999998124 23.599999999999262 1.1309733552923047  1 
--2.8284271247461903 2.8284271247461903 -2.2204460492503131e-16  1 4.1746945180469197 12.228938087750445 4.3498515050138725e-16  1 14.587149100985133 22.237911020917949 1.2111033831702273e-15  0.99999999999998979 28.549479609839526 15.123956971356947 -2.3425383791132212e-15  1.0000000000000278 41.490579147983965 31.827861148346255 1.0269151715707795e-15  0.99999999999997424 51.521030626222753 21.236230289860686 -5.1873396212586411e-16  1.0000000000000095 63.449895514329832 23.600000000000001 -2.141842990487521e-16  1 75.000000000000014 23.600000000000001 -2.1418429904875208e-16  1 
-
-0 11
-3.1415926535897931 11
-
-0 8
-1 8
-
-Triangulations 0
-
-TShapes 42
-Ve
-1.00000011584738e-07
-3.53553390593274 -3.53553390593274 0
-0 0
-
-0101101
-*
-Ve
-2.00001022062862e-07
-75 15.5 -6.88863824520386e-17
-0 0
-
-0101101
-*
-Ed
- 1e-07 1 1 0
-1  1 0 0 1
-2  1 1 0 0 1
-2  2 2 0 0 1
-0
-
-0101000
-+42 0 -41 0 *
-Ve
-2.00001005003195e-07
--3.53553390593273 3.53553390593274 -7.40818758532816e-16
-0 0
-
-0101101
-*
-Ed
- 1e-07 1 1 0
-1  2 0 0 3.14159265358979
-2  3 1 0 0 3.14159265358979
-2  4 3 0 0 3.14159265358979
-0
-
-0101000
-+42 0 -39 0 *
-Ve
-2.00001041588069e-07
-75 24.5 2.06659147356116e-16
-0 0
-
-0101101
-*
-Ed
- 1e-07 1 1 0
-1  3 0 0 1
-2  5 1 0 0 1
-2  6 2 0 0 1
-0
-
-0101000
-+39 0 -37 0 *
-Ed
- 1e-07 1 1 0
-1  4 0 0 3.14159265358979
-2  7 1 0 0 3.14159265358979
-2  8 4 0 0 3.14159265358979
-0
-
-0101000
-+41 0 -37 0 *
-Wi
-
-0101000
--40 0 +38 0 +36 0 -35 0 *
-Fa
-1  1e-07 1 0
-
-0101000
-+34 0 *
-Ed
- 1e-07 1 1 0
-1  5 0 0 3.14159265358979
-2  3 2 0 0 3.14159265358979
-2  9 5 0 0 3.14159265358979
-0
-
-0101000
-+42 0 -39 0 *
-Ed
- 1e-07 1 1 0
-1  6 0 0 3.14159265358979
-2  7 2 0 0 3.14159265358979
-2  10 6 0 0 3.14159265358979
-0
-
-0101000
-+41 0 -37 0 *
-Wi
-
-0101000
--40 0 +32 0 +36 0 -31 0 *
-Fa
-1  1e-07 2 0
-
-0101000
-+30 0 *
-Ve
-1.00000003092948e-07
-2.82842712474619 -2.82842712474619 0
-0 0
-
-0101101
-*
-Ed
- 1e-07 1 1 0
-1  7 0 0 1
-2  11 3 0 0 1
-2  12 5 0 0 1
-0
-
-0101000
-+42 0 -28 0 *
-Ve
-2.000010012582e-07
--2.82842712474619 2.82842712474619 9.68596121552874e-16
-0 0
-
-0101101
-*
-Ed
- 1e-07 1 1 0
-1  8 0 0 3.14159265358979
-2  13 7 0 0 3.14159265358979
-2  14 3 0 0 3.14159265358979
-0
-
-0101000
-+28 0 -26 0 *
-Ed
- 1e-07 1 1 0
-1  9 0 0 1
-2  15 3 0 0 1
-2  16 5 0 0 1
-0
-
-0101000
-+39 0 -26 0 *
-Wi
-
-0101000
-+38 0 -27 0 -25 0 +24 0 *
-Fa
-0  1e-07 3 0
-
-0101000
--23 0 *
-Ve
-2.00001030198519e-07
-75 16.4 -5.51091059616309e-17
-0 0
-
-0101101
-*
-Ed
- 1e-07 1 1 0
-1  10 0 0 1
-2  17 7 0 0 1
-2  18 8 0 0 1
-0
-
-0101000
-+28 0 -21 0 *
-Ve
-2.00001064344293e-07
-75 23.5999999999999 1.65327317884893e-16
-0 0
-
-0101101
-*
-Ed
- 1e-07 1 1 0
-1  11 0 0 1
-2  19 7 0 0 1
-2  20 8 0 0 1
-0
-
-0101000
-+26 0 -19 0 *
-Ed
- 1e-07 1 1 0
-1  12 0 0 3.14159265358979
-2  21 7 0 0 3.14159265358979
-2  22 4 0 0 3.14159265358979
-0
-
-0101000
-+21 0 -19 0 *
-Wi
-
-0101000
--20 0 +25 0 +18 0 -17 0 *
-Fa
-1  1e-07 7 0
-
-0101000
-+16 0 *
-Ed
- 1e-07 1 1 0
-1  13 0 0 3.14159265358979
-2  13 8 0 0 3.14159265358979
-2  23 5 0 0 3.14159265358979
-0
-
-0101000
-+28 0 -26 0 *
-Ed
- 1e-07 1 1 0
-1  14 0 0 3.14159265358979
-2  21 8 0 0 3.14159265358979
-2  24 6 0 0 3.14159265358979
-0
-
-0101000
-+21 0 -19 0 *
-Wi
-
-0101000
--20 0 +14 0 +18 0 -13 0 *
-Fa
-1  1e-07 8 0
-
-0101000
-+12 0 *
-Wi
-
-0101000
-+32 0 -27 0 -14 0 +24 0 *
-Fa
-0  1e-07 5 0
-
-0101000
--10 0 *
-Ed
- 1e-07 1 1 0
-1  15 0 0 0.899999999999999
-2  25 4 0 0 0.899999999999999
-2  26 6 0 0 0.899999999999999
-0
-
-0101000
-+41 0 -21 0 *
-Ed
- 1e-07 1 1 0
-1  16 0 0 0.899999999999999
-2  27 4 0 0 0.899999999999999
-2  28 6 0 0 0.899999999999999
-0
-
-0101000
-+37 0 -19 0 *
-Wi
-
-0101000
-+35 0 -8 0 -17 0 +7 0 *
-Fa
-0  1e-07 4 0
-
-0101000
--6 0 *
-Wi
-
-0101000
-+31 0 -8 0 -13 0 +7 0 *
-Fa
-0  1e-07 6 0
-
-0101000
--4 0 *
-Sh
-
-0101100
-+33 0 -29 0 +22 0 -15 0 +11 0 -9 0 -5 0 +3 0 *
-So
-
-1100000
-+2 0 *
-
-+1 0 
diff --git a/src/TEST_PY/test_unit/tuyau_v5.py b/src/TEST_PY/test_unit/tuyau_v5.py
deleted file mode 100644 (file)
index 99ad475..0000000
+++ /dev/null
@@ -1,260 +0,0 @@
-# -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-
-# Francis KLOSS : 2012 : CEA-Saclay, DEN, DM2S, SFME, LGLS, F-91191 Gif-sur-Yvette, France
-# ========================================================================================
-
-import geompy
-import hexablock
-
-# Charger la geometrie
-# ====================
-
-nom = "tuyau"
-
-geometrie = geompy.ImportBREP(nom+".brep")
-
-# Selectionner des sous-parties de la geometrie
-# ---------------------------------------------
-
-aretes  = geompy.SubShapeAllSortedCentres    (geometrie, geompy.ShapeType["EDGE"])
-edge_id = geompy.SubShapeAllSortedCentresIDs (geometrie, geompy.ShapeType["EDGE"])
-faces   = geompy.SubShapeAllSortedCentres    (geometrie, geompy.ShapeType["FACE"])
-face_id = geompy.SubShapeAllSortedCentresIDs (geometrie, geompy.ShapeType["FACE"])
-
-subid_arc_int_bas  = 30
-subid_arc_int_haut = 34
-subid_arc_ext_bas  = 12
-subid_arc_ext_haut = 16
-
-arc_int_bas  = aretes[12]
-arc_int_haut = aretes[13]
-arc_ext_bas  = aretes[11]
-arc_ext_haut = aretes[14]
-
-subid_ell_int_bas  = 21
-subid_ell_int_haut = 33
-subid_ell_ext_bas  =  8
-subid_ell_ext_haut = 15
-
-ell_int_bas  = aretes[2]
-ell_int_haut = aretes[3]
-ell_ext_bas  = aretes[1]
-ell_ext_haut = aretes[4]
-
-subid_gen_int_avan = 26
-subid_gen_int_arri = 28
-subid_gen_ext_avan =  5
-subid_gen_ext_arri = 10
-
-gen_int_avan = aretes[8]
-gen_int_arri = aretes[7]
-gen_ext_avan = aretes[9]
-gen_ext_arri = aretes[6]
-
-subid_face_int_bas  = 24
-subid_face_int_haut = 31
-subid_face_ext_bas  =  3
-subid_face_ext_haut = 13
-
-face_int_bas  = faces[4]
-face_int_haut = faces[5]
-face_ext_bas  = faces[2]
-face_ext_haut = faces[3]
-
-# Construire le modele de bloc
-# ============================
-
-doc = hexablock.addDocument(nom)
-
-# Definir le tuyau
-# ----------------
-
-base = doc.addVertex(0, 0, 0)
-
-direction = doc.addVector(1, 0, 0)
-
-tuyau = doc.addPipe(base, direction, 1, 2, 10)
-
-# Construire le modele de blocs du tuyau
-# --------------------------------------
-
-depart = doc.addVector(0, 1, 0)
-
-modele = doc.makePipe(tuyau, depart, 1, 4, 1)
-
-# Associer le modele de bloc a la geometrie
-# =========================================
-
-sh_tuyau = doc.addShape(geometrie,nom)
-doc.clearAssociation()
-
-# Associer les cercles
-# --------------------
-
-cer_int_dep = modele.getVertexIJK(0, 0, 1)
-cer_ext_dep = modele.getVertexIJK(1, 0, 1)
-
-cer_int = []
-cer_ext = []
-for j in xrange(4):
-    a = modele.getEdgeJ(0, j, 1)
-    cer_int.append(a)
-
-    a = modele.getEdgeJ(1, j, 1)
-    cer_ext.append(a)
-
-doc.associateClosedLine(cer_int_dep, cer_int, [sh_tuyau], [34,30], 1, True)
-doc.associateClosedLine(cer_ext_dep, cer_ext, [sh_tuyau], [16,12], 1, True)
-
-# Associer les ellipses
-# ---------------------
-
-ell_int_dep = modele.getVertexIJK(0, 0, 0)
-ell_ext_dep = modele.getVertexIJK(1, 0, 0)
-
-ell_int = []
-ell_ext = []
-for j in xrange(4):
-    a = modele.getEdgeJ(0, j, 0)
-    ell_int.append(a)
-
-    a = modele.getEdgeJ(1, j, 0)
-    ell_ext.append(a)
-
-doc.associateClosedLine(ell_int_dep, ell_int, [sh_tuyau], [33,21], 1, True)
-doc.associateClosedLine(ell_ext_dep, ell_ext, [sh_tuyau], [15, 8], 1, True)
-
-# Associer les generatrices
-# -------------------------
-
-def generatrice(face):
-    n = 10
-    l = []
-    for i in xrange(0, n+1):
-        v = float(i) / n
-        s = geompy.MakeVertexOnSurface(face, 0.5, v)
-        l.append(s)
-
-    return geompy.MakeInterpol(l)
-
-gen = []
-gen_int_haut = generatrice(face_int_haut)
-gen_ext_haut = generatrice(face_ext_haut)
-gen_int_bas  = generatrice(face_int_bas )
-gen_ext_bas  = generatrice(face_ext_bas )
-gen.append(gen_int_haut)
-gen.append(gen_ext_haut)
-gen.append(gen_int_bas)
-gen.append(gen_ext_bas)
-
-generatrices = geompy.MakeCompound(gen)
-sh_gen = doc.addShape(generatrices,"generatrices")
-
-modele.getEdgeK(0, 0, 0).addAssociation(sh_tuyau, 28, 0, 1)
-modele.getEdgeK(1, 0, 0).addAssociation(sh_tuyau, 10, 0, 1)
-
-modele.getEdgeK(0, 1, 0).addAssociation(sh_gen  ,  2, 0, 1)
-modele.getEdgeK(1, 1, 0).addAssociation(sh_gen  ,  5, 0, 1)
-
-modele.getEdgeK(0, 2, 0).addAssociation(sh_tuyau, 26, 0, 1)
-modele.getEdgeK(1, 2, 0).addAssociation(sh_tuyau,  5, 0, 1)
-
-modele.getEdgeK(0, 3, 0).addAssociation(sh_gen  ,  8, 0, 1)
-modele.getEdgeK(1, 3, 0).addAssociation(sh_gen  , 11, 0, 1)
-
-# Associer les faces courbees
-# ---------------------------
-
-modele.getQuadJK(0, 0, 0).addAssociation(sh_tuyau, 31)
-modele.getQuadJK(0, 1, 0).addAssociation(sh_tuyau, 31)
-modele.getQuadJK(0, 2, 0).addAssociation(sh_tuyau, 24)
-modele.getQuadJK(0, 3, 0).addAssociation(sh_tuyau, 24)
-
-modele.getQuadJK(1, 0, 0).addAssociation(sh_tuyau, 13)
-modele.getQuadJK(1, 1, 0).addAssociation(sh_tuyau, 13)
-modele.getQuadJK(1, 2, 0).addAssociation(sh_tuyau,  3)
-modele.getQuadJK(1, 3, 0).addAssociation(sh_tuyau,  3)
-
-# Mailler le modele de bloc
-# =========================
-
-# Definir 3 groupes d'aretes
-# --------------------------
-
-groupe_cercles      = doc.addEdgeGroup("Cercles")
-groupe_ellipses     = doc.addEdgeGroup("Ellipses")
-groupe_generatrices = doc.addEdgeGroup("Generatrices")
-
-# Definir 4 groupes de faces
-# --------------------------
-
-groupe_couronne  = doc.addQuadGroup("Couronne")
-groupe_ovale     = doc.addQuadGroup("Ovale")
-groupe_interieur = doc.addQuadGroup("Interieur")
-groupe_exterieur = doc.addQuadGroup("Exterieur")
-
-# Constituer les groupes d'aretes
-# -------------------------------
-
-for i in xrange(2):
-    for j in xrange(4):
-        arete = modele.getEdgeJ(i, j, 1)
-        groupe_cercles.addElement(arete)
-
-        arete = modele.getEdgeJ(i, j, 0)
-        groupe_ellipses.addElement(arete)
-
-        arete = modele.getEdgeK(i, j, 0)
-        groupe_generatrices.addElement(arete)
-
-# Constituer les groupes de faces
-# -------------------------------
-
-for j in xrange(4):
-    quad = modele.getQuadIJ(0, j, 1)
-    groupe_couronne.addElement(quad)
-
-    quad = modele.getQuadIJ(0, j, 0)
-    groupe_ovale.addElement(quad)
-
-    quad = modele.getQuadJK(0, j, 0)
-    groupe_interieur.addElement(quad)
-
-    quad = modele.getQuadJK(1, j, 0)
-    groupe_exterieur.addElement(quad)
-
-# Mailler le modele de bloc avec ses associations
-# -----------------------------------------------
-
-##########  hexablock.addLaws(doc, 0.7, True) Ne marche pas
-
-law = doc.addLaw("Uniform", 4)
-for j in range(doc.countPropagation()):
-    propa = doc.getPropagation(j)
-    propa.setLaw(law)
-
-doc.save("tuyau_v5")
-doc.setName("tuyau_v5")
-hexablock.addToStudy(doc)
-
-blocs = hexablock.mesh(doc)
-
-muv, mue, muq, muh = hexablock.dump(doc, blocs)