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
----------------------------------------------------------------------
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
NameOf(edge->getVertex(0)),
NameOf(edge->getVertex(1)));
}
- nbr_edges ++;
return edge;
}
// ====================================================== addQuad
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),
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
NameOf(quad->getEdge(0)), NameOf(quad->getEdge(1)),
NameOf(quad->getEdge(2)), NameOf(quad->getEdge(3)));
}
- nbr_quads ++;
return quad;
}
// ====================================================== addHexa
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);
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)
{
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]);
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)
{
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 ()
{
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];
}
}
}
// ====================================================== 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
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)
}
}
// ===================================================== 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;
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;
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);
}
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;
}
void createLittlePipe ();
void createBigPipe ();
- void createLittleCyl ();
- void createBigCyl ();
void adjustLittleSlice (int nx, int nzs);
void adjustLittleSquare (int nk);
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);
RealVector tlen;
Elements* grid = new Elements (this);
+ update ();
grid->checkQuad (quada);
grid->checkQuad (quadb, -1);
grid->checkSense (3, va1, va2, quada);
Quads tquada;
Elements* grid = new Elements (this);
+ update ();
grid->checkQuad (quada);
grid->checkQuad (quadb, -1);
grid->checkSense (3, va1, va2, quada);
RealVector tlen;
Elements* grid = new Elements (this);
+ update ();
grid->checkQuads (tquada);
grid->checkQuad (quadb, -1);
if (tquada.size()>0)
Elements* grid = new Elements (this);
+ update ();
grid->checkQuads (tquada);
grid->checkQuad (quadb, -1);
if (tquada.size()>0)
// ========================================================= 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;
}
}
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
#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);
// =============================================================== 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)
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)
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);
BEGIN_NAMESPACE_HEXA
-bool db = true;
+bool db = false;
// ======================================================== Constructeur
Quad::Quad (Vertex* va, Vertex* vb, Vertex* vc, Vertex* vd)
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
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
int countAssociation () { return tab_assoc.size () ; }
FaceShape* getAssociation (int nro);
- Vertex* nearestVertex (Vertex* other);
+ double dist2 (double* point);
private:
friend class Cloner;
static Hex::Document* docu = NULL;
static cpchar case_name = "hexa";
-// ======================================================== get_document
+// ======================================================== get_document
Hex::Document* get_document ()
{
if (docu==NULL)
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);
}
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;
}
{
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[])
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());
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");
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");
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);
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);
for (int nro=3 ; nro<nbhexas ; nro +=3)
grid2->getHexa(nro)->remove();
-
+
grid2->saveVtk ("makeSphericalUni.vtk");
return HOK;
}
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);
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 ();
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;
}
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;
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 ();
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
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);
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]);
<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">
<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>
<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/>
// 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 )
{
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();
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);
{
// ** 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();
//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)
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();
}
void HEXABLOCKGUI::switchModel(VtkDocumentGraphicView* dgview)
{
DEBTRACE("HEXABLOCKGUI::switchModel " << dgview);
+ MESSAGE("=========> SWITCH MODEL");
if (dgview == NULL)
{
_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();
// 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)
{
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');
QStringList getQuickDirList();
- void restoreGraphicViews();
void clearDialogs();
SOCC_Prs* getOccPrs(HEXABLOCK::GUI::VtkDocumentGraphicView* docGView)
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;
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);
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 );
{
}
-// ----------------------- 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 ):
}
// ----------------------- 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 ):
HEXAITEM,
VECTORITEM,
- CYLINDERITEM,
- PIPEITEM,
ELEMENTSITEM,
CROSSELEMENTSITEM,
HEXA_TREE,
VECTOR_TREE,
- CYLINDER_TREE,
- PIPE_TREE,
ELEMENTS_TREE,
CROSSELEMENTS_TREE,
HEXA_DIR_TREE,
VECTOR_DIR_TREE,
- CYLINDER_DIR_TREE,
- PIPE_DIR_TREE,
ELEMENTS_DIR_TREE,
CROSSELEMENTS_DIR_TREE,
};
//-----------------------------------------
- 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
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
_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")) ),
_quadItemFlags( Qt::NoItemFlags ),
_hexaItemFlags( Qt::NoItemFlags ),
_vectorItemFlags( Qt::NoItemFlags ),
- _cylinderItemFlags( Qt::NoItemFlags ),
- _pipeItemFlags( Qt::NoItemFlags ),
_elementsItemFlags( Qt::NoItemFlags ),
_crossElementsItemFlags( Qt::NoItemFlags ),
_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 );
parentItem->appendRow(_hexaDirItem);
parentItem->appendRow(_vectorDirItem);
- parentItem->appendRow(_cylinderDirItem);
- parentItem->appendRow(_pipeDirItem);
parentItem->appendRow(_elementsDirItem);
parentItem->appendRow(_crossElementsDirItem);
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;
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();
}
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() );
}
_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()
_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
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 );
_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 );
_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 );
_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 );
_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 );
_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 );
_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 );
_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 );
_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 );
_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 );
_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 );
_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 );
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,
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 ) );
if ( BadElement(helts) )
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
if ( BadElement(helts) )
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
if ( BadElement(helts) )
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
if ( BadElement(helts) )
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
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;
}
HEXA_NS::Elements* helts = _hexaDocument->makeSphere( hcenter, hvec_x, hvec_z,
tray, tang, thaut);
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _crossElementsDirItem);
return result;
}
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _crossElementsDirItem);
return result;
}
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
HEXA_NS::Elements* helts = _hexaDocument->extrudeQuad(hstart, hvec, tlen);
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
HEXA_NS::Elements* helts = _hexaDocument->extrudeQuadsTop(hquads, nbre);
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
HEXA_NS::Elements* helts = _hexaDocument->extrudeQuadsUni(hquads, haxis, len, nbre);
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
HEXA_NS::Elements* helts = _hexaDocument->extrudeQuads(hquads, haxis, tlen);
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
HEXA_NS::Elements* helts = _hexaDocument->cutUni(hedge, nbre);
if (BadElement(helts))
return result;
- result = addToElementsTree(helts);
+ result = addElementsToTree(helts, _elementsDirItem);
return result;
}
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 ==========================================
-
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 );
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);
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 );
//builder
QStandardItem *_vectorDirItem;
- QStandardItem *_cylinderDirItem;
- QStandardItem *_pipeDirItem;
QStandardItem *_elementsDirItem;
QStandardItem *_crossElementsDirItem;
Qt::ItemFlags _hexaItemFlags;
Qt::ItemFlags _vectorItemFlags;
- Qt::ItemFlags _cylinderItemFlags;
- Qt::ItemFlags _pipeItemFlags;
Qt::ItemFlags _elementsItemFlags;
Qt::ItemFlags _crossElementsItemFlags;
_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" );
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:
_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()) );
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));
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";
}
}
QListWidgetItem* previousItem = angle_lw->currentItem();
QListWidgetItem* newItem = new QListWidgetItem();
- double defaultValue = 180.;
+ double defaultValue = 1.;
if ( previousItem )
defaultValue = previousItem->data(Qt::EditRole).toDouble();
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() )
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){
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();
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()
{
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){
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();
}
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()
{
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){
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);
}
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);
}
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();
}
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()
{
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();
}
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()
{
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();
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()
{
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();
}
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()
{
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()
{
delete height_lw->currentItem();
}
-// ============================================================== updateHelpFileName
-void MakeHemiSphereDialog::updateHelpFileName()
-{
-}
-
// ============================================================== clear
void MakeHemiSphereDialog::clear()
{
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
}
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);
}
}
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);
}
// ============================================================== 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;
}
// ============================================================== 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;
}
protected slots:
void addHeightItem();
void delHeightItem();
+ void updateHelpFileName();
private slots:
void addQuad();
protected slots:
void addHeightItem();
void delHeightItem();
+ void updateHelpFileName();
private slots:
void addQuad();
protected slots:
void addHeightItem();
void delHeightItem();
+ void updateHelpFileName();
public slots:
virtual bool apply(QModelIndex& result);
void addAngleItem();
void delAngleItem();
void delQuadItem();
+ void updateHelpFileName();
private:
HEXA_NS::Elements *_value;
<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>
<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>
<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">
<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>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>
</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>
<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>
<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>
<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">
<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>
<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>
</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/>
<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>
</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>
</message>
<message>
<source>CANNOT PRISM QUAD(S)</source>
- <translation>Cannot prism quadrangle(s)</translation>
+ <translation>Cannot extrude quadrangle(s)</translation>
</message>
</context>
<context>
</message>
<message>
<source>Prism quadrangles</source>
- <translation type="unfinished"></translation>
+ <translation>Extrude quadrangles</translation>
</message>
<message>
<source>ICON_PRISM_QUAD</source>
</message>
<message>
<source>Prism Quadrangles</source>
- <translation type="unfinished"></translation>
+ <translation>Extrude Quadrangles</translation>
</message>
<message>
<source>Join quadrangles</source>
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)
}
+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 ;
{ (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},
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"])
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
# ----------------------------
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
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
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
# ----------------------------
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)
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
# ----------------------------
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
# ----------------------------
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
# -------------------------------------------------
+++ /dev/null
-
-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
+++ /dev/null
-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
+++ /dev/null
-# -*- 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)
+++ /dev/null
-# -*- 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)
+++ /dev/null
-
-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
+++ /dev/null
-# -*- 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)