MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mstruct_ves_decoup.cpp
Aller à la documentation de ce fichier.
1 //####//------------------------------------------------------------
2 //####//------------------------------------------------------------
3 //####// MAGiC
4 //####// Jean Christophe Cuilliere et Vincent FRANCOIS
5 //####// Departement de Genie Mecanique - UQTR
6 //####//------------------------------------------------------------
7 //####// MAGIC est un projet de recherche de l equipe ERICCA
8 //####// du departement de genie mecanique de l Universite du Quebec a Trois Rivieres
9 //####// http://www.uqtr.ca/ericca
10 //####// http://www.uqtr.ca/
11 //####//------------------------------------------------------------
12 //####//------------------------------------------------------------
13 //####//
14 //####// mstruct_ves_decoup.cpp
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:57 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #include "mstruct_ves.h"
23 #include "mg_volume.h"
24 #include "mg_geometrie.h"
25 #include "mg_maillage.h"
26 #include "fem_maillage.h"
27 #include "mg_gestionnaire.h"
28 #include "mstruct_groupe_volume.h"
29 #include "mstruct_parametres.h"
30 #include "mstruct_generateur_rsa.h"
31 #include "mstruct_generateur_dcr.h"
32 #include "mstruct_definition.h"
33 #include "mstruct_analyse_champ.h"
35 #include "mstruct_analyse_cao.h"
43 #include "mg_cg_modele.h"
44 #include "mg_cg_assemblage.h"
45 #include "mg_sous_geometrie.h"
47 #include "mg_cg_info.h"
48 #include "mg_file.h"
50 #include "mailleur3d_couche.h"
51 #include "mailleur0d.h"
52 #include "mailleur1d.h"
53 #include "mailleur2d.h"
54 #include "mailleur3d.h"
55 #include "mailleur_fem.h"
56 #include "mailleur3d_structure.h"
57 #include "mailleur_analyse.h"
58 #include <fstream>
59 #include "mgaster.h"
60 #include "ot_cpu.h"
61 #include "mstruct_outils.h"
62 #include "mg_cg_groupe_forme.h"
63 #include "mstruct_ves_file.h"
64 #include "fem_triangle3.h"
65 #include "fem_triangle6.h"
66 #include "fem_tetra4.h"
67 #include "fem_tetra10.h"
68 #include "fem_penta6.h"
69 #include "fem_penta15.h"
70 #include "mg_hexa.h"
71 #include "tpl_grille.h"
72 #include "parse.h"
73 #include "pars_argument.h"
74 #include "ot_geometrie.h"
76 #include "lc_point.h"
78 #include "mg_arete_element.h"
79 #include <mg_face_element.h>
80 #include <mg_volume_element.h>
81 #include <ot_mathematique.h>
82 #include "mstruct_ves_decoup.h"
83 #include "mg_cg.h"
84 #include "mg_cg_groupe_forme.h"
85 #include "mg_cg_forme_volume.h"
95 #include "mg_point.h"
96 #include <m3d_tetra.h>
97 #include <m3d_noeud.h>
98 #include <m3d_triangle.h>
100 
101 
102 
103 
104 /*MSTRUCT_VES_DECOUP::MSTRUCT_VES_DECOUP(void):MSTRUCT_VES()
105 {
106  change_boite_3D_ves(BOITE_3D(-0.25,-0.25,-0.25,1.25,1.25,1.25));
107  //--------------------Virtual Geometry----------------------------------------
108  gestionnaire_virtu=new MG_GESTIONNAIRE;
109  geo_virtu=NULL;
110  mai_virtu=NULL;
111 
112 
113 }*/
114 
116 {
118 }
119 
121 {
122 }
123 
124 
125 
127 {
128  OT_CPU ot_cpu;
129  ot_cpu.initialise();
130  int Niveau = (int)param->get_valeur((char*)"Niveau");
131  int Niveau_opt_2d = (int)param->get_valeur((char*)"Niveau_opt_2d");
132  int Niveau_opt_3d = (int)param->get_valeur((char*)"Niveau_opt_3d");
133  double Priorite_metrique = param->get_valeur((char*)"Priorite_metrique");
134  int Analyse = (int)param->get_valeur((char*)"Analyse");
135  int Grille_reguliere = (int)param->get_valeur((char*)"Grille_reguliere");
136  int Gr_nx = param->get_valeur((char*)"Gr_nx");
137  int Gr_ny = param->get_valeur((char*)"Gr_ny");
138  int Gr_nz = param->get_valeur((char*)"Gr_nz");
139  int Mailleur_particule_fine = param->get_valeur((char*)"Mailleur_particule_fine");
140  affiche((char*)"Maillage du VER :");
141  if(!Grille_reguliere)
142  {
146 
147 
148 
149  affiche((char*)"Maillage 3D_couche :");
151  m3d_couche.active_affichage(fonc_affiche);
152  LISTE_MG_VOLUME::iterator it_volume;
153  for(MG_VOLUME* volume=m_mg_geometrie->get_premier_volume(it_volume);volume!=NULL;volume=m_mg_geometrie->get_suivant_volume(it_volume))
154  {
155  if(volume->est_mince())
156  {
157  char message[1000];
158  sprintf(message,"-> Maillage du volume id %li",volume->get_id());
159  affiche(message);
160  if(m3d_couche.maille(volume)==FAIL) return FAIL;
161  }
162  }
163  if(Mailleur_particule_fine==1)
164  {
165 
166  long nb=m_mg_geometrie->get_nb_mg_volume();
167  affiche((char*)"Mailleur particule_fine :");
168 
169  for(int m=0;m<nb-1;m++)
170  {
173  mpf.change_priorite_metrique(Priorite_metrique);
174  if(volume->get_lien_maillage()->get_nb()>0) continue;
175  if(volume->est_mince()) continue;
176  char message[1000];
177  sprintf(message,"[%4i/%li] Maillage du volume id %li",m+1,nb,volume->get_id());
178  affiche(message);
180  mpf.maille();
181 
182  }
183  }
184  if(Mailleur_particule_fine==2)
185  {
186 
187  long nb=m_mg_geometrie->get_nb_mg_volume();
188  affiche((char*)"Mailleur particule_fine :");
189 
190  for(int m=0;m<nb-1;m++)
191  {
194  mpf.change_priorite_metrique(Priorite_metrique);
195  if(volume->get_lien_maillage()->get_nb()>0) continue;
196  if(volume->est_mince()) continue;
197  char message[1000];
198  sprintf(message,"[%4i/%li] Maillage du volume id %li",m+1,nb,volume->get_id());
199  affiche(message);
201  mpf.maille();
202 
203  }
204  }
205  if(Niveau>=0)
206  {
207  long i=1;
208  long nb=m_mg_geometrie->get_nb_mg_sommet();
210  affiche((char*)"Maillage 0D :");
211  LISTE_MG_SOMMET::iterator it_sommet;
212  for(MG_SOMMET* sommet=m_mg_geometrie->get_premier_sommet(it_sommet);sommet!=NULL;sommet=m_mg_geometrie->get_suivant_sommet(it_sommet))
213  {
214  if(sommet->get_lien_maillage()->get_nb()>0) continue;
215  char message[1000];
216  sprintf(message,"[%4li/%li] Maillage du sommet id %li",i,nb,sommet->get_id());
217  affiche(message);
218  if(m0d.maille(sommet)==FAIL) return FAIL;
219  i++;
220  }
221  }
222  if(Niveau>=1)
223  {
224  long i=1;
225  long nb=m_mg_geometrie->get_nb_mg_arete();
227  affiche((char*)"Maillage 1D :");
229  LISTE_MG_ARETE::iterator it_arete;
230  for(MG_ARETE* arete=m_mg_geometrie->get_premier_arete(it_arete);arete!=NULL;arete=m_mg_geometrie->get_suivant_arete(it_arete))
231  {
232  if(arete->get_lien_maillage()->get_nb()>0) continue;
233  char message[1000];
234  sprintf(message,"[%4li/%li] Maillage de l'arete id %li",i,nb,arete->get_id());
235  affiche(message);
236  if(m1d.maille(arete)==FAIL) return FAIL;
237  i++;
238  }
239  }
240  if(Niveau>=2)
241  {
242  long i=1;
243  long nb=m_mg_geometrie->get_nb_mg_face();
245  m2d.change_niveau_optimisation(Niveau_opt_2d);
246  m2d.change_priorite_metrique(Priorite_metrique);
247  affiche((char*)"Maillage 2D :");
249  LISTE_MG_FACE::iterator it_face;
250  for(MG_FACE* face=m_mg_geometrie->get_premier_face(it_face);face!=NULL;face=m_mg_geometrie->get_suivant_face(it_face))
251  {
252  if(face->get_lien_maillage()->get_nb()>0) continue;
253  char message[1000];
254  sprintf(message,"[%4li/%li] Maillage de la face id %li",i,nb,face->get_id());
255  affiche(message);
256  if(m2d.maille(face)==FAIL) return FAIL;
257  i++;
258  }
259  }
260  if(Niveau>=3)
261  {
262  long i=1;
263  long nb=m_mg_geometrie->get_nb_mg_volume();
264  MAILLEUR3D m3d(m_mg_maillage,m_mg_geometrie,carte,false);
265  m3d.change_niveau_optimisation(Niveau_opt_3d);
266  m3d.change_priorite_metrique(Priorite_metrique);
267  affiche((char*)"Maillage 3D :");
269  for(MG_VOLUME* volume=m_mg_geometrie->get_premier_volume(it_volume);volume!=NULL;volume=m_mg_geometrie->get_suivant_volume(it_volume))
270  {
271  if(volume->get_lien_maillage()->get_nb()>0) continue;
272  if(volume->est_mince()) continue;
273  char message[1000];
274  sprintf(message,"[%4li/%li] Maillage du volume id %li",i,nb,volume->get_id());
275  affiche(message);
276  if(m3d.maille(volume)==FAIL) return FAIL;
277  i++;
278  }
279  }
280  }
281  else
282  {
283  maill_struct(0.0,1.0,0.0,1.0,0.0,1.0,Gr_nx,Gr_ny,Gr_nz);
286  LISTE_MG_HEXA::iterator it_hexa;
287  TPL_GRILLE<MG_HEXA*> tpl_grille_hexa;
288  tpl_grille_hexa.initialiser(-0.1,-0.1,-0.1,1.1,1.1,1.1,20,20,20);
289  for(MG_HEXA* hexa=m_mg_maillage->get_premier_hexa(it_hexa);hexa!=NULL;hexa=m_mg_maillage->get_suivant_hexa(it_hexa))
290  {
291  tpl_grille_hexa.inserer(hexa);
292  hexa->change_nouveau_numero(-1);
293  }
294  long i_volume=0;
295  long nb_volume=m_mg_geometrie->get_nb_mg_volume();
296  LISTE_MG_VOLUME::iterator it_volume;
297  for(MG_VOLUME*vol=m_mg_geometrie->get_premier_volume(it_volume);vol!=NULL;vol=m_mg_geometrie->get_suivant_volume(it_volume))
298  {
299  TPL_MAP_ENTITE<MG_HEXA*> hexa_trouve;
300  tpl_grille_hexa.rechercher(vol->get_boite_3D(),hexa_trouve);
301  for(MG_HEXA* hexa=hexa_trouve.get_premier(it_hexa);hexa!=NULL;hexa=hexa_trouve.get_suivant(it_hexa))
302  {
303  if(hexa->get_nouveau_numero()<0)
304  {
305  BOITE_3D boite3d=hexa->get_boite_3D();
306  double xyz[3];
307  boite3d.get_centre(xyz);
308  if(OT_GEOMETRIE::est_dans_mg_volume(xyz,vol)==1)
309  {
310  hexa->change_lien_topologie2(vol);
311  vol->get_lien_maillage()->ajouter(hexa);
312  hexa->change_nouveau_numero(vol->get_id());
313  }
314  }
315  }
316  i_volume++;
317  std::cout << i_volume << "/" << nb_volume << std::endl;
318  }
319 
320 
321 
322 
323 
324 
325 
326  }
327 
328  //==================================================================================================
329  //==================================CUT the MESH=====================================================
330  //==================================================================================================
331  affiche((char*)" Decoupage maillage");
332 
333 
334  // m_mg_maillage_old=m_mg_maillage;
335  // m_mg_geometrie_old=m_mg_geometrie;
336  // m_mg_gestionnaire_old=m_mg_gestionnaire;
337  // m_mgcg_modele_old=m_mgcg_modele;
338  // m_mgcg_assemblage_old=m_mgcg_assemblage;
339 
340 
341 
342  int count_seg_in;int count_seg_out;int count_seg_cut;int count_seg_out_one_noded;
343  double dist[2][6];
345 
347  TPL_MAP_ENTITE<MG_SEGMENT*> lstsegout;
348  TPL_MAP_ENTITE<MG_SEGMENT*> lstsegcut;
349  TPL_MAP_ENTITE<MG_SEGMENT*> lstsegoutbutonenoded;
350 
351  double p_cut[3]; double t; double segment_line[3];
352  double eps_check=1e-2; double eps_p_cut=1e-6;
353 
354  TPL_MAP_ENTITE<MG_NOEUD*> lst_node_added;
355  TPL_MAP_ENTITE<MG_NOEUD*>lst_node_on_plane;
356 
357  TPL_MAP_ENTITE<MG_TETRA*> lst_tet_cut;
358  TPL_MAP_ENTITE<MG_TETRA*> lst_tet_cut_to_delete;
359  // TPL_MAP_ENTITE<MG_TETRA*> lst_tet_in;
360  // TPL_MAP_ENTITE<MG_TETRA*> lst_tet_edge_in;
361  // TPL_MAP_ENTITE<MG_TETRA*> lst_tet_edge_out;
362  int nb_segments_cut;
363 
364  TPL_MAP_ENTITE<MG_SEGMENT*> lst_seg_tetra;
365 
366 
367 
368  TPL_MAP_ENTITE<MG_TETRA*> lst_tet_added;
369  TPL_MAP_ENTITE<MG_TRIANGLE*>lst_tri_already_existed;
370  TPL_MAP_ENTITE<MG_NOEUD*> lst_node_in;
371  TPL_LISTE_ENTITE<MG_NOEUD*> lst_node_in_second;
372  TPL_MAP_ENTITE<MG_NOEUD*> lst_node_create_tetra;
373 
374  //=======================================================================================================================
375  //============================================6 Planes of one by one by one cube=========================================
376  //=======================================================================================================================
377  //Plane x=0
378  double P1Coord[3]={0.0,0.5,0.5};
379  double norm1Coord[3]={1.0,0.0,0.0};
380  //Plane y=0
381  double P2Coord[3]={0.5,0.0,0.5};
382  double norm2Coord[3]={0.0,1.0,0.0};
383  //Plane z=0
384  double P3Coord[3]={0.5,0.5,0.0};
385  double norm3Coord[3]={0.0,0.0,1.0};
386  //Plane x=1
387  double P4Coord[3]={1.0,0.5,0.5};
388  double norm4Coord[3]={-1.0,0.0,0.0};
389  //Plane y=1
390  double P5Coord[3]={0.5,1.0,0.5};
391  double norm5Coord[3]={0.0,-1.0,0.0};
392  //Plane z=1
393  double P6Coord[3]={0.5,0.5,1.0};
394  double norm6Coord[3]={0.0,0.0,-1.0};
395 
396  //==================================================================================================
397  //================================================LOOP over 6 Planes================================
398  //==================================================================================================
399 
400 
401  for(int nb_plane=0; nb_plane<6;nb_plane++)
402  {
403  char message[250];
404  sprintf(message," Plan %d",nb_plane+1);
405  affiche(message);
406  count_seg_in=0; count_seg_out=0; count_seg_cut=0; count_seg_out_one_noded=0;
407 
408  std::map<MG_SEGMENT*,MG_NOEUD*> map_correspondance_segment_node;
409  std::map<MG_NOEUD*,MG_SEGMENT*> map_correspondance_node_segment;
410 
411  //===================== Displace nodes too close to edge ==================
412  //=========================================================================
413 
414  bouge_noeud_proche(nb_plane,eps_check);
415 
416  //=====================LOOP over SEGMENTs (2nd Loop)========================
417  //==========================================================================
418  LISTE_MG_SEGMENT::iterator it_seg;
419  for(MG_SEGMENT* seg=m_mg_maillage->get_premier_segment(it_seg);seg!=NULL;seg=m_mg_maillage->get_suivant_segment(it_seg))
420  {
421  OT_VECTEUR_3D coord_no1_seg= seg->get_noeud1()->get_coord();
422  OT_VECTEUR_3D coord_no2_seg= seg->get_noeud2()->get_coord();
423 
424  //================================== distmn : distance from node number m from plane number n =============================
425  //=========================================================================================================================
426  dist[0][0]=check.Dist3D_Point_Plan(norm1Coord,P1Coord,coord_no1_seg);
427  dist[1][0]=check.Dist3D_Point_Plan(norm1Coord,P1Coord,coord_no2_seg);
428 
429  dist[0][1]=check.Dist3D_Point_Plan(norm2Coord,P2Coord,coord_no1_seg);
430  dist[1][1]=check.Dist3D_Point_Plan(norm2Coord,P2Coord,coord_no2_seg);
431 
432  dist[0][2]=check.Dist3D_Point_Plan(norm3Coord,P3Coord,coord_no1_seg);
433  dist[1][2]=check.Dist3D_Point_Plan(norm3Coord,P3Coord,coord_no2_seg);
434 
435  dist[0][3]=check.Dist3D_Point_Plan(norm4Coord,P4Coord,coord_no1_seg);
436  dist[1][3]=check.Dist3D_Point_Plan(norm4Coord,P4Coord,coord_no2_seg);
437 
438  dist[0][4]=check.Dist3D_Point_Plan(norm5Coord,P5Coord,coord_no1_seg);
439  dist[1][4]=check.Dist3D_Point_Plan(norm5Coord,P5Coord,coord_no2_seg);
440 
441  dist[0][5]=check.Dist3D_Point_Plan(norm6Coord,P6Coord,coord_no1_seg);
442  dist[1][5]=check.Dist3D_Point_Plan(norm6Coord,P6Coord,coord_no2_seg);
443  //=======================================================================================================
444  //==================Segment is INSIDE or On the Plane====================================================
445  if(dist[0][nb_plane]>=0 && dist[1][nb_plane]>=0)
446  {
447  count_seg_in=count_seg_in+1;
448  lstsegin.ajouter(lstsegin.get(it_seg));
449  }
450  //======================================================================================================
451  //====================Segment is OUTSIDE=================================================================
452 
453  else if(dist[0][nb_plane]<0 && dist[1][nb_plane]<0)
454  {
455  count_seg_out=count_seg_out+1;
456  lstsegout.ajouter(lstsegout.get(it_seg));
457  }
458  //======================================================================================================
459  //====================================Segment is CUT with one of SIX PLANES==============================
460 
461  else if((dist[0][nb_plane]<0 && dist[1][nb_plane]>0) || (dist[0][nb_plane]>0 && dist[1][nb_plane]<0))
462  {
463  segment_line[0]=coord_no2_seg[0]-coord_no1_seg[0];
464  segment_line[1]=coord_no2_seg[1]-coord_no1_seg[1];
465  segment_line[2]=coord_no2_seg[2]-coord_no1_seg[2];
466 
467  if(nb_plane==0)
468  {
469  if (((norm1Coord[0]*segment_line[0])+(norm1Coord[1]*segment_line[1])+(norm1Coord[2]*segment_line[2]))==0) return FAIL;
470  t=((norm1Coord[0]*(P1Coord[0]-coord_no1_seg[0]))+(norm1Coord[1]*(P1Coord[1]-coord_no1_seg[1]))+(norm1Coord[2]*(P1Coord[2]-coord_no1_seg[2])))/((norm1Coord[0]*segment_line[0])+(norm1Coord[1]*segment_line[1])+(norm1Coord[2]*segment_line[2]));
471 
472  p_cut[0]=coord_no1_seg[0]+(t*segment_line[0]);
473  p_cut[1]=coord_no1_seg[1]+(t*segment_line[1]);
474  p_cut[2]=coord_no1_seg[2]+(t*segment_line[2]);
475 
476  //========================To check if it is on the plane or just too close==================================
477 
478  if((0<p_cut[0]) && (p_cut[0]<eps_p_cut))
479  {
480  p_cut[0]=0;
481  }
482 
483  if((-eps_p_cut < p_cut[0]) && (p_cut[0]<0))
484 
485  {
486  p_cut[0]=0;
487 
488  }
489  }
490  if(nb_plane==1)
491  {
492  if (((norm2Coord[0]*segment_line[0])+(norm2Coord[1]*segment_line[1])+(norm2Coord[2]*segment_line[2]))==0) return FAIL;
493  t=((norm2Coord[0]*(P2Coord[0]-coord_no1_seg[0]))+(norm2Coord[1]*(P2Coord[1]-coord_no1_seg[1]))+(norm2Coord[2]*(P2Coord[2]-coord_no1_seg[2])))/((norm2Coord[0]*segment_line[0])+(norm2Coord[1]*segment_line[1])+(norm2Coord[2]*segment_line[2]));
494 
495  p_cut[0]=coord_no1_seg[0]+(t*segment_line[0]);
496  p_cut[1]=coord_no1_seg[1]+(t*segment_line[1]);
497  p_cut[2]=coord_no1_seg[2]+(t*segment_line[2]);
498 
499  if((0<p_cut[1]) && (p_cut[1]<eps_p_cut))
500  {
501  p_cut[1]=0;
502  }
503 
504  if((-eps_p_cut < p_cut[1]) && (p_cut[1]<0))
505  {
506  p_cut[1]=0;
507 
508 
509  }
510  }
511  if(nb_plane==2)
512  {
513  if (((norm3Coord[0]*segment_line[0])+(norm3Coord[1]*segment_line[1])+(norm3Coord[2]*segment_line[2]))==0) return FAIL;
514  t=((norm3Coord[0]*(P3Coord[0]-coord_no1_seg[0]))+(norm3Coord[1]*(P3Coord[1]-coord_no1_seg[1]))+(norm3Coord[2]*(P3Coord[2]-coord_no1_seg[2])))/((norm3Coord[0]*segment_line[0])+(norm3Coord[1]*segment_line[1])+(norm3Coord[2]*segment_line[2]));
515 
516  p_cut[0]=coord_no1_seg[0]+(t*segment_line[0]);
517  p_cut[1]=coord_no1_seg[1]+(t*segment_line[1]);
518  p_cut[2]=coord_no1_seg[2]+(t*segment_line[2]);
519 
520  if((0<p_cut[2]) && (p_cut[2]<eps_p_cut))
521  {
522  p_cut[2]=0;
523  }
524 
525  if((-eps_p_cut < p_cut[2]) && (p_cut[2]<0))
526  {
527  p_cut[2]=0;
528 
529  }
530  }
531  if(nb_plane==3)
532  {
533  if (((norm4Coord[0]*segment_line[0])+(norm4Coord[1]*segment_line[1])+(norm4Coord[2]*segment_line[2]))==0) return FAIL;
534  t=((norm4Coord[0]*(P4Coord[0]-coord_no1_seg[0]))+(norm4Coord[1]*(P4Coord[1]-coord_no1_seg[1]))+(norm4Coord[2]*(P4Coord[2]-coord_no1_seg[2])))/((norm4Coord[0]*segment_line[0])+(norm4Coord[1]*segment_line[1])+(norm4Coord[2]*segment_line[2]));
535 
536  p_cut[0]=coord_no1_seg[0]+(t*segment_line[0]);
537  p_cut[1]=coord_no1_seg[1]+(t*segment_line[1]);
538 
539  p_cut[2]=coord_no1_seg[2]+(t*segment_line[2]);
540 
541  if((1<p_cut[0]) && (p_cut[0]<1+eps_p_cut))
542  {
543  p_cut[0]=1;
544  }
545 
546  if((1-eps_p_cut < p_cut[0]) && (p_cut[0]<1))
547  {
548  p_cut[0]=1;
549 
550  }
551  }
552  if(nb_plane==4)
553  {
554  if (((norm5Coord[0]*segment_line[0])+(norm5Coord[1]*segment_line[1])+(norm5Coord[2]*segment_line[2]))==0) return FAIL;
555  t=((norm5Coord[0]*(P5Coord[0]-coord_no1_seg[0]))+(norm5Coord[1]*(P5Coord[1]-coord_no1_seg[1]))+(norm5Coord[2]*(P5Coord[2]-coord_no1_seg[2])))/((norm5Coord[0]*segment_line[0])+(norm5Coord[1]*segment_line[1])+(norm5Coord[2]*segment_line[2]));
556 
557  p_cut[0]=coord_no1_seg[0]+(t*segment_line[0]);
558  p_cut[1]=coord_no1_seg[1]+(t*segment_line[1]);
559  p_cut[2]=coord_no1_seg[2]+(t*segment_line[2]);
560 
561  if((1<p_cut[1]) && (p_cut[1]<1+eps_p_cut))
562  {
563  p_cut[1]=1;
564  }
565 
566  if((1-eps_p_cut < p_cut[1]) && (p_cut[1]<1))
567  {
568  p_cut[1]=1;
569 
570  }
571  }
572  if(nb_plane==5)
573  {
574  if (((norm6Coord[0]*segment_line[0])+(norm6Coord[1]*segment_line[1])+(norm6Coord[2]*segment_line[2]))==0) return FAIL;
575  t=((norm6Coord[0]*(P6Coord[0]-coord_no1_seg[0]))+(norm6Coord[1]*(P6Coord[1]-coord_no1_seg[1]))+(norm6Coord[2]*(P6Coord[2]-coord_no1_seg[2])))/((norm6Coord[0]*segment_line[0])+(norm6Coord[1]*segment_line[1])+(norm6Coord[2]*segment_line[2]));
576 
577  p_cut[0]=coord_no1_seg[0]+(t*segment_line[0]);
578  p_cut[1]=coord_no1_seg[1]+(t*segment_line[1]);
579  p_cut[2]=coord_no1_seg[2]+(t*segment_line[2]);
580 
581  if((1<p_cut[2]) && (p_cut[2]<1+eps_p_cut))
582  {
583  p_cut[2]=1;
584  }
585 
586  if((1-eps_p_cut < p_cut[2]) && (p_cut[2]<1))
587  {
588  p_cut[2]=1;
589 
590  }
591  }
592  count_seg_cut=count_seg_cut+1;
593  lstsegcut.ajouter(lstsegcut.get(it_seg));
594 
595  MG_NOEUD* node_added=new MG_NOEUD(seg->get_lien_topologie(),p_cut[0],p_cut[1],p_cut[2],MAGIC::ORIGINE::MAILLEUR_AUTO);
596  // MG_NOEUD* node_added=new MG_NOEUD(topo_new_node,p_cut[0],p_cut[1],p_cut[2],MAGIC::ORIGINE::MAILLEUR_AUTO);
597 
598  m_mg_maillage->ajouter_mg_noeud(node_added);
599  node_added->get_lien_topologie()->get_lien_maillage()->ajouter(node_added);
600 
601  lst_node_added.ajouter(node_added);
602  //------------------------------pairing this node to its segment----------------------------------
603  map_correspondance_segment_node.insert(std::pair<MG_SEGMENT*,MG_NOEUD*>(seg,node_added));
604  map_correspondance_node_segment.insert(std::pair<MG_NOEUD*,MG_SEGMENT*>(node_added,seg));
605  }
606  //======================================================================================================
607  //=======================Segment node is on one of SIX PLANES and the other is outside===================
608  else
609  {
610  if(dist[0][nb_plane]>=0)
611  {
612  count_seg_out_one_noded=count_seg_out_one_noded+1;
613  lstsegoutbutonenoded.ajouter(lstsegoutbutonenoded.get(it_seg));
614  }
615  else if(dist[1][nb_plane]>=0)
616  {
617  count_seg_out_one_noded=count_seg_out_one_noded+1;
618  lstsegoutbutonenoded.ajouter(lstsegoutbutonenoded.get(it_seg));
619  }
620 
621 
622  }
623 
624  }
625  if(count_seg_in+count_seg_out+count_seg_cut+count_seg_out_one_noded!=m_mg_maillage->get_nb_mg_segment()) return FAIL;
626 
627 
628  //==========================================================================
629  //===================================to FIND nb of TETRAs cut===============
630 
631  get_lst_tetra_cut(nb_plane,lst_tet_cut,lst_tet_cut_to_delete);
632  // printf(" Number of %d tetr\n",lst_tet_cut.get_nb());
633 
634  //==========================================================================
635  //=======================================Definitions========================
636  //==========================================================================
637 
638  int nb_tet_4nodes=0;
639  int nb_tet_4nodes_accepted=0;
640 
641  int nb_prism_6nodes_3original=0;
642  int nb_tet_6nodes_accepted=0;
643  int nb_tet_6nodes_accepted_3original=0;
644  int nb_tet_6nodes_accepted_3original_deadend=0;
645  int nb_prism_6nodes_2original=0;
646  int nb_prism_5nodes_accepted=0;
647  int nb_tet_6nodes_accepted_2original=0;
648  int nb_tet_5nodes_accepted=0;
649 
650 
652  std::map<MG_NOEUD*,MG_NOEUD*> map_correspondance_node_node_in;
653 
654  std::map<MG_NOEUD*,MG_NOEUD*> map_correspondance_node_node_out;
655  LISTE_MG_TETRA::iterator it_tet_cutt;
656 
657  //===================================================================================================
658  //=======================================NEXT LOOP to CUT TETRAs=====================================
659  //===================================================================================================
660  for(MG_TETRA* tetra_cutt=lst_tet_cut.get_premier(it_tet_cutt);tetra_cutt!=NULL;tetra_cutt=lst_tet_cut.get_suivant(it_tet_cutt))
661  {
662  nb_segments_cut=0;
663 
664 
665  lst_seg_tetra.ajouter(tetra_cutt->get_triangle1()->get_segment1());
666  lst_seg_tetra.ajouter(tetra_cutt->get_triangle1()->get_segment2());
667  lst_seg_tetra.ajouter(tetra_cutt->get_triangle1()->get_segment3());
668 
669  lst_seg_tetra.ajouter(tetra_cutt->get_triangle2()->get_segment1());
670  lst_seg_tetra.ajouter(tetra_cutt->get_triangle2()->get_segment2());
671  lst_seg_tetra.ajouter(tetra_cutt->get_triangle2()->get_segment3());
672 
673  lst_seg_tetra.ajouter(tetra_cutt->get_triangle3()->get_segment1());
674  lst_seg_tetra.ajouter(tetra_cutt->get_triangle3()->get_segment2());
675  lst_seg_tetra.ajouter(tetra_cutt->get_triangle3()->get_segment3());
676 
677  lst_seg_tetra.ajouter(tetra_cutt->get_triangle4()->get_segment1());
678  lst_seg_tetra.ajouter(tetra_cutt->get_triangle4()->get_segment2());
679  lst_seg_tetra.ajouter(tetra_cutt->get_triangle4()->get_segment3());
680 
681 
682  LISTE_MG_SEGMENT::iterator it_segment;
683  for(MG_SEGMENT* segment_tetra=lst_seg_tetra.get_premier(it_segment);segment_tetra!=NULL;segment_tetra=lst_seg_tetra.get_suivant(it_segment))
684  {
685 
686  if(lstsegcut.existe(segment_tetra))
687  {
688  nb_segments_cut=nb_segments_cut+1;
689  lst_node_in.ajouter(map_correspondance_segment_node.find(segment_tetra)->second);
690  lst_node_in_second.ajouter(map_correspondance_segment_node.find(segment_tetra)->second);
691  lst_node_create_tetra.ajouter(map_correspondance_segment_node.find(segment_tetra)->second);
692 
693  if(nb_plane==0)
694  {
695  if(check.Dist3D_Point_Plan(norm1Coord,P1Coord,segment_tetra->get_noeud1()->get_coord())>=0)
696  {
697  lst_node_in.ajouter(segment_tetra->get_noeud1());
698 
699  lst_node_in_second.ajouter(segment_tetra->get_noeud1());
700 
701  //---------------------------------pairing this node to node in the middle------------------
702  map_correspondance_node_node_out.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud2()));
703 
704  map_correspondance_node_node_in.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud1()));
705  }
706  //else
707  if(check.Dist3D_Point_Plan(norm1Coord,P1Coord,segment_tetra->get_noeud2()->get_coord())>=0)
708  {
709  lst_node_in.ajouter(segment_tetra->get_noeud2());
710  lst_node_in_second.ajouter(segment_tetra->get_noeud2());
711 
712  map_correspondance_node_node_in.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud2()));
713 
714  map_correspondance_node_node_out.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud1()));
715  }
716  }
717  if(nb_plane==1)
718  {
719  if(check.Dist3D_Point_Plan(norm2Coord,P2Coord,segment_tetra->get_noeud1()->get_coord())>=0)
720  {
721 
722  lst_node_in.ajouter(segment_tetra->get_noeud1());
723  lst_node_in_second.ajouter(segment_tetra->get_noeud1());
724  //---------------------------------pairing this node to node in the middle------------------
725 
726  map_correspondance_node_node_in.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud1()));
727 
728  map_correspondance_node_node_out.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud2()));
729  }
730  if(check.Dist3D_Point_Plan(norm2Coord,P2Coord,segment_tetra->get_noeud2()->get_coord())>=0)
731  {
732 
733  lst_node_in.ajouter(segment_tetra->get_noeud2());
734  lst_node_in_second.ajouter(segment_tetra->get_noeud2());
735  //---------------------------------pairing this node to node in the middle------------------
736 
737  map_correspondance_node_node_in.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud2()));
738 
739  map_correspondance_node_node_out.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud1()));
740  }
741  }
742  if(nb_plane==2)
743  {
744  if(check.Dist3D_Point_Plan(norm3Coord,P3Coord,segment_tetra->get_noeud1()->get_coord())>=0)
745 
746  {
747 
748  lst_node_in.ajouter(segment_tetra->get_noeud1());
749  lst_node_in_second.ajouter(segment_tetra->get_noeud1());
750  //---------------------------------pairing this node to node in the middle------------------
751 
752  map_correspondance_node_node_in.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud1()));
753 
754  map_correspondance_node_node_out.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud2()));
755  }
756  if(check.Dist3D_Point_Plan(norm3Coord,P3Coord,segment_tetra->get_noeud2()->get_coord())>=0)
757  {
758 
759  lst_node_in.ajouter(segment_tetra->get_noeud2());
760 
761  lst_node_in_second.ajouter(segment_tetra->get_noeud2());
762  //---------------------------------pairing this node to node in the middle------------------
763 
764  map_correspondance_node_node_in.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud2()));
765 
766  map_correspondance_node_node_out.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud1()));
767  }
768 
769  }
770  if(nb_plane==3)
771  {
772  if(check.Dist3D_Point_Plan(norm4Coord,P4Coord,segment_tetra->get_noeud1()->get_coord())>=0)
773  {
774 
775  lst_node_in.ajouter(segment_tetra->get_noeud1());
776  lst_node_in_second.ajouter(segment_tetra->get_noeud1());
777 
778  //---------------------------------pairing this node to node in the middle------------------
779 
780  map_correspondance_node_node_in.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud1()));
781 
782  map_correspondance_node_node_out.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud2()));
783  }
784  if(check.Dist3D_Point_Plan(norm4Coord,P4Coord,segment_tetra->get_noeud2()->get_coord())>=0)
785  {
786 
787 
788  lst_node_in.ajouter(segment_tetra->get_noeud2());
789  lst_node_in_second.ajouter(segment_tetra->get_noeud2());
790  //---------------------------------pairing this node to node in the middle------------------
791 
792  map_correspondance_node_node_in.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud2()));
793 
794  map_correspondance_node_node_out.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud1()));
795  }
796  }
797  if(nb_plane==4)
798  {
799  if(check.Dist3D_Point_Plan(norm5Coord,P5Coord,segment_tetra->get_noeud1()->get_coord())>=0)
800  {
801 
802  lst_node_in.ajouter(segment_tetra->get_noeud1());
803  lst_node_in_second.ajouter(segment_tetra->get_noeud1());
804  //---------------------------------pairing this node to node in the middle------------------
805 
806  map_correspondance_node_node_in.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud1()));
807 
808  map_correspondance_node_node_out.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud2()));
809  }
810  if(check.Dist3D_Point_Plan(norm5Coord,P5Coord,segment_tetra->get_noeud2()->get_coord())>=0)
811 
812  {
813 
814  lst_node_in.ajouter(segment_tetra->get_noeud2());
815  lst_node_in_second.ajouter(segment_tetra->get_noeud2());
816  //---------------------------------pairing this node to node in the middle------------------
817 
818  map_correspondance_node_node_in.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud2()));
819 
820  map_correspondance_node_node_out.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud1()));
821  }
822  }
823  if(nb_plane==5)
824  {
825  if(check.Dist3D_Point_Plan(norm6Coord,P6Coord,segment_tetra->get_noeud1()->get_coord())>=0)
826  {
827 
828  lst_node_in.ajouter(segment_tetra->get_noeud1());
829  lst_node_in_second.ajouter(segment_tetra->get_noeud1());
830  //---------------------------------pairing this node to node in the middle------------------
831 
832  map_correspondance_node_node_in.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud1()));
833 
834  map_correspondance_node_node_out.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud2()));
835  }
836  if(check.Dist3D_Point_Plan(norm6Coord,P6Coord,segment_tetra->get_noeud2()->get_coord())>=0)
837  {
838 
839  lst_node_in.ajouter(segment_tetra->get_noeud2());
840  lst_node_in_second.ajouter(segment_tetra->get_noeud2());
841  //---------------------------------pairing this node to node in the middle------------------
842 
843  map_correspondance_node_node_in.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud2()));
844 
845  map_correspondance_node_node_out.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud1()));
846  }
847  }
848  }
849  if(lstsegoutbutonenoded.existe(segment_tetra))
850  {
851 
852  if(nb_plane==0)
853  {
854  if(check.Dist3D_Point_Plan(norm1Coord,P1Coord,segment_tetra->get_noeud1()->get_coord())>=0)
855  {
856  nb_segments_cut=nb_segments_cut+1;
857 
858  lst_node_in.ajouter(segment_tetra->get_noeud1());
859  lst_node_in_second.ajouter(segment_tetra->get_noeud1());
860  }
861  else if(check.Dist3D_Point_Plan(norm1Coord,P1Coord,segment_tetra->get_noeud2()->get_coord())>=0)
862  {
863  nb_segments_cut=nb_segments_cut+1;
864  lst_node_in.ajouter(segment_tetra->get_noeud2());
865  lst_node_in_second.ajouter(segment_tetra->get_noeud2());
866 
867  }
868 
869 
870  else{
871  printf("ERROR\n\n");
872  }
873  }
874  if(nb_plane==1)
875  {
876  if(check.Dist3D_Point_Plan(norm2Coord,P2Coord,segment_tetra->get_noeud1()->get_coord())>=0)
877  {
878 
879  nb_segments_cut=nb_segments_cut+1;
880 
881  lst_node_in.ajouter(segment_tetra->get_noeud1());
882  lst_node_in_second.ajouter(segment_tetra->get_noeud1());
883  }
884 
885  else if(check.Dist3D_Point_Plan(norm2Coord,P2Coord,segment_tetra->get_noeud2()->get_coord())>=0)
886  {
887  nb_segments_cut=nb_segments_cut+1;
888 
889  lst_node_in.ajouter(segment_tetra->get_noeud2());
890  lst_node_in_second.ajouter(segment_tetra->get_noeud2());
891  }
892 
893  else{
894  printf("ERROR\n\n");
895  }
896  }
897  if(nb_plane==2)
898  {
899  if(check.Dist3D_Point_Plan(norm3Coord,P3Coord,segment_tetra->get_noeud1()->get_coord())>=0)
900  {
901 
902  nb_segments_cut=nb_segments_cut+1;
903 
904  lst_node_in.ajouter(segment_tetra->get_noeud1());
905  lst_node_in_second.ajouter(segment_tetra->get_noeud1());
906  }
907 
908  else if(check.Dist3D_Point_Plan(norm3Coord,P3Coord,segment_tetra->get_noeud2()->get_coord())>=0)
909  {
910  nb_segments_cut=nb_segments_cut+1;
911 
912 
913  lst_node_in.ajouter(segment_tetra->get_noeud2());
914  lst_node_in_second.ajouter(segment_tetra->get_noeud2());
915  }
916 
917  else{
918  printf("ERROR\n\n");
919  }
920 
921  }
922  if(nb_plane==3)
923  {
924  if(check.Dist3D_Point_Plan(norm4Coord,P4Coord,segment_tetra->get_noeud1()->get_coord())>=0)
925  {
926 
927  nb_segments_cut=nb_segments_cut+1;
928 
929 
930  lst_node_in.ajouter(segment_tetra->get_noeud1());
931  lst_node_in_second.ajouter(segment_tetra->get_noeud1());
932  }
933 
934  else if(check.Dist3D_Point_Plan(norm4Coord,P4Coord,segment_tetra->get_noeud2()->get_coord())>=0)
935  {
936  nb_segments_cut=nb_segments_cut+1;
937 
938  lst_node_in.ajouter(segment_tetra->get_noeud2());
939  lst_node_in_second.ajouter(segment_tetra->get_noeud2());
940  }
941 
942  else{
943  printf("ERROR\n\n");
944  }
945  }
946  if(nb_plane==4)
947  {
948  if(check.Dist3D_Point_Plan(norm5Coord,P5Coord,segment_tetra->get_noeud1()->get_coord())>=0)
949  {
950 
951  nb_segments_cut=nb_segments_cut+1;
952 
953  lst_node_in.ajouter(segment_tetra->get_noeud1());
954  lst_node_in_second.ajouter(segment_tetra->get_noeud1());
955  }
956 
957  else if(check.Dist3D_Point_Plan(norm5Coord,P5Coord,segment_tetra->get_noeud2()->get_coord())>=0)
958  { nb_segments_cut=nb_segments_cut+1;
959 
960  lst_node_in.ajouter(segment_tetra->get_noeud2());
961  lst_node_in_second.ajouter(segment_tetra->get_noeud2());
962  }
963 
964  else{
965  printf("ERROR\n\n");
966  }
967  }
968  if(nb_plane==5)
969  {
970  if(check.Dist3D_Point_Plan(norm6Coord,P6Coord,segment_tetra->get_noeud1()->get_coord())>=0)
971  {
972 
973  nb_segments_cut=nb_segments_cut+1;
974 
975  lst_node_in.ajouter(segment_tetra->get_noeud1());
976  lst_node_in_second.ajouter(segment_tetra->get_noeud1());
977  }
978 
979  else if(check.Dist3D_Point_Plan(norm6Coord,P6Coord,segment_tetra->get_noeud2()->get_coord())>=0)
980  {
981  nb_segments_cut=nb_segments_cut+1;
982 
983  lst_node_in.ajouter(segment_tetra->get_noeud2());
984  lst_node_in_second.ajouter(segment_tetra->get_noeud2());
985  }
986 
987  else{
988  printf("ERROR\n\n");
989  }
990  }
991  }
992  }
993 
994  //==================================================================================================================
995  //=================================CREATE TETRA with NEW NODES in LIST lst_node_in==================================
996  //==================================================================================================================
997 
998  if (lst_node_in.get_nb()==4)
999  {
1000  nb_tet_4nodes=nb_tet_4nodes+1;
1001  generer_tetra_4node(tetra_cutt,lst_node_in,nb_tet_4nodes_accepted);
1002  }
1003  else if ((lst_node_in.get_nb()==6) && (nb_segments_cut==3))
1004  {
1005 
1006  nb_prism_6nodes_3original=nb_prism_6nodes_3original+1;
1007  generer_tetra_6node_3seg(tetra_cutt,lst_node_in,lst_node_in_second,nb_tet_6nodes_accepted,nb_tet_6nodes_accepted_3original, nb_tet_6nodes_accepted_3original_deadend);
1008 
1009  //----------------------------------------------------
1010  }
1011  else if ((lst_node_in.get_nb()==6) && (nb_segments_cut==4))
1012  {
1013  nb_prism_6nodes_2original=nb_prism_6nodes_2original+1;
1014  generer_tetra_6node_4seg(tetra_cutt,lst_node_in,lst_node_in_second, nb_tet_6nodes_accepted,nb_tet_6nodes_accepted_2original,map_correspondance_node_node_out);
1015  }
1016  else if (lst_node_in.get_nb()==5)
1017  {
1018  nb_prism_5nodes_accepted= nb_prism_5nodes_accepted+1;
1019  generer_tetra_5node(tetra_cutt,lst_node_in,nb_tet_5nodes_accepted,map_correspondance_node_node_in);
1020  }
1021  else
1022  {
1023  printf("oops %d nb of nodes\n",lst_node_in.get_nb());
1024  return FAIL;
1025  }
1026 
1027 
1028  map_correspondance_node_node_in.clear();
1029  map_correspondance_node_node_out.clear();
1030  lst_seg_tetra.vide();
1031  lst_node_in.vide();
1032  lst_node_in_second.vide();
1033  lst_tri_already_existed.vide();
1034 
1035  }
1036 
1037 
1038  if(nb_tet_4nodes!=nb_tet_4nodes_accepted)
1039  {
1040  printf(" 4node problem \n\n");
1041  return FAIL;
1042  }
1043  if(nb_tet_6nodes_accepted_2original!=nb_prism_6nodes_2original*3)
1044  {
1045  printf(" 6-2node problem \n\n");
1046  return FAIL;
1047  }
1048  if(nb_tet_6nodes_accepted_3original!=((nb_prism_6nodes_3original-(nb_tet_6nodes_accepted_3original_deadend/8))*3))
1049  {
1050  printf(" 6-3 node problem \n\n");
1051  return FAIL;
1052  }
1053  if(nb_tet_5nodes_accepted!=nb_prism_5nodes_accepted*2)
1054  {
1055  printf(" 5node problem \n\n");
1056  return FAIL;
1057  }
1058  //------------------------------------------------------------------------------
1059  lstsegcut.vide();
1060  lstsegin.vide();
1061  lstsegout.vide();
1062  lstsegoutbutonenoded.vide();
1063  lst_node_create_tetra.vide();
1064  lst_node_added.vide();
1065  lst_tet_cut.vide();
1066  // lst_tet_in.vide();
1067  // lst_tet_edge_in.vide();
1068  // lst_tet_edge_out.vide();
1069 
1070  //=======================================Remove cut and outside tetras=================================================
1071  LISTE_MG_TETRA::iterator it_tet_cut;
1072  for(MG_TETRA* tetra_cut=lst_tet_cut_to_delete.get_premier(it_tet_cut);tetra_cut!=NULL;tetra_cut=lst_tet_cut_to_delete.get_suivant(it_tet_cut))
1073  {
1074 
1075  m_mg_maillage->supprimer_mg_tetraid(tetra_cut->get_id());
1076  }
1077 
1078  lst_tet_cut_to_delete.vide();
1079  map_correspondance_segment_node.clear();
1080  map_correspondance_node_segment.clear();
1081  if( nb_plane==0)
1082  {
1083  m_mg_gestionnaire->enregistrer("cut_plane_0.magic");
1084  }
1085 
1086  if( nb_plane==1)
1087  {
1088  m_mg_gestionnaire->enregistrer("cut_plane_1.magic");
1089  }
1090  if( nb_plane==2)
1091  {
1092  m_mg_gestionnaire->enregistrer("cut_plane_2.magic");
1093  }
1094  if( nb_plane==3)
1095  {
1096  m_mg_gestionnaire->enregistrer("cut_plane_3.magic");
1097  }
1098  if( nb_plane==4)
1099  {
1100  m_mg_gestionnaire->enregistrer("cut_plane_4.magic");
1101  }
1102  if( nb_plane==5)
1103  {
1104  m_mg_gestionnaire->enregistrer("cut_plane_5.magic");
1105  }
1106  }
1107 
1108  //======================================================================================
1109  //---------------------------------End OF 6 PLANES LOOP---------------------------------
1110  //======================================================================================
1111  // int nbtetra22=m_mg_gestionnaire->get_mg_maillage(0)->get_nb_mg_tetra();
1112  // int nbtri22=m_mg_maillage->get_nb_mg_triangle();
1113  // int nbsegment22=m_mg_maillage->get_nb_mg_segment();
1114  // int nbnode22=m_mg_maillage->get_nb_mg_noeud();
1115  // printf(" Number of %d nodes, %d segments, %d triangles, %d tetra\n",nbnode22,nbsegment22,nbtri22,nbtetra22);
1116 
1117  //=============================GENERATION of VIRTUAL GEOMETRY==============================================
1118  //=========================================================================================================
1119  affiche((char*)" Generation geometrie virtuelle");
1121 
1122  //=================Mesh Optimization====================================================
1123  //=====================================================================
1124  int nb_element_3D_1=0;
1125  double qualite_min_3D_1=std::numeric_limits< double >::max();
1126  double qualite_max_3D_1=std::numeric_limits< double >::min();
1127  double qualite_moyenne_3D_1=0;
1128  std::vector<double> vector_qualite_3D_1;
1129 
1130  LISTE_MG_TETRA::iterator it_tetra_1;
1131  for(MG_TETRA* tet_1=mai_virtu->get_premier_tetra(it_tetra_1);tet_1!=NULL;tet_1=mai_virtu->get_suivant_tetra(it_tetra_1))
1132  {
1133  double qual=OPERATEUR::qualite_tetra(tet_1->get_noeud1()->get_coord(),tet_1->get_noeud2()->get_coord(),tet_1->get_noeud3()->get_coord(),tet_1->get_noeud4()->get_coord());
1134  vector_qualite_3D_1.push_back(qual);
1135  if(qual<qualite_min_3D_1) qualite_min_3D_1=qual;
1136  if(qual>qualite_max_3D_1) qualite_max_3D_1=qual;
1137 
1138  qualite_moyenne_3D_1+=qual;
1139  nb_element_3D_1++;
1140  if(qual<0.000001)
1141  {
1142  printf("quality !!!!!!!!!!!!\n\n");
1143  return FAIL;
1144  }
1145  }
1146  qualite_moyenne_3D_1 = qualite_moyenne_3D_1/nb_element_3D_1;
1147  // printf(" Quality moyen %f , minimum %f, maximum %f\n",qualite_moyenne_3D_1, qualite_min_3D_1,qualite_max_3D_1);
1148 
1149 
1150  LISTE_MG_SEGMENT::iterator it_s;
1151  for(MG_SEGMENT* segg=mai_virtu->get_premier_segment(it_s);segg!=NULL;segg=mai_virtu->get_suivant_segment(it_s))
1152  {
1153  // printf("%lu jnjnlnlklk\n\n",segg->get_id());
1154  if(segg->get_lien_topologie()==NULL)
1155  {
1156  printf("quality !!!!!!!!!!!!\n\n");
1157  }
1158 }
1159 
1160 
1161 
1162  //-------------------------------------------------------------------------------
1163  affiche((char*)" Optimisation du maillage decoupe");
1164  int niveau_optimisation = (int)param->get_valeur((char*)"Niveau_opt_3d");
1165  char mess[255];
1166 
1167 
1168 
1169 
1170  for(int i=0;i<geo_virtu->get_nb_mg_volume();i++)
1171  {
1172  MG_VOLUME *mgvol=geo_virtu->get_mg_volume(i);
1173 
1174  MAILLEUR3D_OPTIMISATION_GEOMETRIE_VIRTUELLE opt(mai_virtu,niveau_optimisation);
1175  //opt.active_affichage(fonc_affiche);
1176  opt.optimise(mgvol);
1177  }
1178 
1179  //----------------------------------------------------------------------
1180  int nb_element_3D=0;
1181  double qualite_min_3D=std::numeric_limits< double >::max();
1182  double qualite_max_3D=std::numeric_limits< double >::min();
1183  double qualite_moyenne_3D=0;
1184  std::vector<double> vector_qualite_3D;
1185 
1186  LISTE_MG_TETRA::iterator it_tetra;
1187  for(MG_TETRA* tet=mai_virtu->get_premier_tetra(it_tetra);tet!=NULL;tet=mai_virtu->get_suivant_tetra(it_tetra))
1188  {
1189 
1190  double qual=OPERATEUR::qualite_tetra(tet->get_noeud1()->get_coord(),tet->get_noeud2()->get_coord(),tet->get_noeud3()->get_coord(),tet->get_noeud4()->get_coord());
1191  vector_qualite_3D.push_back(qual);
1192 
1193  if(qual<qualite_min_3D) qualite_min_3D=qual;
1194  if(qual>qualite_max_3D) qualite_max_3D=qual;
1195  qualite_moyenne_3D+=qual;
1196  nb_element_3D++;
1197 
1198  }
1199  qualite_moyenne_3D = qualite_moyenne_3D/nb_element_3D;
1200  char message[1000];
1201  sprintf(message," Qualite moyen %f, minimum %f, maximum %f",qualite_moyenne_3D, qualite_min_3D,qualite_max_3D);
1202  affiche((char*)message);
1203 
1204 
1205  // LISTE_MG_SEGMENT::iterator it_seg;
1206  // for (MG_SEGMENT* seg=mai_virtu->get_premier_segment(it_seg);seg!=NULL;seg=mai_virtu->get_suivant_segment(it_seg))
1207  // {
1208  // if (seg->get_lien_topologie()!=NULL)
1209  // if (seg->get_lien_topologie()->get_dimension()!=1)
1210  // seg->change_lien_topologie2(NULL);
1211  // }
1212  // LISTE_MG_SEGMENT::iterator it_s;
1213 // for(MG_SEGMENT* segg=mai_virtu->get_premier_segment(it_s);segg!=NULL;segg=mai_virtu->get_suivant_segment(it_s))
1214  // {
1215  // printf("%lu jnjnlnlklk\n\n",segg->get_id());
1216  // if(segg->get_lien_topologie()==NULL)
1217  // {
1218  // printf("quality !!!!!!!!!!!!\n\n");
1219  // }
1220 //}
1221  // gestionnaire_virtu->enregistrer("virtufnallll.magic");
1222 
1223 
1224 
1225  ot_cpu.ajouter_etape((char*)"generation_maillage");
1226  double temps_generation_maillage;
1227  ot_cpu.get_etape((char*)"generation_maillage",temps_generation_maillage);
1228  change_temps_maillage(get_temps_maillage()+temps_generation_maillage);
1229  return OK;
1230 
1231 
1232 }
1233 void MSTRUCT_VES_DECOUP::bouge_noeud_proche(int plan_nb,double eps_check)
1234  {
1236  double dist[2][6];
1237 
1238  //Plane x=0
1239  double P1Coord[3]={0.0,0.5,0.5};
1240  double norm1Coord[3]={1.0,0.0,0.0};
1241  //Plane y=0
1242  double P2Coord[3]={0.5,0.0,0.5};
1243  double norm2Coord[3]={0.0,1.0,0.0};
1244  //Plane z=0
1245  double P3Coord[3]={0.5,0.5,0.0};
1246  double norm3Coord[3]={0.0,0.0,1.0};
1247  //Plane x=1
1248  double P4Coord[3]={1.0,0.5,0.5};
1249  double norm4Coord[3]={-1.0,0.0,0.0};
1250  //Plane y=1
1251  double P5Coord[3]={0.5,1.0,0.5};
1252  double norm5Coord[3]={0.0,-1.0,0.0};
1253  //Plane z=1
1254  double P6Coord[3]={0.5,0.5,1.0};
1255  double norm6Coord[3]={0.0,0.0,-1.0};
1256  double t;
1257  double segment_line[3];
1258 
1259 
1260  LISTE_MG_SEGMENT::iterator it_seg;
1261 
1262  for(MG_SEGMENT* segm=m_mg_maillage->get_premier_segment(it_seg);segm!=NULL;segm=m_mg_maillage->get_suivant_segment(it_seg))
1263  {
1264  OT_VECTEUR_3D coord_no1_segm= segm->get_noeud1()->get_coord();
1265  OT_VECTEUR_3D coord_no2_segm= segm->get_noeud2()->get_coord();
1266 
1267  //====================== distmn : distance from node number m from plane number n =======
1268  //=======================================================================================
1269  dist[0][0]=check.Dist3D_Point_Plan(norm1Coord,P1Coord,coord_no1_segm);
1270  dist[1][0]=check.Dist3D_Point_Plan(norm1Coord,P1Coord,coord_no2_segm);
1271 
1272  dist[0][1]=check.Dist3D_Point_Plan(norm2Coord,P2Coord,coord_no1_segm);
1273  dist[1][1]=check.Dist3D_Point_Plan(norm2Coord,P2Coord,coord_no2_segm);
1274 
1275  dist[0][2]=check.Dist3D_Point_Plan(norm3Coord,P3Coord,coord_no1_segm);
1276  dist[1][2]=check.Dist3D_Point_Plan(norm3Coord,P3Coord,coord_no2_segm);
1277 
1278  dist[0][3]=check.Dist3D_Point_Plan(norm4Coord,P4Coord,coord_no1_segm);
1279  dist[1][3]=check.Dist3D_Point_Plan(norm4Coord,P4Coord,coord_no2_segm);
1280 
1281  dist[0][4]=check.Dist3D_Point_Plan(norm5Coord,P5Coord,coord_no1_segm);
1282  dist[1][4]=check.Dist3D_Point_Plan(norm5Coord,P5Coord,coord_no2_segm);
1283 
1284  dist[0][5]=check.Dist3D_Point_Plan(norm6Coord,P6Coord,coord_no1_segm);
1285  dist[1][5]=check.Dist3D_Point_Plan(norm6Coord,P6Coord,coord_no2_segm);
1286  //====================================================================================================
1287  //====================================Segment is CUT with one of SIX PLANES==============================
1288 
1289  if((dist[0][plan_nb]<0 && dist[1][plan_nb]>0) || (dist[0][plan_nb]>0 && dist[1][plan_nb]<0))
1290  {
1291  segment_line[0]=coord_no2_segm[0]-coord_no1_segm[0];
1292  segment_line[1]=coord_no2_segm[1]-coord_no1_segm[1];
1293  segment_line[2]=coord_no2_segm[2]-coord_no1_segm[2];
1294 
1295  if(plan_nb==0)
1296  {
1297  if (((norm1Coord[0]*segment_line[0])+(norm1Coord[1]*segment_line[1])+(norm1Coord[2]*segment_line[2]))==0) return;
1298 
1299  t=((norm1Coord[0]*(P1Coord[0]-coord_no1_segm[0]))+(norm1Coord[1]*(P1Coord[1]-coord_no1_segm[1]))+(norm1Coord[2]*(P1Coord[2]-coord_no1_segm[2])))/((norm1Coord[0]*segment_line[0])+(norm1Coord[1]*segment_line[1])+(norm1Coord[2]*segment_line[2]));
1300 
1301  if((t<eps_check) || (fabs(1-t)<eps_check))
1302  {
1303  if((dist[0][plan_nb]>=0) && (t>eps_check))
1304  {
1305  segm->get_noeud2()->change_x(0.0);
1306 
1307  }
1308  else if((dist[0][plan_nb]>=0) && (t<eps_check))
1309  {
1310  segm->get_noeud1()->change_x(0.0);
1311 
1312  }
1313  else if((dist[1][plan_nb]>=0) && (t<eps_check))
1314  {
1315  segm->get_noeud1()->change_x(0.0);
1316 
1317  }
1318  else if((dist[1][plan_nb]>=0) && (t>eps_check))
1319  {
1320  segm->get_noeud2()->change_x(0.0);
1321 
1322  }
1323 
1324  }
1325 
1326  }
1327  if(plan_nb==1)
1328  {
1329  if (((norm2Coord[0]*segment_line[0])+(norm2Coord[1]*segment_line[1])+(norm2Coord[2]*segment_line[2]))==0) return;
1330  t=((norm2Coord[0]*(P2Coord[0]-coord_no1_segm[0]))+(norm2Coord[1]*(P2Coord[1]-coord_no1_segm[1]))+(norm2Coord[2]*(P2Coord[2]-coord_no1_segm[2])))/((norm2Coord[0]*segment_line[0])+(norm2Coord[1]*segment_line[1])+(norm2Coord[2]*segment_line[2]));
1331 
1332  if((t<eps_check) || (fabs(1-t)<eps_check))
1333  {
1334  if((dist[0][plan_nb]>=0) && (t>eps_check))
1335  {
1336  segm->get_noeud2()->change_y(0.0);
1337 
1338  }
1339  else if((dist[0][plan_nb]>=0) && (t<eps_check))
1340  {
1341  segm->get_noeud1()->change_y(0.0);
1342 
1343  }
1344  else if((dist[1][plan_nb]>=0) && (t<eps_check))
1345  {
1346  segm->get_noeud1()->change_y(0.0);
1347 
1348  }
1349  else if((dist[1][plan_nb]>=0) && (t>eps_check))
1350  {
1351  segm->get_noeud2()->change_y(0.0);
1352 
1353  }
1354 
1355  }
1356 
1357 
1358  }
1359  if(plan_nb==2)
1360  {
1361  if (((norm3Coord[0]*segment_line[0])+(norm3Coord[1]*segment_line[1])+(norm3Coord[2]*segment_line[2]))==0) return;
1362  t=((norm3Coord[0]*(P3Coord[0]-coord_no1_segm[0]))+(norm3Coord[1]*(P3Coord[1]-coord_no1_segm[1]))+(norm3Coord[2]*(P3Coord[2]-coord_no1_segm[2])))/((norm3Coord[0]*segment_line[0])+(norm3Coord[1]*segment_line[1])+(norm3Coord[2]*segment_line[2]));
1363 
1364  if((t<eps_check) || (fabs(1-t)<eps_check))
1365  {
1366  if((dist[0][plan_nb]>=0) && (t>eps_check))
1367  {
1368  segm->get_noeud2()->change_z(0.0);
1369 
1370  }
1371  else if((dist[0][plan_nb]>=0) && (t<eps_check))
1372  {
1373  segm->get_noeud1()->change_z(0.0);
1374 
1375  }
1376  else if((dist[1][plan_nb]>=0) && (t<eps_check))
1377  {
1378  segm->get_noeud1()->change_z(0.0);
1379 
1380  }
1381  else if((dist[1][plan_nb]>=0) && (t>eps_check))
1382  {
1383  segm->get_noeud2()->change_z(0.0);
1384 
1385  }
1386 
1387  }
1388 
1389 
1390  }
1391  if(plan_nb==3)
1392  {
1393  if (((norm4Coord[0]*segment_line[0])+(norm4Coord[1]*segment_line[1])+(norm4Coord[2]*segment_line[2]))==0) return;
1394  t=((norm4Coord[0]*(P4Coord[0]-coord_no1_segm[0]))+(norm4Coord[1]*(P4Coord[1]-coord_no1_segm[1]))+(norm4Coord[2]*(P4Coord[2]-coord_no1_segm[2])))/((norm4Coord[0]*segment_line[0])+(norm4Coord[1]*segment_line[1])+(norm4Coord[2]*segment_line[2]));
1395 
1396  if((t<eps_check) || (fabs(1-t)<eps_check))
1397  {
1398  if((dist[0][plan_nb]>=0) && (t>eps_check))
1399  {
1400  segm->get_noeud2()->change_x(1.0);
1401 
1402  }
1403  else if((dist[0][plan_nb]>=0) && (t<eps_check))
1404  {
1405  segm->get_noeud1()->change_x(1.0);
1406 
1407  }
1408  else if((dist[1][plan_nb]>=0) && (t<eps_check))
1409  {
1410  segm->get_noeud1()->change_x(1.0);
1411 
1412  }
1413  else if((dist[1][plan_nb]>=0) && (t>eps_check))
1414  {
1415  segm->get_noeud2()->change_x(1.0);
1416 
1417  }
1418 
1419  }
1420 
1421  }
1422  if(plan_nb==4)
1423  {
1424  if (((norm5Coord[0]*segment_line[0])+(norm5Coord[1]*segment_line[1])+(norm5Coord[2]*segment_line[2]))==0) return;
1425  t=((norm5Coord[0]*(P5Coord[0]-coord_no1_segm[0]))+(norm5Coord[1]*(P5Coord[1]-coord_no1_segm[1]))+(norm5Coord[2]*(P5Coord[2]-coord_no1_segm[2])))/((norm5Coord[0]*segment_line[0])+(norm5Coord[1]*segment_line[1])+(norm5Coord[2]*segment_line[2]));
1426 
1427  if((t<eps_check) || (fabs(1-t)<eps_check))
1428  {
1429  if((dist[0][plan_nb]>=0) && (t>eps_check))
1430  {
1431  segm->get_noeud2()->change_y(1.0);
1432 
1433  }
1434  else if((dist[0][plan_nb]>=0) && (t<eps_check))
1435  {
1436  segm->get_noeud1()->change_y(1.0);
1437 
1438  }
1439  else if((dist[1][plan_nb]>=0) && (t<eps_check))
1440  {
1441  segm->get_noeud1()->change_y(1.0);
1442 
1443  }
1444  else if((dist[1][plan_nb]>=0) && (t>eps_check))
1445  {
1446  segm->get_noeud2()->change_y(1.0);
1447 
1448  }
1449 
1450  }
1451 
1452  }
1453  if(plan_nb==5)
1454  {
1455  if (((norm6Coord[0]*segment_line[0])+(norm6Coord[1]*segment_line[1])+(norm6Coord[2]*segment_line[2]))==0) return;
1456  t=((norm6Coord[0]*(P6Coord[0]-coord_no1_segm[0]))+(norm6Coord[1]*(P6Coord[1]-coord_no1_segm[1]))+(norm6Coord[2]*(P6Coord[2]-coord_no1_segm[2])))/((norm6Coord[0]*segment_line[0])+(norm6Coord[1]*segment_line[1])+(norm6Coord[2]*segment_line[2]));
1457 
1458 
1459  if((t<eps_check) || (fabs(1-t)<eps_check))
1460  {
1461  if((dist[0][plan_nb]>=0) && (t>eps_check))
1462  {
1463  segm->get_noeud2()->change_z(1.0);
1464 
1465  }
1466  else if((dist[0][plan_nb]>=0) && (t<eps_check))
1467  {
1468  segm->get_noeud1()->change_z(1.0);
1469 
1470  }
1471  else if((dist[1][plan_nb]>=0) && (t<eps_check))
1472  {
1473  segm->get_noeud1()->change_z(1.0);
1474 
1475  }
1476  else if((dist[1][plan_nb]>=0) && (t>eps_check))
1477  {
1478  segm->get_noeud2()->change_z(1.0);
1479 
1480  }
1481 
1482  }
1483 
1484 
1485  }
1486 
1487 
1488  }
1489 }
1490  }
1492  {
1493  double distance[4][6];
1495  int count_tet_in=0;int count_tet_out=0;int count_tet_cut=0;
1496  // int count_tet_edge_out=0;int count_tet_edge_in=0;
1497 
1498  TPL_MAP_ENTITE<MG_TETRA*> lst_tet_in;
1499  // TPL_MAP_ENTITE<MG_TETRA*> lst_tet_edge_in;TPL_MAP_ENTITE<MG_TETRA*> lst_tet_edge_out;
1500 
1501 
1502  //Plane x=0
1503  double P1Coord[3]={0.0,0.5,0.5};
1504  double norm1Coord[3]={1.0,0.0,0.0};
1505  //Plane y=0
1506  double P2Coord[3]={0.5,0.0,0.5};
1507  double norm2Coord[3]={0.0,1.0,0.0};
1508  //Plane z=0
1509  double P3Coord[3]={0.5,0.5,0.0};
1510  double norm3Coord[3]={0.0,0.0,1.0};
1511  //Plane x=1
1512  double P4Coord[3]={1.0,0.5,0.5};
1513  double norm4Coord[3]={-1.0,0.0,0.0};
1514  //Plane y=1
1515  double P5Coord[3]={0.5,1.0,0.5};
1516  double norm5Coord[3]={0.0,-1.0,0.0};
1517  //Plane z=1
1518  double P6Coord[3]={0.5,0.5,1.0};
1519  double norm6Coord[3]={0.0,0.0,-1.0};
1520 
1521  LISTE_MG_TETRA::iterator it_tetra;
1522  for(MG_TETRA* tet=m_mg_maillage->get_premier_tetra(it_tetra);tet!=NULL;tet=m_mg_maillage->get_suivant_tetra(it_tetra))
1523  {
1524  OT_VECTEUR_3D coo3_no1= tet->get_noeud1()->get_coord();
1525  OT_VECTEUR_3D coo3_no2= tet->get_noeud2()->get_coord();
1526  OT_VECTEUR_3D coo3_no3= tet->get_noeud3()->get_coord();
1527  OT_VECTEUR_3D coo3_no4= tet->get_noeud4()->get_coord();
1528  //================================== distmn : distance from node number m from plane number n =============================
1529  //=========================================================================================================================
1530 
1531  distance[0][0]=check.Dist3D_Point_Plan(norm1Coord,P1Coord,coo3_no1);
1532  distance[1][0]=check.Dist3D_Point_Plan(norm1Coord,P1Coord,coo3_no2);
1533  distance[2][0]=check.Dist3D_Point_Plan(norm1Coord,P1Coord,coo3_no3);
1534  distance[3][0]=check.Dist3D_Point_Plan(norm1Coord,P1Coord,coo3_no4);
1535 
1536  distance[0][1]=check.Dist3D_Point_Plan(norm2Coord,P2Coord,coo3_no1);
1537  distance[1][1]=check.Dist3D_Point_Plan(norm2Coord,P2Coord,coo3_no2);
1538  distance[2][1]=check.Dist3D_Point_Plan(norm2Coord,P2Coord,coo3_no3);
1539  distance[3][1]=check.Dist3D_Point_Plan(norm2Coord,P2Coord,coo3_no4);
1540 
1541  distance[0][2]=check.Dist3D_Point_Plan(norm3Coord,P3Coord,coo3_no1);
1542  distance[1][2]=check.Dist3D_Point_Plan(norm3Coord,P3Coord,coo3_no2);
1543  distance[2][2]=check.Dist3D_Point_Plan(norm3Coord,P3Coord,coo3_no3);
1544  distance[3][2]=check.Dist3D_Point_Plan(norm3Coord,P3Coord,coo3_no4);
1545 
1546  distance[0][3]=check.Dist3D_Point_Plan(norm4Coord,P4Coord,coo3_no1);
1547  distance[1][3]=check.Dist3D_Point_Plan(norm4Coord,P4Coord,coo3_no2);
1548  distance[2][3]=check.Dist3D_Point_Plan(norm4Coord,P4Coord,coo3_no3);
1549  distance[3][3]=check.Dist3D_Point_Plan(norm4Coord,P4Coord,coo3_no4);
1550 
1551  distance[0][4]=check.Dist3D_Point_Plan(norm5Coord,P5Coord,coo3_no1);
1552  distance[1][4]=check.Dist3D_Point_Plan(norm5Coord,P5Coord,coo3_no2);
1553  distance[2][4]=check.Dist3D_Point_Plan(norm5Coord,P5Coord,coo3_no3);
1554 
1555  distance[3][4]=check.Dist3D_Point_Plan(norm5Coord,P5Coord,coo3_no4);
1556 
1557  distance[0][5]=check.Dist3D_Point_Plan(norm6Coord,P6Coord,coo3_no1);
1558  distance[1][5]=check.Dist3D_Point_Plan(norm6Coord,P6Coord,coo3_no2);
1559  distance[2][5]=check.Dist3D_Point_Plan(norm6Coord,P6Coord,coo3_no3);
1560  distance[3][5]=check.Dist3D_Point_Plan(norm6Coord,P6Coord,coo3_no4);
1561 
1562  //===============================================================================================================
1563  //====================================Tetra is INSIDE============================================================
1564  if(distance[0][plan_nb]>=0 && distance[1][plan_nb]>=0 && distance[2][plan_nb]>=0 && distance[3][plan_nb]>=0)
1565  {
1566  count_tet_in=count_tet_in+1;
1567  lst_tet_in.ajouter(lst_tet_in.get(it_tetra));
1568  }
1569  //===========================================================================================================
1570  //====================================Tetra is OUTSIDE==========================================================
1571  else if(distance[0][plan_nb]<=0 && distance[1][plan_nb]<=0 && distance[2][plan_nb]<=0 && distance[3][plan_nb]<=0)
1572  {
1573  count_tet_out=count_tet_out+1;
1574  lst_tet_cut_to_delete.ajouter(lst_tet_cut_to_delete.get(it_tetra));
1575  }
1576  //=========================================================================================================================
1577  //====================================Tetra is CUT=====================================================================
1578  else
1579  {
1580  count_tet_cut=count_tet_cut+1;
1581  lst_tet_cut.ajouter(lst_tet_cut.get(it_tetra));
1582  lst_tet_cut_to_delete.ajouter(lst_tet_cut_to_delete.get(it_tetra));
1583  }
1584 
1585  }
1586  // printf("TETRAS %d tet_in, %d tet_out, %d tet_cut , %d tet_edge_in\n\n",count_tet_in,count_tet_out,count_tet_cut,count_tet_edge_in);
1587  }
1588 
1589 void MSTRUCT_VES_DECOUP::generer_tetra_4node(MG_TETRA *tetra_cutt, TPL_MAP_ENTITE<MG_NOEUD*> lst_node_in, int &nb_tet_4nodes_accepted)
1590 {
1591 
1592  double qual=OPERATEUR::qualite_tetra(lst_node_in.get(0)->get_coord(),lst_node_in.get(1)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(3)->get_coord());
1593  double quall=OPERATEUR::qualite_tetra(lst_node_in.get(1)->get_coord(),lst_node_in.get(0)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(3)->get_coord());
1594 
1595  if (qual>0.0001)
1596  {
1597 
1598  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),MAGIC::ORIGINE::MAILLEUR_AUTO);
1599 
1600  nb_tet_4nodes_accepted=nb_tet_4nodes_accepted+1;
1601  }
1602  else if (quall>0.0001)
1603  {
1604 
1605  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),MAGIC::ORIGINE::MAILLEUR_AUTO);
1606 
1607  nb_tet_4nodes_accepted=nb_tet_4nodes_accepted+1;
1608  }
1609 }
1610 
1611 void MSTRUCT_VES_DECOUP::generer_tetra_6node_3seg(MG_TETRA* tetra_cutt, TPL_MAP_ENTITE<MG_NOEUD*> lst_node_in, TPL_LISTE_ENTITE<MG_NOEUD*> lst_node_in_second, int& nb_tet_6nodes_accepted, int& nb_tet_6nodes_accepted_3original, int& nb_tet_6nodes_accepted_3original_deadend)
1612 {
1613  double p_cut_middle[3];
1614  int no_deadend=0;
1615  // int nb_tet_6nodes_accepted_3original=0;
1616  // int nb_tet_6nodes_accepted_3original_deadend=0;
1617  TPL_MAP_ENTITE<MG_TRIANGLE*>lst_tri_already_existed;
1618 
1619  TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri11;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri12;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri13;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri14;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri15;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri16;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri17;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri18;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri19;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri110;
1620 
1621  TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri21;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri22;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri23;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri24;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri25;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri26;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri27;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri28;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri29;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri210;
1622 
1623  TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri31;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri32;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri33;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri34;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri35;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri36;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri37;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri38;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri39;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri310;
1624 
1625  TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri41;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri42;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri43;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri44;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri45;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri46;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri47;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri48;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri49;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri410;
1626 
1627  TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri51;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri52;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri53;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri54;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri55;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri56;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri57;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri58;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri59;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri510;
1628 
1629  TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri61;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri62;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri63;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri64;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri65;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri66;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri67;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri68;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri69;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri610;
1630  //--------------------------------------------------------------------------------------
1631  double qual1=0;double qual2=0;double qual3=0;double qual4=0;double qual5=0;double qual6=0;double qual7=0;double qual8=0;double qual9=0;double qual10=0;double qual11=0;double qual12=0;double qual13=0;double qual14=0;double qual15=0;double qual16=0;double qual17=0;double qual18=0;
1632 
1633  double qualo1=0;double qualo2=0;double qualo3=0;double qualo4=0;double qualo5=0;double qualo6=0;double qualo7=0;double qualo8=0;double qualo9=0;double qualo10=0;double qualo11=0;double qualo12=0;double qualo13=0;double qualo14=0;double qualo15=0;double qualo16=0;double qualo17=0;double qualo18=0;
1634 
1635  //===============================For each of 6 nodes of prism=============================
1636  for (int jj=0;jj<6;jj++)
1637  {
1638  int nt=lst_node_in.get(jj)->get_lien_triangle()->get_nb();
1639 
1640  //===============================For each triangle of nb triangles of each node===============
1641 
1642  if(nt>0)
1643  {
1644  for(int kk=0;kk<nt;kk++)
1645  {
1646  MG_TRIANGLE* tri_related_node= lst_node_in.get(jj)->get_lien_triangle()->get(kk);
1647 
1648  if((lst_node_in.existe(tri_related_node->get_noeud1()))&&(lst_node_in.existe(tri_related_node->get_noeud2()))&&(lst_node_in.existe(tri_related_node->get_noeud3())))
1649  {
1650  lst_tri_already_existed.ajouter(tri_related_node);
1651  }}}
1652 
1653  }
1654 
1655  qual1=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
1656 
1657  qual2=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(5)->get_coord());
1658 
1659  qual3=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
1660  //----------------------------------------------------
1661  qualo1=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
1662 
1663  qualo2=OPERATEUR::qualite_tetra(lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(5)->get_coord());
1664 
1665  qualo3=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
1666 
1667  lst_node_tri11.ajouter(lst_node_in_second.get(0)); lst_node_tri11.ajouter(lst_node_in_second.get(2)); lst_node_tri11.ajouter(lst_node_in_second.get(3));
1668 
1669  lst_node_tri12.ajouter(lst_node_in_second.get(0)); lst_node_tri12.ajouter(lst_node_in_second.get(2)); lst_node_tri12.ajouter(lst_node_in_second.get(4));
1670 
1671  lst_node_tri13.ajouter(lst_node_in_second.get(0)); lst_node_tri13.ajouter(lst_node_in_second.get(3)); lst_node_tri13.ajouter(lst_node_in_second.get(4));
1672 
1673  lst_node_tri14.ajouter(lst_node_in_second.get(2)); lst_node_tri14.ajouter(lst_node_in_second.get(3)); lst_node_tri14.ajouter(lst_node_in_second.get(4));
1674 
1675  lst_node_tri15.ajouter(lst_node_in_second.get(1)); lst_node_tri15.ajouter(lst_node_in_second.get(4)); lst_node_tri15.ajouter(lst_node_in_second.get(5));
1676 
1677  lst_node_tri16.ajouter(lst_node_in_second.get(1)); lst_node_tri16.ajouter(lst_node_in_second.get(3)); lst_node_tri16.ajouter(lst_node_in_second.get(4));
1678 
1679  lst_node_tri17.ajouter(lst_node_in_second.get(1)); lst_node_tri17.ajouter(lst_node_in_second.get(3)); lst_node_tri17.ajouter(lst_node_in_second.get(5));
1680 
1681  lst_node_tri18.ajouter(lst_node_in_second.get(3)); lst_node_tri18.ajouter(lst_node_in_second.get(4)); lst_node_tri18.ajouter(lst_node_in_second.get(5));
1682 
1683  lst_node_tri19.ajouter(lst_node_in_second.get(0)); lst_node_tri19.ajouter(lst_node_in_second.get(1)); lst_node_tri19.ajouter(lst_node_in_second.get(3));
1684 
1685  lst_node_tri110.ajouter(lst_node_in_second.get(0));lst_node_tri110.ajouter(lst_node_in_second.get(1));lst_node_tri110.ajouter(lst_node_in_second.get(4));
1686  //----------------------------------------------------
1687  //----------------------------------------------------
1688  qual4=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
1689 
1690  qual5=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(5)->get_coord());
1691 
1692  qual6=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(5)->get_coord());
1693 
1694  //----------------------------------------------------
1695  qualo4=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
1696 
1697  qualo5=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(5)->get_coord());
1698 
1699  qualo6=OPERATEUR::qualite_tetra(lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(5)->get_coord());
1700 
1701 
1702  lst_node_tri21.ajouter(lst_node_in_second.get(0));
1703  lst_node_tri21.ajouter(lst_node_in_second.get(2));
1704  lst_node_tri21.ajouter(lst_node_in_second.get(3));
1705 
1706  lst_node_tri22.ajouter(lst_node_in_second.get(0));
1707  lst_node_tri22.ajouter(lst_node_in_second.get(2));
1708  lst_node_tri22.ajouter(lst_node_in_second.get(4));
1709 
1710  lst_node_tri23.ajouter(lst_node_in_second.get(0));
1711  lst_node_tri23.ajouter(lst_node_in_second.get(3));
1712  lst_node_tri23.ajouter(lst_node_in_second.get(4));
1713 
1714  lst_node_tri24.ajouter(lst_node_in_second.get(2));
1715  lst_node_tri24.ajouter(lst_node_in_second.get(3));
1716  lst_node_tri24.ajouter(lst_node_in_second.get(4));
1717 
1718  lst_node_tri25.ajouter(lst_node_in_second.get(0));
1719  lst_node_tri25.ajouter(lst_node_in_second.get(1));
1720  lst_node_tri25.ajouter(lst_node_in_second.get(3));
1721 
1722  lst_node_tri26.ajouter(lst_node_in_second.get(0));
1723  lst_node_tri26.ajouter(lst_node_in_second.get(1));
1724  lst_node_tri26.ajouter(lst_node_in_second.get(5));
1725 
1726  lst_node_tri27.ajouter(lst_node_in_second.get(0));
1727  lst_node_tri27.ajouter(lst_node_in_second.get(3));
1728  lst_node_tri27.ajouter(lst_node_in_second.get(5));
1729 
1730  lst_node_tri28.ajouter(lst_node_in_second.get(1));
1731  lst_node_tri28.ajouter(lst_node_in_second.get(3));
1732  lst_node_tri28.ajouter(lst_node_in_second.get(5));
1733 
1734  lst_node_tri29.ajouter(lst_node_in_second.get(3));
1735  lst_node_tri29.ajouter(lst_node_in_second.get(4));
1736  lst_node_tri29.ajouter(lst_node_in_second.get(5));
1737 
1738  lst_node_tri210.ajouter(lst_node_in_second.get(0));
1739  lst_node_tri210.ajouter(lst_node_in_second.get(4));
1740  lst_node_tri210.ajouter(lst_node_in_second.get(5));
1741 
1742  //----------------------------------------------------
1743  //----------------------------------------------------
1744  qual7=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(5)->get_coord());
1745 
1746  qual8=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(5)->get_coord());
1747 
1748  qual9=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(5)->get_coord());
1749 
1750  //----------------------------------------------------
1751  qualo7=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(5)->get_coord());
1752 
1753  qualo8=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(5)->get_coord());
1754 
1755  qualo9=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(5)->get_coord());
1756 
1757  lst_node_tri31.ajouter(lst_node_in_second.get(0));
1758  lst_node_tri31.ajouter(lst_node_in_second.get(2));
1759  lst_node_tri31.ajouter(lst_node_in_second.get(4));
1760 
1761  lst_node_tri32.ajouter(lst_node_in_second.get(0));
1762  lst_node_tri32.ajouter(lst_node_in_second.get(2));
1763  lst_node_tri32.ajouter(lst_node_in_second.get(5));
1764 
1765  lst_node_tri33.ajouter(lst_node_in_second.get(0));
1766  lst_node_tri33.ajouter(lst_node_in_second.get(4));
1767  lst_node_tri33.ajouter(lst_node_in_second.get(5));
1768 
1769  lst_node_tri34.ajouter(lst_node_in_second.get(2));
1770  lst_node_tri34.ajouter(lst_node_in_second.get(4));
1771  lst_node_tri34.ajouter(lst_node_in_second.get(5));
1772 
1773  lst_node_tri35.ajouter(lst_node_in_second.get(0));
1774  lst_node_tri35.ajouter(lst_node_in_second.get(1));
1775  lst_node_tri35.ajouter(lst_node_in_second.get(3));
1776 
1777  lst_node_tri36.ajouter(lst_node_in_second.get(0));
1778  lst_node_tri36.ajouter(lst_node_in_second.get(1));
1779  lst_node_tri36.ajouter(lst_node_in_second.get(5));
1780 
1781  lst_node_tri37.ajouter(lst_node_in_second.get(0));
1782  lst_node_tri37.ajouter(lst_node_in_second.get(3));
1783  lst_node_tri37.ajouter(lst_node_in_second.get(5));
1784 
1785  lst_node_tri38.ajouter(lst_node_in_second.get(1));
1786  lst_node_tri38.ajouter(lst_node_in_second.get(3));
1787  lst_node_tri38.ajouter(lst_node_in_second.get(5));
1788 
1789  lst_node_tri39.ajouter(lst_node_in_second.get(0));
1790  lst_node_tri39.ajouter(lst_node_in_second.get(2));
1791  lst_node_tri39.ajouter(lst_node_in_second.get(3));
1792 
1793  lst_node_tri310.ajouter(lst_node_in_second.get(2));
1794  lst_node_tri310.ajouter(lst_node_in_second.get(3));
1795  lst_node_tri310.ajouter(lst_node_in_second.get(5));
1796  //----------------------------------------------------
1797  //----------------------------------------------------
1798  qual10=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(5)->get_coord());
1799 
1800  qual11=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord());
1801 
1802  qual12=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(5)->get_coord());
1803 
1804 
1805  //----------------------------------------------------
1806  qualo10=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(5)->get_coord());
1807 
1808  qualo11=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord());
1809 
1810  qualo12=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(5)->get_coord());
1811 
1812  lst_node_tri41.ajouter(lst_node_in_second.get(1));
1813  lst_node_tri41.ajouter(lst_node_in_second.get(2));
1814  lst_node_tri41.ajouter(lst_node_in_second.get(3));
1815 
1816  lst_node_tri48.ajouter(lst_node_in_second.get(1));
1817  lst_node_tri48.ajouter(lst_node_in_second.get(2));
1818  lst_node_tri48.ajouter(lst_node_in_second.get(5));
1819 
1820 
1821  lst_node_tri42.ajouter(lst_node_in_second.get(1));
1822  lst_node_tri42.ajouter(lst_node_in_second.get(3));
1823  lst_node_tri42.ajouter(lst_node_in_second.get(5));
1824 
1825  lst_node_tri43.ajouter(lst_node_in_second.get(2));
1826  lst_node_tri43.ajouter(lst_node_in_second.get(3));
1827  lst_node_tri43.ajouter(lst_node_in_second.get(5));
1828 
1829  lst_node_tri44.ajouter(lst_node_in_second.get(0));
1830  lst_node_tri44.ajouter(lst_node_in_second.get(1));
1831  lst_node_tri44.ajouter(lst_node_in_second.get(2));
1832 
1833  lst_node_tri45.ajouter(lst_node_in_second.get(0));
1834  lst_node_tri45.ajouter(lst_node_in_second.get(1));
1835  lst_node_tri45.ajouter(lst_node_in_second.get(4));
1836 
1837  lst_node_tri46.ajouter(lst_node_in_second.get(0));
1838  lst_node_tri46.ajouter(lst_node_in_second.get(2));
1839  lst_node_tri46.ajouter(lst_node_in_second.get(4));
1840 
1841  lst_node_tri47.ajouter(lst_node_in_second.get(1));
1842  lst_node_tri47.ajouter(lst_node_in_second.get(2));
1843  lst_node_tri47.ajouter(lst_node_in_second.get(4));
1844 
1845  lst_node_tri49.ajouter(lst_node_in_second.get(2));
1846  lst_node_tri49.ajouter(lst_node_in_second.get(4));
1847  lst_node_tri49.ajouter(lst_node_in_second.get(5));
1848 
1849  lst_node_tri410.ajouter(lst_node_in_second.get(1));
1850  lst_node_tri410.ajouter(lst_node_in_second.get(4));
1851  lst_node_tri410.ajouter(lst_node_in_second.get(5));
1852  //----------------------------------------------------
1853  //----------------------------------------------------
1854  qual13=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(5)->get_coord());
1855 
1856  qual14=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(5)->get_coord());
1857 
1858  qual15=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(5)->get_coord());
1859 
1860 
1861  //----------------------------------------------------
1862  qualo13=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(5)->get_coord());
1863 
1864  qualo14=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(5)->get_coord());
1865 
1866  qualo15=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(5)->get_coord());
1867 
1868  lst_node_tri51.ajouter(lst_node_in_second.get(0));
1869  lst_node_tri51.ajouter(lst_node_in_second.get(2));
1870  lst_node_tri51.ajouter(lst_node_in_second.get(4));
1871 
1872  lst_node_tri52.ajouter(lst_node_in_second.get(0));
1873  lst_node_tri52.ajouter(lst_node_in_second.get(2));
1874  lst_node_tri52.ajouter(lst_node_in_second.get(5));
1875 
1876  lst_node_tri53.ajouter(lst_node_in_second.get(0));
1877  lst_node_tri53.ajouter(lst_node_in_second.get(4));
1878  lst_node_tri53.ajouter(lst_node_in_second.get(5));
1879 
1880  lst_node_tri54.ajouter(lst_node_in_second.get(2));
1881 
1882  lst_node_tri54.ajouter(lst_node_in_second.get(4));
1883  lst_node_tri54.ajouter(lst_node_in_second.get(5));
1884 
1885  lst_node_tri55.ajouter(lst_node_in_second.get(1));
1886  lst_node_tri55.ajouter(lst_node_in_second.get(2));
1887  lst_node_tri55.ajouter(lst_node_in_second.get(3));
1888 
1889  lst_node_tri56.ajouter(lst_node_in_second.get(1));
1890  lst_node_tri56.ajouter(lst_node_in_second.get(2));
1891  lst_node_tri56.ajouter(lst_node_in_second.get(5));
1892 
1893  lst_node_tri57.ajouter(lst_node_in_second.get(2));
1894  lst_node_tri57.ajouter(lst_node_in_second.get(3));
1895  lst_node_tri57.ajouter(lst_node_in_second.get(5));
1896 
1897 
1898  lst_node_tri58.ajouter(lst_node_in_second.get(1));
1899  lst_node_tri58.ajouter(lst_node_in_second.get(3));
1900  lst_node_tri58.ajouter(lst_node_in_second.get(5));
1901 
1902  lst_node_tri59.ajouter(lst_node_in_second.get(0));
1903  lst_node_tri59.ajouter(lst_node_in_second.get(1));
1904  lst_node_tri59.ajouter(lst_node_in_second.get(2));
1905 
1906  lst_node_tri510.ajouter(lst_node_in_second.get(0));
1907  lst_node_tri510.ajouter(lst_node_in_second.get(1));
1908  lst_node_tri510.ajouter(lst_node_in_second.get(5));
1909  //----------------------------------------------------
1910  //----------------------------------------------------
1911  qual16=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord());
1912 
1913  qual17=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(5)->get_coord());
1914 
1915  qual18=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
1916 
1917  //----------------------------------------------------
1918  qualo16=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord());
1919 
1920  qualo17=OPERATEUR::qualite_tetra(lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(5)->get_coord());
1921 
1922  qualo18=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
1923 
1924  lst_node_tri61.ajouter(lst_node_in_second.get(0));
1925  lst_node_tri61.ajouter(lst_node_in_second.get(1));
1926  lst_node_tri61.ajouter(lst_node_in_second.get(2));
1927 
1928  lst_node_tri62.ajouter(lst_node_in_second.get(0));
1929  lst_node_tri62.ajouter(lst_node_in_second.get(1));
1930  lst_node_tri62.ajouter(lst_node_in_second.get(4));
1931 
1932  lst_node_tri63.ajouter(lst_node_in_second.get(0));
1933  lst_node_tri63.ajouter(lst_node_in_second.get(2));
1934  lst_node_tri63.ajouter(lst_node_in_second.get(4));
1935 
1936  lst_node_tri64.ajouter(lst_node_in_second.get(1));
1937  lst_node_tri64.ajouter(lst_node_in_second.get(2));
1938  lst_node_tri64.ajouter(lst_node_in_second.get(4));
1939 
1940  lst_node_tri65.ajouter(lst_node_in_second.get(1));
1941  lst_node_tri65.ajouter(lst_node_in_second.get(3));
1942  lst_node_tri65.ajouter(lst_node_in_second.get(4));
1943 
1944  lst_node_tri66.ajouter(lst_node_in_second.get(1));
1945  lst_node_tri66.ajouter(lst_node_in_second.get(3));
1946  lst_node_tri66.ajouter(lst_node_in_second.get(5));
1947 
1948  lst_node_tri67.ajouter(lst_node_in_second.get(1));
1949  lst_node_tri67.ajouter(lst_node_in_second.get(4));
1950  lst_node_tri67.ajouter(lst_node_in_second.get(5));
1951 
1952  lst_node_tri68.ajouter(lst_node_in_second.get(3));
1953  lst_node_tri68.ajouter(lst_node_in_second.get(4));
1954  lst_node_tri68.ajouter(lst_node_in_second.get(5));
1955 
1956  lst_node_tri69.ajouter(lst_node_in_second.get(2));
1957  lst_node_tri69.ajouter(lst_node_in_second.get(3));
1958  lst_node_tri69.ajouter(lst_node_in_second.get(1));
1959 
1960  lst_node_tri610.ajouter(lst_node_in_second.get(2));
1961  lst_node_tri610.ajouter(lst_node_in_second.get(4));
1962  lst_node_tri610.ajouter(lst_node_in_second.get(3));
1963 
1964  //----------------------------------------------------
1965  //----------------------------------------------------
1966  int check_not_to_creat_tetra=0;
1967  int check_to_creat_tetra=0;
1968  int check_to_go_further=3;
1969 
1970 
1971  int check_not_to_creat_tetra_1=0;
1972  LISTE_MG_TRIANGLE::iterator it_tri_existed;
1973 
1974 
1975  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
1976  {
1977  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))) || ((lst_node_tri18.existe(tri_existed->get_noeud1())) && (lst_node_tri18.existe(tri_existed->get_noeud2())) && (lst_node_tri18.existe(tri_existed->get_noeud3()))) || ((lst_node_tri19.existe(tri_existed->get_noeud1())) && (lst_node_tri19.existe(tri_existed->get_noeud2())) && (lst_node_tri19.existe(tri_existed->get_noeud3()))) || ((lst_node_tri110.existe(tri_existed->get_noeud1())) && (lst_node_tri110.existe(tri_existed->get_noeud2())) && (lst_node_tri110.existe(tri_existed->get_noeud3()))))
1978  {
1979 
1980  check_to_creat_tetra=2;
1981  }
1982 
1983  else
1984  {
1985  check_not_to_creat_tetra_1=3;
1986  }
1987 
1988  }
1989 
1990  int check_not_to_creat_tetra_2=0;
1991 
1992  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
1993  {
1994 
1995  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))) || ((lst_node_tri28.existe(tri_existed->get_noeud1())) && (lst_node_tri28.existe(tri_existed->get_noeud2())) && (lst_node_tri28.existe(tri_existed->get_noeud3()))) || ((lst_node_tri29.existe(tri_existed->get_noeud1())) && (lst_node_tri29.existe(tri_existed->get_noeud2())) && (lst_node_tri29.existe(tri_existed->get_noeud3()))) || ((lst_node_tri210.existe(tri_existed->get_noeud1())) && (lst_node_tri210.existe(tri_existed->get_noeud2())) && (lst_node_tri210.existe(tri_existed->get_noeud3()))))
1996  {
1997 
1998  check_to_creat_tetra=2;
1999  }
2000 
2001  else
2002 
2003  {
2004  check_not_to_creat_tetra_2=3;
2005 
2006  }
2007 
2008  }
2009 
2010  int check_not_to_creat_tetra_3=0;
2011 
2012  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
2013  {
2014 
2015  if(((lst_node_tri31.existe(tri_existed->get_noeud1())) && (lst_node_tri31.existe(tri_existed->get_noeud2())) && (lst_node_tri31.existe(tri_existed->get_noeud3()))) || ((lst_node_tri32.existe(tri_existed->get_noeud1())) && (lst_node_tri32.existe(tri_existed->get_noeud2())) && (lst_node_tri32.existe(tri_existed->get_noeud3()))) || ((lst_node_tri33.existe(tri_existed->get_noeud1())) && (lst_node_tri33.existe(tri_existed->get_noeud2())) && (lst_node_tri33.existe(tri_existed->get_noeud3()))) || ((lst_node_tri34.existe(tri_existed->get_noeud1())) && (lst_node_tri34.existe(tri_existed->get_noeud2())) && (lst_node_tri34.existe(tri_existed->get_noeud3()))) || ((lst_node_tri35.existe(tri_existed->get_noeud1())) && (lst_node_tri35.existe(tri_existed->get_noeud2())) && (lst_node_tri35.existe(tri_existed->get_noeud3()))) || ((lst_node_tri36.existe(tri_existed->get_noeud1())) && (lst_node_tri36.existe(tri_existed->get_noeud2())) && (lst_node_tri36.existe(tri_existed->get_noeud3()))) || ((lst_node_tri37.existe(tri_existed->get_noeud1())) && (lst_node_tri37.existe(tri_existed->get_noeud2())) && (lst_node_tri37.existe(tri_existed->get_noeud3()))) || ((lst_node_tri38.existe(tri_existed->get_noeud1())) && (lst_node_tri38.existe(tri_existed->get_noeud2())) && (lst_node_tri38.existe(tri_existed->get_noeud3()))) || ((lst_node_tri39.existe(tri_existed->get_noeud1())) && (lst_node_tri39.existe(tri_existed->get_noeud2())) && (lst_node_tri39.existe(tri_existed->get_noeud3()))) || ((lst_node_tri310.existe(tri_existed->get_noeud1())) && (lst_node_tri310.existe(tri_existed->get_noeud2())) && (lst_node_tri310.existe(tri_existed->get_noeud3()))))
2016  {
2017 
2018  check_to_creat_tetra=2;
2019  }
2020 
2021  else
2022 
2023  {
2024  check_not_to_creat_tetra_3=3;
2025 
2026  }
2027 
2028  }
2029 
2030  int check_not_to_creat_tetra_4=0;
2031 
2032  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
2033  {
2034 
2035  if(((lst_node_tri41.existe(tri_existed->get_noeud1())) && (lst_node_tri41.existe(tri_existed->get_noeud2())) && (lst_node_tri41.existe(tri_existed->get_noeud3()))) || ((lst_node_tri42.existe(tri_existed->get_noeud1())) && (lst_node_tri42.existe(tri_existed->get_noeud2())) && (lst_node_tri42.existe(tri_existed->get_noeud3()))) || ((lst_node_tri43.existe(tri_existed->get_noeud1())) && (lst_node_tri43.existe(tri_existed->get_noeud2())) && (lst_node_tri43.existe(tri_existed->get_noeud3()))) || ((lst_node_tri44.existe(tri_existed->get_noeud1())) && (lst_node_tri44.existe(tri_existed->get_noeud2())) && (lst_node_tri44.existe(tri_existed->get_noeud3()))) || ((lst_node_tri45.existe(tri_existed->get_noeud1())) && (lst_node_tri45.existe(tri_existed->get_noeud2())) && (lst_node_tri45.existe(tri_existed->get_noeud3()))) || ((lst_node_tri46.existe(tri_existed->get_noeud1())) && (lst_node_tri46.existe(tri_existed->get_noeud2())) && (lst_node_tri46.existe(tri_existed->get_noeud3()))) || ((lst_node_tri47.existe(tri_existed->get_noeud1())) && (lst_node_tri47.existe(tri_existed->get_noeud2())) && (lst_node_tri47.existe(tri_existed->get_noeud3()))) || ((lst_node_tri48.existe(tri_existed->get_noeud1())) && (lst_node_tri48.existe(tri_existed->get_noeud2())) && (lst_node_tri48.existe(tri_existed->get_noeud3()))) || ((lst_node_tri49.existe(tri_existed->get_noeud1())) && (lst_node_tri49.existe(tri_existed->get_noeud2())) && (lst_node_tri49.existe(tri_existed->get_noeud3()))) || ((lst_node_tri410.existe(tri_existed->get_noeud1())) && (lst_node_tri410.existe(tri_existed->get_noeud2())) && (lst_node_tri410.existe(tri_existed->get_noeud3()))))
2036  {
2037  check_to_creat_tetra=2;
2038  }
2039 
2040  else
2041 
2042  {
2043  check_not_to_creat_tetra_4=3;
2044 
2045  }
2046 
2047 
2048  }
2049 
2050  int check_not_to_creat_tetra_5=0;
2051 
2052  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
2053  {
2054 
2055  if(((lst_node_tri51.existe(tri_existed->get_noeud1())) && (lst_node_tri51.existe(tri_existed->get_noeud2())) && (lst_node_tri51.existe(tri_existed->get_noeud3()))) || ((lst_node_tri52.existe(tri_existed->get_noeud1())) && (lst_node_tri52.existe(tri_existed->get_noeud2())) && (lst_node_tri52.existe(tri_existed->get_noeud3()))) || ((lst_node_tri53.existe(tri_existed->get_noeud1())) && (lst_node_tri53.existe(tri_existed->get_noeud2())) && (lst_node_tri53.existe(tri_existed->get_noeud3()))) || ((lst_node_tri54.existe(tri_existed->get_noeud1())) && (lst_node_tri54.existe(tri_existed->get_noeud2())) && (lst_node_tri54.existe(tri_existed->get_noeud3()))) || ((lst_node_tri55.existe(tri_existed->get_noeud1())) && (lst_node_tri55.existe(tri_existed->get_noeud2())) && (lst_node_tri55.existe(tri_existed->get_noeud3()))) || ((lst_node_tri56.existe(tri_existed->get_noeud1())) && (lst_node_tri56.existe(tri_existed->get_noeud2())) && (lst_node_tri56.existe(tri_existed->get_noeud3()))) || ((lst_node_tri57.existe(tri_existed->get_noeud1())) && (lst_node_tri57.existe(tri_existed->get_noeud2())) && (lst_node_tri57.existe(tri_existed->get_noeud3()))) || ((lst_node_tri58.existe(tri_existed->get_noeud1())) && (lst_node_tri58.existe(tri_existed->get_noeud2())) && (lst_node_tri58.existe(tri_existed->get_noeud3()))) || ((lst_node_tri59.existe(tri_existed->get_noeud1())) && (lst_node_tri59.existe(tri_existed->get_noeud2())) && (lst_node_tri59.existe(tri_existed->get_noeud3()))) || ((lst_node_tri510.existe(tri_existed->get_noeud1())) && (lst_node_tri510.existe(tri_existed->get_noeud2())) && (lst_node_tri510.existe(tri_existed->get_noeud3()))))
2056  {
2057 
2058  check_to_creat_tetra=2;
2059  }
2060 
2061  else
2062 
2063  {
2064  check_not_to_creat_tetra_5=3;
2065 
2066  }
2067 
2068  }
2069 
2070  int check_not_to_creat_tetra_6=0;
2071 
2072  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
2073  {
2074  if(((lst_node_tri61.existe(tri_existed->get_noeud1())) && (lst_node_tri61.existe(tri_existed->get_noeud2())) && (lst_node_tri61.existe(tri_existed->get_noeud3()))) || ((lst_node_tri62.existe(tri_existed->get_noeud1())) && (lst_node_tri62.existe(tri_existed->get_noeud2())) && (lst_node_tri62.existe(tri_existed->get_noeud3()))) || ((lst_node_tri63.existe(tri_existed->get_noeud1())) && (lst_node_tri63.existe(tri_existed->get_noeud2())) && (lst_node_tri63.existe(tri_existed->get_noeud3()))) || ((lst_node_tri64.existe(tri_existed->get_noeud1())) && (lst_node_tri64.existe(tri_existed->get_noeud2())) && (lst_node_tri64.existe(tri_existed->get_noeud3()))) || ((lst_node_tri65.existe(tri_existed->get_noeud1())) && (lst_node_tri65.existe(tri_existed->get_noeud2())) && (lst_node_tri65.existe(tri_existed->get_noeud3()))) || ((lst_node_tri66.existe(tri_existed->get_noeud1())) && (lst_node_tri66.existe(tri_existed->get_noeud2())) && (lst_node_tri66.existe(tri_existed->get_noeud3()))) || ((lst_node_tri67.existe(tri_existed->get_noeud1())) && (lst_node_tri67.existe(tri_existed->get_noeud2())) && (lst_node_tri67.existe(tri_existed->get_noeud3()))) || ((lst_node_tri68.existe(tri_existed->get_noeud1())) && (lst_node_tri68.existe(tri_existed->get_noeud2())) && (lst_node_tri68.existe(tri_existed->get_noeud3()))) || ((lst_node_tri69.existe(tri_existed->get_noeud1())) && (lst_node_tri69.existe(tri_existed->get_noeud2())) && (lst_node_tri69.existe(tri_existed->get_noeud3()))) || ((lst_node_tri610.existe(tri_existed->get_noeud1())) && (lst_node_tri610.existe(tri_existed->get_noeud2())) && (lst_node_tri610.existe(tri_existed->get_noeud3()))))
2075  {
2076  check_to_creat_tetra=2;
2077  }
2078  else
2079 
2080  {
2081  check_not_to_creat_tetra_6=3;
2082  }
2083  }
2084 
2085  //---------------------------------------------------------------------------------
2086 
2087  if (((qual1>0.001 || qualo1>0.001) && (qual2>0.001 || qualo2>0.001) && (qual3>0.001 || qualo3>0.001)) && (check_not_to_creat_tetra_1!=3) && ((qual4+qualo4+qual5+qualo5+qual6+qualo6)<(qual1+qualo1+qual2+qualo2+qual3+qualo3)) && ((qual7+ qualo7+qual8+qualo8+qual9+qualo9)<(qual1+qualo1+qual2+qualo2+qual3+qualo3)) && ((qual10+ qualo10+qual12+ qualo12+qual11+ qualo11)<(qual1+qualo1+qual2+qualo2+qual3+qualo3)) && ((qual13+qualo13+qual14+qualo14+qual15+ qualo15)<(qual1+qualo1+qual2+qualo2+qual3+qualo3)) && ((qual16+ qualo16+qual17+ qualo17+qual18+qualo18)<(qual1+qualo1+qual2+qualo2+qual3+qualo3)))
2088  {
2089 
2090  if (qual1>0.00001)
2091  {
2092  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
2093 
2094  check_to_go_further=5;
2095 
2096  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2097  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2098 
2099  }
2100  if ((qualo1>0.00001))
2101  {
2102  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
2103  check_to_go_further=5;
2104 
2105  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2106  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2107  }
2108  if ((qual2>0.00001))
2109  {
2110  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2111 
2112  check_to_go_further=5;
2113 
2114  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2115  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2116  }
2117  if ((qualo2>0.00001))
2118 
2119  {
2120  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2121  check_to_go_further=5;
2122 
2123 
2124  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2125  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2126  }
2127  if ((qual3>0.00001))
2128  {
2129  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
2130 
2131  check_to_go_further=5;
2132 
2133 
2134  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2135  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2136  }
2137  if ((qualo3>0.00001))
2138  {
2139  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
2140  check_to_go_further=5;
2141 
2142  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2143  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2144  }
2145  }
2146 
2147  if (((qual4>0.001 || qualo4>0.001) && (qual5>0.001 || qualo5>0.001) && (qual6>0.001 || qualo6>0.001)) && (check_to_go_further==3) && (check_not_to_creat_tetra_2!=3) && ((qual7+ qualo7+qual8+qualo8+qual9+qualo9)<(qual4+qualo4+qual5+qualo5+qual6+qualo6)) && ((qual10+ qualo10+qual12+ qualo12+qual11+ qualo11)<(qual4+qualo4+qual5+qualo5+qual6+qualo6)) && ((qual13+qualo13+qual14+qualo14+qual15+ qualo15)<(qual4+qualo4+qual5+qualo5+qual6+qualo6)) && ((qual16+ qualo16+qual17+ qualo17+qual18+qualo18)<(qual4+qualo4+qual5+qualo5+qual6+qualo6)))
2148  {
2149  if((qual4>0.00001) && (check_not_to_creat_tetra!=3))
2150  {
2151  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
2152  check_to_go_further=5;
2153 
2154  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2155  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2156 
2157 
2158  }
2159  if((qual5>0.00001) && (check_not_to_creat_tetra!=3))
2160  {
2161 
2162  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
2163  check_to_go_further=5;
2164 
2165 
2166  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2167  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2168 
2169 
2170  }
2171  if((qual6>0.00001) && (check_not_to_creat_tetra!=3))
2172  {
2173  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2174  check_to_go_further=5;
2175 
2176  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2177  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2178 
2179 
2180  }
2181  if((qualo4>0.00001) && (check_not_to_creat_tetra!=3))
2182  {
2183  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
2184  check_to_go_further=5;
2185 
2186  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2187  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2188 
2189  }
2190  if((qualo5>0.00001) && (check_not_to_creat_tetra!=3))
2191  {
2192  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
2193  check_to_go_further=5;
2194 
2195  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2196  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2197  }
2198  if((qualo6>0.00001) && (check_not_to_creat_tetra!=3))
2199  {
2200  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2201  check_to_go_further=5;
2202 
2203  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2204  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2205 
2206  }
2207  }
2208 
2209  if (((qual7>0.001 || qualo7>0.001) && (qual8>0.001 || qualo8>0.001) && (qual9>0.001 || qualo9>0.001)) && (check_to_go_further==3) && (check_not_to_creat_tetra_3!=3)&& ((qual10+ qualo10+qual12+ qualo12+qual11+ qualo11)<(qual7+qualo7+qual8+qualo8+qual9+qualo9)) && ((qual13+qualo13+qual14+qualo14+qual15+ qualo15)<(qual7+qualo7+qual8+qualo8+qual9+qualo9)) && ((qual16+ qualo16+qual17+ qualo17+qual18+qualo18)<(qual7+qualo7+qual8+qualo8+qual9+qualo9)))
2210  {
2211  if((qual7>0.00001) && (check_not_to_creat_tetra!=3))
2212  {
2213  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2214  check_to_go_further=5;
2215 
2216  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2217  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2218  }
2219 
2220  if((qualo7>0.00001) && (check_not_to_creat_tetra!=3))
2221  {
2222  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2223  check_to_go_further=5;
2224 
2225  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2226  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2227 
2228  }
2229 
2230  if((qual8>0.00001) && (check_not_to_creat_tetra!=3))
2231  {
2232  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
2233  check_to_go_further=5;
2234 
2235  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2236  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2237 
2238 
2239  }
2240 
2241  if((qualo8>0.00001) && (check_not_to_creat_tetra!=3))
2242  {
2243  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
2244  check_to_go_further=5;
2245 
2246  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2247  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2248 
2249 
2250  }
2251 
2252  if((qual9>0.00001) && (check_not_to_creat_tetra!=3))
2253  {
2254  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
2255 
2256  check_to_go_further=5;
2257 
2258  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2259  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2260 
2261  }
2262 
2263  if((qualo9>0.00001) && (check_not_to_creat_tetra!=3))
2264  {
2265  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
2266  check_to_go_further=5;
2267 
2268  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2269  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2270 
2271  }
2272  }
2273 
2274  if (((qual10>0.001 || qualo10>0.001) && (qual12>0.001 || qualo12>0.001) && (qual11>0.001 || qualo11>0.001)) && (check_to_go_further==3) && (check_not_to_creat_tetra_4!=3)&& ((qual13+qualo13+qual14+qualo14+qual15+ qualo15)<(qual10+qualo10+qual11+qualo11+qual12+qualo12)) && ((qual16+ qualo16+qual17+ qualo17+qual18+qualo18)<(qual10+qualo10+qual11+qualo11+qual12+qualo12)))
2275  {
2276  if((qual10>0.00001) && (check_not_to_creat_tetra!=3))
2277  {
2278  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
2279 
2280  check_to_go_further=5;
2281 
2282 
2283  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2284  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2285  }
2286  if((qualo10>0.00001) && (check_not_to_creat_tetra!=3))
2287  {
2288  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
2289 check_to_go_further=5;
2290 
2291 
2292  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2293  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2294 
2295  }
2296  if((qual11>0.00001) && (check_not_to_creat_tetra!=3))
2297  {
2298  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine());
2299  check_to_go_further=5;
2300 
2301  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2302  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2303 
2304  }
2305  if((qualo11>0.00001) && (check_not_to_creat_tetra!=3))
2306  {
2307 
2308  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine());
2309  check_to_go_further=5;
2310 
2311  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2312  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2313 
2314  }
2315  if((qual12>0.00001) && (check_not_to_creat_tetra!=3))
2316  {
2317  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2318  check_to_go_further=5;
2319 
2320  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2321  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2322 
2323  }
2324  if((qualo12>0.00001) && (check_not_to_creat_tetra!=3))
2325  {
2326  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2327  check_to_go_further=5;
2328 
2329  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2330  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2331 
2332  }
2333 
2334  }
2335 
2336 
2337  if (((qual13>0.001 || qualo13>0.001) && (qual14>0.001 || qualo14>0.001) && (qual15>0.001 || qualo15>0.001)) && (check_to_go_further==3) && (check_not_to_creat_tetra_5!=3)&& ((qual16+ qualo16+qual17+ qualo17+qual18+qualo18)<(qual13+qualo13+qual14+qualo14+qual15+qualo15)))
2338  {
2339  if((qual13>0.00001) && (check_not_to_creat_tetra!=3))
2340  {
2341  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2342  check_to_go_further=5;
2343 
2344 
2345  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2346  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2347 
2348  }
2349 
2350  if((qualo13>0.00001) && (check_not_to_creat_tetra!=3))
2351  {
2352  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2353  check_to_go_further=5;
2354 
2355  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2356  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2357 
2358  }
2359 
2360  if((qual14>0.00001) && (check_not_to_creat_tetra!=3))
2361  {
2362  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
2363 check_to_go_further=5;
2364 
2365  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2366  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2367 
2368 
2369  }
2370 
2371  if((qualo14>0.00001) && (check_not_to_creat_tetra!=3))
2372  {
2373  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
2374 check_to_go_further=5;
2375 
2376  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2377  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2378 
2379  }
2380 
2381  if((qual15>0.00001) && (check_not_to_creat_tetra!=3))
2382  {
2383  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(5),tetra_cutt->get_origine());
2384  check_to_go_further=5;
2385 
2386  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2387  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2388 
2389  }
2390 
2391  if((qualo15>0.00001) && (check_not_to_creat_tetra!=3))
2392  {
2393  check_to_go_further=5;
2394  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(5),tetra_cutt->get_origine());
2395 
2396 
2397  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2398  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2399 
2400  }
2401 
2402  }
2403 
2404  if ((qual16>0.001 || qualo16>0.001) && (qual17>0.001 || qualo17>0.001) && (qual18>0.001 || qualo18>0.001) && (check_to_go_further==3) && (check_not_to_creat_tetra_6!=3))
2405  {
2406  if((qual16>0.00001) && (check_not_to_creat_tetra!=3))
2407  {
2408  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine());
2409 
2410  check_to_go_further=5;
2411 
2412 
2413  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2414  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2415 
2416 
2417  }
2418  if((qualo16>0.00001) && (check_not_to_creat_tetra!=3))
2419  {
2420  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine());
2421 
2422  check_to_go_further=5;
2423 
2424  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2425  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2426 
2427  }
2428  if((qual17>0.00001) && (check_not_to_creat_tetra!=3))
2429  {
2430  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2431 check_to_go_further=5;
2432 
2433  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2434  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2435 
2436  }
2437  if((qualo17>0.00001) && (check_not_to_creat_tetra!=3))
2438  {
2439  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2440 check_to_go_further=5;
2441 
2442 
2443  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2444  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2445 
2446 
2447  }
2448  if((qual18>0.00001) && (check_not_to_creat_tetra!=3))
2449  {
2450  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
2451  check_to_go_further=5;
2452 
2453  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2454  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2455 
2456  }
2457  if((qualo18>0.00001) && (check_not_to_creat_tetra!=3))
2458  {
2459  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
2460 
2461  check_to_go_further=5;
2462  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2463  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2464 
2465  }
2466  }
2467  //==============================SECOND ROUND===============
2468  //=========================================================
2469  if (check_to_go_further==3)
2470  {
2471  if ((qual1>0.001 || qualo1>0.001) && (qual2>0.001 || qualo2>0.001) && (qual3>0.001 || qualo3>0.001) && (check_to_go_further==3) && (check_not_to_creat_tetra_1!=3))
2472  {
2473 
2474  if (qual1>0.00001)
2475  {
2476  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
2477  check_to_go_further=5;
2478 
2479 
2480  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2481  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2482 
2483  }
2484  if ((qualo1>0.00001))
2485  {
2486  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
2487  check_to_go_further=5;
2488 
2489  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2490  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2491  }
2492  if ((qual2>0.00001))
2493  {
2494  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2495 
2496  check_to_go_further=5;
2497 
2498  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2499  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2500  }
2501  if ((qualo2>0.00001))
2502  {
2503  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2504  check_to_go_further=5;
2505 
2506  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2507  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2508  }
2509  if ((qual3>0.00001))
2510  {
2511  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
2512 
2513  check_to_go_further=5;
2514  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2515  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2516  }
2517  if ((qualo3>0.00001))
2518  {
2519  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
2520  check_to_go_further=5;
2521  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2522  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2523  }
2524  }
2525 
2526  if ((qual4>0.001 || qualo4>0.001) && (qual5>0.001 || qualo5>0.001) && (qual6>0.001 || qualo6>0.001) && (check_to_go_further==3) && (check_not_to_creat_tetra_2!=3))
2527  {
2528 
2529  if((qual4>0.00001) && (check_not_to_creat_tetra!=3))
2530  {
2531  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
2532  check_to_go_further=5;
2533 
2534  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2535  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2536  }
2537 
2538  if((qual5>0.00001) && (check_not_to_creat_tetra!=3))
2539  {
2540 m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
2541  check_to_go_further=5;
2542 
2543  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2544  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2545 
2546  }
2547 
2548  if((qual6>0.00001) && (check_not_to_creat_tetra!=3))
2549  {
2550  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2551  check_to_go_further=5;
2552 
2553  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2554  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2555 
2556 
2557  }
2558  if((qualo4>0.00001) && (check_not_to_creat_tetra!=3))
2559  {
2560  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
2561  check_to_go_further=5;
2562 
2563  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2564  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2565 
2566 
2567  }
2568 
2569  if((qualo5>0.00001) && (check_not_to_creat_tetra!=3))
2570  {
2571  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
2572  check_to_go_further=5;
2573 
2574  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2575  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2576 
2577  }
2578 
2579  if((qualo6>0.00001) && (check_not_to_creat_tetra!=3))
2580 
2581  {
2582  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2583  check_to_go_further=5;
2584 
2585  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2586  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2587 
2588  }
2589  }
2590 
2591  if ((qual7>0.001 || qualo7>0.001) && (qual8>0.001 || qualo8>0.001) && (qual9>0.001 || qualo9>0.001) && (check_to_go_further==3) && (check_not_to_creat_tetra_3!=3))
2592  {
2593 
2594 
2595  if((qual7>0.00001) && (check_not_to_creat_tetra!=3))
2596  {
2597  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2598  check_to_go_further=5;
2599 
2600  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2601  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2602 
2603  }
2604 
2605  if((qualo7>0.00001) && (check_not_to_creat_tetra!=3))
2606 
2607  {
2608  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2609  check_to_go_further=5;
2610 
2611  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2612  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2613 
2614  }
2615 
2616 
2617  if((qual8>0.00001) && (check_not_to_creat_tetra!=3))
2618  {
2619  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
2620  check_to_go_further=5;
2621 
2622  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2623  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2624 
2625 
2626  }
2627 
2628  if((qualo8>0.00001) && (check_not_to_creat_tetra!=3))
2629  {
2630  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
2631  check_to_go_further=5;
2632 
2633  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2634  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2635 
2636 
2637  }
2638 
2639  if((qual9>0.00001) && (check_not_to_creat_tetra!=3))
2640  {
2641  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
2642 
2643  check_to_go_further=5;
2644 
2645  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2646  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2647 
2648 
2649  }
2650 
2651 
2652  if((qualo9>0.00001) && (check_not_to_creat_tetra!=3))
2653  {
2654  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
2655  check_to_go_further=5;
2656 
2657  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2658  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2659 
2660  }
2661 
2662  }
2663 
2664  if ((qual10>0.001 || qualo10>0.001) && (qual12>0.001 || qualo12>0.001) && (qual11>0.001 || qualo11>0.001) && (check_to_go_further==3) && (check_not_to_creat_tetra_4!=3))
2665  {
2666  if((qual10>0.00001) && (check_not_to_creat_tetra!=3))
2667  {
2668  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
2669 check_to_go_further=5;
2670 
2671  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2672  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2673 
2674  }
2675  if((qualo10>0.00001) && (check_not_to_creat_tetra!=3))
2676  {
2677  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
2678 check_to_go_further=5;
2679 
2680  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2681  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2682 
2683  }
2684  if((qual11>0.00001) && (check_not_to_creat_tetra!=3))
2685  {
2686  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine());
2687  check_to_go_further=5;
2688 
2689  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2690  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2691 
2692  }
2693  if((qualo11>0.00001) && (check_not_to_creat_tetra!=3))
2694  {
2695 
2696 
2697  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine());
2698  check_to_go_further=5;
2699 
2700  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2701  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2702 
2703  }
2704  if((qual12>0.00001) && (check_not_to_creat_tetra!=3))
2705  {
2706  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2707  check_to_go_further=5;
2708 
2709  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2710  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2711 
2712  }
2713  if((qualo12>0.00001) && (check_not_to_creat_tetra!=3))
2714  {
2715  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2716  check_to_go_further=5;
2717 
2718  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2719  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2720 
2721  }
2722 
2723  }
2724 
2725  if ((qual13>0.001 || qualo13>0.001) && (qual14>0.001 || qualo14>0.001) && (qual15>0.001 || qualo15>0.001) && (check_to_go_further==3) && (check_not_to_creat_tetra_5!=3))
2726  {
2727  if((qual13>0.00001) && (check_not_to_creat_tetra!=3))
2728  {
2729  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2730  check_to_go_further=5;
2731  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2732  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2733 
2734  }
2735 
2736  if((qualo13>0.00001) && (check_not_to_creat_tetra!=3))
2737  {
2738  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2739  check_to_go_further=5;
2740 
2741  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2742  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2743 
2744  }
2745 
2746  if((qual14>0.00001) && (check_not_to_creat_tetra!=3))
2747  {
2748  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
2749 check_to_go_further=5;
2750 
2751  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2752  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2753 
2754  }
2755 
2756  if((qualo14>0.00001) && (check_not_to_creat_tetra!=3))
2757  {
2758  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
2759 check_to_go_further=5;
2760 
2761  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2762  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2763 
2764  }
2765 
2766  if((qual15>0.00001) && (check_not_to_creat_tetra!=3))
2767  {
2768  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(5),tetra_cutt->get_origine());
2769  check_to_go_further=5;
2770 
2771  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2772  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2773 
2774  }
2775 
2776  if((qualo15>0.00001) && (check_not_to_creat_tetra!=3))
2777  {
2778  check_to_go_further=5;
2779  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(5),tetra_cutt->get_origine());
2780 
2781 
2782  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2783  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2784 
2785  }
2786 
2787  }
2788 
2789  if ((qual16>0.001 || qualo16>0.001) && (qual17>0.001 || qualo17>0.001) && (qual18>0.001 || qualo18>0.001) && (check_to_go_further==3) && (check_not_to_creat_tetra_6!=3))
2790  {
2791 
2792  if((qual16>0.00001) && (check_not_to_creat_tetra!=3))
2793  {
2794  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine());
2795 
2796  check_to_go_further=5;
2797 
2798  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2799  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2800  }
2801 
2802  if((qualo16>0.00001) && (check_not_to_creat_tetra!=3))
2803  {
2804  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine());
2805 
2806  check_to_go_further=5;
2807 
2808 
2809  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2810  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2811 
2812  }
2813  if((qual17>0.00001) && (check_not_to_creat_tetra!=3))
2814  {
2815  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2816 check_to_go_further=5;
2817 
2818  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2819  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2820 
2821  }
2822 
2823  if((qualo17>0.00001) && (check_not_to_creat_tetra!=3))
2824  {
2825  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2826 check_to_go_further=5;
2827 
2828 
2829  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2830  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2831 
2832  }
2833 
2834  if((qual18>0.00001) && (check_not_to_creat_tetra!=3))
2835  {
2836  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
2837  check_to_go_further=5;
2838 
2839  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2840  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2841 
2842  }
2843  if((qualo18>0.00001) && (check_not_to_creat_tetra!=3))
2844  {
2845  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
2846 
2847  check_to_go_further=5;
2848  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2849  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2850 
2851  }
2852  }
2853 
2854  }
2855  //=============================Third ROUND================
2856  //=========================================================
2857 
2858  if (check_to_go_further==3)
2859  {
2860  if ((qual1>0.000001 || qualo1>0.000001) && (qual2>0.000001 || qualo2>0.000001) && (qual3>0.000001 || qualo3>0.000001) && (check_to_go_further==3) && (check_not_to_creat_tetra_1!=3))
2861  {
2862 
2863  if (qual1>0.000001)
2864  {
2865  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
2866  check_to_go_further=5;
2867 
2868  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2869  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2870 
2871  }
2872  if ((qualo1>0.000001))
2873  {
2874  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
2875  check_to_go_further=5;
2876 
2877  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2878  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2879  }
2880  if ((qual2>0.000001))
2881  {
2882  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2883 
2884 
2885  check_to_go_further=5;
2886 
2887  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2888  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2889  }
2890  if ((qualo2>0.000001))
2891  {
2892  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2893  check_to_go_further=5;
2894 
2895  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2896  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2897  }
2898 
2899  if ((qual3>0.000001))
2900  {
2901  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
2902 
2903  check_to_go_further=5;
2904 
2905  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2906  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2907  }
2908  if ((qualo3>0.000001))
2909  {
2910  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
2911  check_to_go_further=5;
2912 
2913  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2914  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2915  }
2916  }
2917 
2918  if ((qual4>0.000001 || qualo4>0.000001) && (qual5>0.000001 || qualo5>0.000001) && (qual6>0.000001 || qualo6>0.000001) && (check_to_go_further==3) && (check_not_to_creat_tetra_2!=3))
2919  {
2920 
2921  if((qual4>0.0000001) && (check_not_to_creat_tetra!=3))
2922  {
2923  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
2924  check_to_go_further=5;
2925 
2926  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2927  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2928 
2929 
2930  }
2931 
2932  if((qual5>0.0000001) && (check_not_to_creat_tetra!=3))
2933  {
2934 
2935  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
2936  check_to_go_further=5;
2937 
2938  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2939  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2940 
2941 
2942  }
2943 
2944  if((qual6>0.0000001) && (check_not_to_creat_tetra!=3))
2945  {
2946  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2947  check_to_go_further=5;
2948 
2949  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2950  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2951 
2952 
2953 
2954  }
2955  if((qualo4>0.0000001) && (check_not_to_creat_tetra!=3))
2956  {
2957  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
2958  check_to_go_further=5;
2959 
2960 
2961  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2962  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2963 
2964  }
2965 
2966  if((qualo5>0.0000001) && (check_not_to_creat_tetra!=3))
2967  {
2968  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
2969  check_to_go_further=5;
2970 
2971  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2972  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2973 
2974 
2975  }
2976 
2977  if((qualo6>0.0000001) && (check_not_to_creat_tetra!=3))
2978 
2979  {
2980  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2981  check_to_go_further=5;
2982 
2983  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2984  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2985 
2986  }
2987  }
2988 
2989  if ((qual7>0.000001 || qualo7>0.000001) && (qual8>0.000001 || qualo8>0.000001) && (qual9>0.000001 || qualo9>0.000001) && (check_to_go_further==3) && (check_not_to_creat_tetra_3!=3))
2990  {
2991 
2992 
2993  if((qual7>0.0000001) && (check_not_to_creat_tetra!=3))
2994  {
2995  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
2996  check_to_go_further=5;
2997 
2998  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2999  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3000 
3001  }
3002 
3003  if((qualo7>0.0000001) && (check_not_to_creat_tetra!=3))
3004 
3005  {
3006  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
3007  check_to_go_further=5;
3008 
3009  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3010  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3011 
3012  }
3013 
3014 
3015  if((qual8>0.0000001) && (check_not_to_creat_tetra!=3))
3016  {
3017  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
3018  check_to_go_further=5;
3019 
3020  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3021  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3022 
3023 
3024  }
3025 
3026  if((qualo8>0.0000001) && (check_not_to_creat_tetra!=3))
3027  {
3028  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
3029  check_to_go_further=5;
3030 
3031  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3032  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3033 
3034 
3035  }
3036 
3037  if((qual9>0.0000001) && (check_not_to_creat_tetra!=3))
3038  {
3039  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
3040 
3041  check_to_go_further=5;
3042 
3043  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3044  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3045 
3046 
3047  }
3048 
3049 
3050  if((qualo9>0.0000001) && (check_not_to_creat_tetra!=3))
3051  {
3052  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
3053  check_to_go_further=5;
3054 
3055  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3056  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3057 
3058  }
3059 
3060  }
3061 
3062  if ((qual10>0.000001 || qualo10>0.000001) && (qual12>0.000001 || qualo12>0.000001) && (qual11>0.000001 || qualo11>0.000001) && (check_to_go_further==3) && (check_not_to_creat_tetra_4!=3))
3063  {
3064  if((qual10>0.0000001) && (check_not_to_creat_tetra!=3))
3065  {
3066  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
3067 check_to_go_further=5;
3068 
3069  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3070  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3071 
3072  }
3073  if((qualo10>0.0000001) && (check_not_to_creat_tetra!=3))
3074  {
3075  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
3076 check_to_go_further=5;
3077 
3078  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3079  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3080 
3081  }
3082  if((qual11>0.0000001) && (check_not_to_creat_tetra!=3))
3083  {
3084  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine());
3085  check_to_go_further=5;
3086 
3087  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3088  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3089 
3090 
3091  }
3092  if((qualo11>0.0000001) && (check_not_to_creat_tetra!=3))
3093  {
3094 
3095  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine());
3096  check_to_go_further=5;
3097 
3098  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3099  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3100 
3101  }
3102  if((qual12>0.0000001) && (check_not_to_creat_tetra!=3))
3103  {
3104  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
3105  check_to_go_further=5;
3106 
3107  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3108  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3109 
3110  }
3111  if((qualo12>0.0000001) && (check_not_to_creat_tetra!=3))
3112  {
3113  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
3114  check_to_go_further=5;
3115 
3116  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3117  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3118 
3119  }
3120 
3121  }
3122 
3123  if ((qual13>0.000001 || qualo13>0.000001) && (qual14>0.000001 || qualo14>0.000001) && (qual15>0.000001 || qualo15>0.000001) && (check_to_go_further==3) && (check_not_to_creat_tetra_5!=3))
3124  {
3125  if((qual13>0.0000001) && (check_not_to_creat_tetra!=3))
3126  {
3127  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
3128  check_to_go_further=5;
3129 
3130  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3131  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3132  }
3133 
3134  if((qualo13>0.0000001) && (check_not_to_creat_tetra!=3))
3135  {
3136  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
3137  check_to_go_further=5;
3138 
3139  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3140  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3141 
3142  }
3143 
3144  if((qual14>0.0000001) && (check_not_to_creat_tetra!=3))
3145  {
3146  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
3147 check_to_go_further=5;
3148 
3149  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3150  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3151  }
3152 
3153  if((qualo14>0.0000001) && (check_not_to_creat_tetra!=3))
3154  {
3155  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(5),tetra_cutt->get_origine());
3156 check_to_go_further=5;
3157 
3158  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3159  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3160 
3161  }
3162 
3163  if((qual15>0.0000001) && (check_not_to_creat_tetra!=3))
3164  {
3165  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(5),tetra_cutt->get_origine());
3166  check_to_go_further=5;
3167 
3168  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3169  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3170 
3171  }
3172 
3173  if((qualo15>0.0000001) && (check_not_to_creat_tetra!=3))
3174  {
3175  check_to_go_further=5;
3176  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(5),tetra_cutt->get_origine());
3177 
3178 
3179  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3180  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3181 
3182  }
3183 
3184  }
3185 
3186  if ((qual16>0.000001 || qualo16>0.000001) && (qual17>0.000001 || qualo17>0.000001) && (qual18>0.000001 || qualo18>0.000001) && (check_to_go_further==3) && (check_not_to_creat_tetra_6!=3))
3187  {
3188 
3189  if((qual16>0.0000001) && (check_not_to_creat_tetra!=3))
3190  {
3191  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine());
3192 
3193  check_to_go_further=5;
3194 
3195  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3196  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3197 
3198 
3199  }
3200 
3201  if((qualo16>0.0000001) && (check_not_to_creat_tetra!=3))
3202  {
3203  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine());
3204 
3205  check_to_go_further=5;
3206 
3207 
3208  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3209  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3210 
3211  }
3212  if((qual17>0.0000001) && (check_not_to_creat_tetra!=3))
3213  {
3214  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
3215 check_to_go_further=5;
3216 
3217  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3218  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3219 
3220  }
3221 
3222  if((qualo17>0.0000001) && (check_not_to_creat_tetra!=3))
3223  {
3224  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(5),tetra_cutt->get_origine());
3225 check_to_go_further=5;
3226 
3227 
3228  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3229  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3230 
3231  }
3232 
3233  if((qual18>0.0000001) && (check_not_to_creat_tetra!=3))
3234  {
3235  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
3236  check_to_go_further=5;
3237 
3238  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3239  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3240 
3241  }
3242  if((qualo18>0.0000001) && (check_not_to_creat_tetra!=3))
3243  {
3244  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
3245 
3246 
3247  check_to_go_further=5;
3248  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3249  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3250 
3251  }
3252  }
3253 
3254  }
3255  //=============================DEAD ENDD================
3256  //=========================================================
3257  if (check_to_go_further==3)
3258  {
3259 
3260  int nb_ttri_alreday= lst_tri_already_existed.get_nb();
3261 
3262  if((nb_ttri_alreday==7) || (nb_ttri_alreday==8))
3263  {
3264  p_cut_middle[0]=(((lst_node_in_second.get(0)->get_x())+(lst_node_in_second.get(1)->get_x())+(lst_node_in_second.get(2)->get_x())+(lst_node_in_second.get(3)->get_x())+(lst_node_in_second.get(4)->get_x())+(lst_node_in_second.get(5)->get_x()))/6);
3265 
3266  p_cut_middle[1]=(((lst_node_in_second.get(0)->get_y())+(lst_node_in_second.get(1)->get_y())+(lst_node_in_second.get(2)->get_y())+(lst_node_in_second.get(3)->get_y())+(lst_node_in_second.get(4)->get_y())+(lst_node_in_second.get(5)->get_y()))/6);
3267 
3268  p_cut_middle[2]=(((lst_node_in_second.get(0)->get_z())+(lst_node_in_second.get(1)->get_z())+(lst_node_in_second.get(2)->get_z())+(lst_node_in_second.get(3)->get_z())+(lst_node_in_second.get(4)->get_z())+(lst_node_in_second.get(5)->get_z()))/6);
3269 
3270 
3271  MG_NOEUD* node_added_middle=new MG_NOEUD(lst_node_in_second.get(0)->get_lien_topologie(),p_cut_middle[0],p_cut_middle[1],p_cut_middle[2],MAGIC::ORIGINE::MAILLEUR_AUTO);
3272 
3273 
3274  m_mg_maillage->ajouter_mg_noeud(node_added_middle);
3275  // node_added_middle->get_lien_topologie()->get_lien_maillage()->ajouter(node_added_middle);
3276  double quality1=OPERATEUR::qualite_tetra(node_added_middle->get_coord(),lst_tri_already_existed.get(0)->get_noeud1()->get_coord(),lst_tri_already_existed.get(0)->get_noeud2()->get_coord(),lst_tri_already_existed.get(0)->get_noeud3()->get_coord());
3277 
3278  double qualityo1=OPERATEUR::qualite_tetra(lst_tri_already_existed.get(0)->get_noeud1()->get_coord(),node_added_middle->get_coord(),lst_tri_already_existed.get(0)->get_noeud2()->get_coord(),lst_tri_already_existed.get(0)->get_noeud3()->get_coord());
3279 
3280  //-------------------------------------------
3281  double quality2=OPERATEUR::qualite_tetra(node_added_middle->get_coord(),lst_tri_already_existed.get(1)->get_noeud1()->get_coord(),lst_tri_already_existed.get(1)->get_noeud2()->get_coord(),lst_tri_already_existed.get(1)->get_noeud3()->get_coord());
3282 
3283  double qualityo2=OPERATEUR::qualite_tetra(lst_tri_already_existed.get(1)->get_noeud1()->get_coord(),node_added_middle->get_coord(),lst_tri_already_existed.get(1)->get_noeud2()->get_coord(),lst_tri_already_existed.get(1)->get_noeud3()->get_coord());
3284  //----------------------------------------------
3285  double quality3=OPERATEUR::qualite_tetra(node_added_middle->get_coord(),lst_tri_already_existed.get(2)->get_noeud1()->get_coord(),lst_tri_already_existed.get(2)->get_noeud2()->get_coord(),lst_tri_already_existed.get(2)->get_noeud3()->get_coord());
3286 
3287  double qualityo3=OPERATEUR::qualite_tetra(lst_tri_already_existed.get(2)->get_noeud1()->get_coord(),node_added_middle->get_coord(),lst_tri_already_existed.get(2)->get_noeud2()->get_coord(),lst_tri_already_existed.get(2)->get_noeud3()->get_coord());
3288  //-------------------------------------------------------
3289  double quality4=OPERATEUR::qualite_tetra(node_added_middle->get_coord(),lst_tri_already_existed.get(3)->get_noeud1()->get_coord(),lst_tri_already_existed.get(3)->get_noeud2()->get_coord(),lst_tri_already_existed.get(3)->get_noeud3()->get_coord());
3290 
3291  double qualityo4=OPERATEUR::qualite_tetra(lst_tri_already_existed.get(3)->get_noeud1()->get_coord(),node_added_middle->get_coord(),lst_tri_already_existed.get(3)->get_noeud2()->get_coord(),lst_tri_already_existed.get(3)->get_noeud3()->get_coord());
3292  //----------------------------------------------------------
3293  double quality5=OPERATEUR::qualite_tetra(node_added_middle->get_coord(),lst_tri_already_existed.get(4)->get_noeud1()->get_coord(),lst_tri_already_existed.get(4)->get_noeud2()->get_coord(),lst_tri_already_existed.get(4)->get_noeud3()->get_coord());
3294 
3295  double qualityo5=OPERATEUR::qualite_tetra(lst_tri_already_existed.get(4)->get_noeud1()->get_coord(),node_added_middle->get_coord(),lst_tri_already_existed.get(4)->get_noeud2()->get_coord(),lst_tri_already_existed.get(4)->get_noeud3()->get_coord());
3296  //-----------------------------------------------------------------
3297  double quality6=OPERATEUR::qualite_tetra(node_added_middle->get_coord(),lst_tri_already_existed.get(5)->get_noeud1()->get_coord(),lst_tri_already_existed.get(5)->get_noeud2()->get_coord(),lst_tri_already_existed.get(5)->get_noeud3()->get_coord());
3298 
3299  double qualityo6=OPERATEUR::qualite_tetra(lst_tri_already_existed.get(5)->get_noeud1()->get_coord(),node_added_middle->get_coord(),lst_tri_already_existed.get(5)->get_noeud2()->get_coord(),lst_tri_already_existed.get(5)->get_noeud3()->get_coord());
3300  //----------------------------------------------------------------------
3301  double quality7=OPERATEUR::qualite_tetra(node_added_middle->get_coord(),lst_tri_already_existed.get(6)->get_noeud1()->get_coord(),lst_tri_already_existed.get(6)->get_noeud2()->get_coord(),lst_tri_already_existed.get(6)->get_noeud3()->get_coord());
3302 
3303  double qualityo7=OPERATEUR::qualite_tetra(lst_tri_already_existed.get(6)->get_noeud1()->get_coord(),node_added_middle->get_coord(),lst_tri_already_existed.get(6)->get_noeud2()->get_coord(),lst_tri_already_existed.get(6)->get_noeud3()->get_coord());
3304  //-------------------------------------------------------------
3305 
3306 
3307  if (quality1>0.0001)
3308  {
3309  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),node_added_middle,lst_tri_already_existed.get(0)->get_noeud1(),lst_tri_already_existed.get(0)->get_noeud2(),lst_tri_already_existed.get(0)->get_noeud3(),tetra_cutt->get_origine());
3310 
3311  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3312  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3313  check_to_go_further=5;
3314 
3315  }
3316  if (qualityo1>0.0001)
3317  {
3318  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_tri_already_existed.get(0)->get_noeud1(),node_added_middle,lst_tri_already_existed.get(0)->get_noeud2(),lst_tri_already_existed.get(0)->get_noeud3(),tetra_cutt->get_origine());
3319  check_to_go_further=5;
3320  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3321  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3322  }
3323  if (quality2>0.0001)
3324  {
3325  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),node_added_middle,lst_tri_already_existed.get(1)->get_noeud1(),lst_tri_already_existed.get(1)->get_noeud2(),lst_tri_already_existed.get(1)->get_noeud3(),tetra_cutt->get_origine());
3326  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3327  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3328 
3329 
3330  }
3331  if (qualityo2>0.0001)
3332  {
3333  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_tri_already_existed.get(1)->get_noeud1(),node_added_middle,lst_tri_already_existed.get(1)->get_noeud2(),lst_tri_already_existed.get(1)->get_noeud3(),tetra_cutt->get_origine());
3334 
3335  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3336  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3337  ;
3338  }
3339  if (quality3>0.0001)
3340  {
3341  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),node_added_middle,lst_tri_already_existed.get(2)->get_noeud1(),lst_tri_already_existed.get(2)->get_noeud2(),lst_tri_already_existed.get(2)->get_noeud3(),tetra_cutt->get_origine());
3342 
3343  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3344  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3345 
3346  }
3347  if (qualityo3>0.0001)
3348  {
3349  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_tri_already_existed.get(2)->get_noeud1(),node_added_middle,lst_tri_already_existed.get(2)->get_noeud2(),lst_tri_already_existed.get(2)->get_noeud3(),tetra_cutt->get_origine());
3350  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3351  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3352 
3353  }
3354  if (quality4>0.0001)
3355  {
3356  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),node_added_middle,lst_tri_already_existed.get(3)->get_noeud1(),lst_tri_already_existed.get(3)->get_noeud2(),lst_tri_already_existed.get(3)->get_noeud3(),tetra_cutt->get_origine());
3357  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3358  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3359 
3360  }
3361  if (qualityo4>0.0001)
3362  {
3363  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_tri_already_existed.get(3)->get_noeud1(),node_added_middle,lst_tri_already_existed.get(3)->get_noeud2(),lst_tri_already_existed.get(3)->get_noeud3(),tetra_cutt->get_origine());
3364  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3365  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3366 
3367  }
3368  if (quality5>0.0001)
3369  {
3370  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),node_added_middle,lst_tri_already_existed.get(4)->get_noeud1(),lst_tri_already_existed.get(4)->get_noeud2(),lst_tri_already_existed.get(4)->get_noeud3(),tetra_cutt->get_origine());
3371 
3372  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3373  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3374 
3375  }
3376  if (qualityo5>0.0001)
3377  {
3378  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_tri_already_existed.get(4)->get_noeud1(),node_added_middle,lst_tri_already_existed.get(4)->get_noeud2(),lst_tri_already_existed.get(4)->get_noeud3(),tetra_cutt->get_origine());
3379  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3380  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3381 
3382 
3383  }
3384  if (quality6>0.0001)
3385  {
3386  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),node_added_middle,lst_tri_already_existed.get(5)->get_noeud1(),lst_tri_already_existed.get(5)->get_noeud2(),lst_tri_already_existed.get(5)->get_noeud3(),tetra_cutt->get_origine());
3387  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3388  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3389 
3390  }
3391  if (qualityo6>0.0001)
3392  {
3393  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_tri_already_existed.get(5)->get_noeud1(),node_added_middle,lst_tri_already_existed.get(5)->get_noeud2(),lst_tri_already_existed.get(5)->get_noeud3(),tetra_cutt->get_origine());
3394  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3395  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3396 
3397  }
3398  if (quality7>0.0001)
3399  {
3400  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),node_added_middle,lst_tri_already_existed.get(6)->get_noeud1(),lst_tri_already_existed.get(6)->get_noeud2(),lst_tri_already_existed.get(6)->get_noeud3(),tetra_cutt->get_origine());
3401 
3402  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3403  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3404 
3405  }
3406  if (qualityo7>0.0001)
3407  {
3408  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_tri_already_existed.get(6)->get_noeud1(),node_added_middle,lst_tri_already_existed.get(6)->get_noeud2(),lst_tri_already_existed.get(6)->get_noeud3(),tetra_cutt->get_origine());
3409  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3410 nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3411 
3412  }
3413 
3414  //-------------------------------------------------------------------
3415  if(nb_ttri_alreday==8)
3416  {
3417  double quality8=OPERATEUR::qualite_tetra(node_added_middle->get_coord(),lst_tri_already_existed.get(7)->get_noeud1()->get_coord(),lst_tri_already_existed.get(7)->get_noeud2()->get_coord(),lst_tri_already_existed.get(7)->get_noeud3()->get_coord());
3418 
3419  double qualityo8=OPERATEUR::qualite_tetra(lst_tri_already_existed.get(7)->get_noeud1()->get_coord(),node_added_middle->get_coord(),lst_tri_already_existed.get(7)->get_noeud2()->get_coord(),lst_tri_already_existed.get(7)->get_noeud3()->get_coord());
3420 
3421  if (quality8>0.0001)
3422  {
3423  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),node_added_middle,lst_tri_already_existed.get(7)->get_noeud1(),lst_tri_already_existed.get(7)->get_noeud2(),lst_tri_already_existed.get(7)->get_noeud3(),tetra_cutt->get_origine());
3424 
3425  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3426  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3427 
3428  }
3429 
3430  if (qualityo8>0.0001)
3431  {
3432  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_tri_already_existed.get(7)->get_noeud1(),node_added_middle,lst_tri_already_existed.get(7)->get_noeud2(),lst_tri_already_existed.get(7)->get_noeud3(),tetra_cutt->get_origine());
3433 
3434  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3435  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3436 
3437  }
3438  }
3439  if(nb_ttri_alreday==7)
3440  {
3441 
3442  double quality8=OPERATEUR::qualite_tetra(node_added_middle->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord());
3443 
3444  double qualityo8=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),node_added_middle->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord());
3445 
3446 
3447  if (quality8>0.0001)
3448  {
3449  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),node_added_middle,lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine());
3450 
3451  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3452  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3453 
3454  }
3455 
3456  if (qualityo8>0.0001)
3457  {
3458  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),node_added_middle,lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine());
3459  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3460  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3461 
3462  }
3463  }
3464  }
3465 
3466  }
3467  if (check_to_go_further==3)
3468  {
3469  printf(" not created 6--3!!!!!!!! \n\n");
3470  return;
3471 
3472  }
3473 
3474  lst_tri_already_existed.vide();
3475  lst_node_tri11.vide();lst_node_tri12.vide();lst_node_tri13.vide();lst_node_tri14.vide();lst_node_tri15.vide();lst_node_tri16.vide();lst_node_tri17.vide();lst_node_tri18.vide();lst_node_tri19.vide();lst_node_tri110.vide();
3476 
3477  lst_node_tri21.vide();lst_node_tri22.vide();lst_node_tri23.vide();lst_node_tri24.vide();lst_node_tri25.vide();lst_node_tri26.vide();lst_node_tri27.vide();lst_node_tri28.vide();
3478  lst_node_tri29.vide();lst_node_tri210.vide();
3479 
3480  lst_node_tri31.vide();lst_node_tri32.vide();lst_node_tri33.vide();lst_node_tri34.vide();lst_node_tri35.vide();lst_node_tri36.vide();lst_node_tri37.vide();lst_node_tri38.vide();
3481  lst_node_tri39.vide();lst_node_tri310.vide();
3482 
3483  lst_node_tri41.vide();lst_node_tri42.vide();lst_node_tri43.vide();lst_node_tri44.vide();lst_node_tri45.vide();lst_node_tri46.vide();lst_node_tri47.vide();lst_node_tri48.vide();
3484  lst_node_tri49.vide();lst_node_tri410.vide();
3485 
3486  lst_node_tri51.vide();lst_node_tri52.vide();lst_node_tri53.vide();lst_node_tri54.vide();lst_node_tri55.vide();lst_node_tri56.vide();lst_node_tri57.vide();lst_node_tri58.vide();
3487  lst_node_tri59.vide();lst_node_tri510.vide();
3488 
3489  lst_node_tri61.vide();lst_node_tri62.vide();lst_node_tri63.vide();lst_node_tri64.vide();lst_node_tri65.vide();lst_node_tri66.vide();lst_node_tri67.vide();lst_node_tri68.vide();
3490  lst_node_tri69.vide();lst_node_tri610.vide();
3491 
3492 }
3493 void MSTRUCT_VES_DECOUP::generer_tetra_6node_4seg(MG_TETRA* tetra_cutt, TPL_MAP_ENTITE<MG_NOEUD*> lst_node_in, TPL_LISTE_ENTITE<MG_NOEUD*> lst_node_in_second, int& nb_tet_6nodes_accepted, int& nb_tet_6nodes_accepted_2original, std::map<MG_NOEUD*,MG_NOEUD*> map_correspondance_node_node_out)
3494 {
3495 
3496  TPL_MAP_ENTITE<MG_TETRA*> lst_tet_added;
3497  double qualite_min_3D=std::numeric_limits< double >::max();
3498  double qualite_max_3D=std::numeric_limits< double >::min();
3499  double qualite_moyenne_3D=0;
3500 
3501  TPL_MAP_ENTITE<MG_TRIANGLE*>lst_tri_already_existed;
3502 
3503  int identi000=lst_node_in_second.get(0)->get_id();
3504  int identi111=lst_node_in_second.get(1)->get_id();
3505  int identi222=lst_node_in_second.get(2)->get_id();
3506  int identi333=lst_node_in_second.get(3)->get_id();
3507  int identi444=lst_node_in_second.get(4)->get_id();
3508  int identi555=lst_node_in_second.get(5)->get_id();
3509  int identi666=lst_node_in_second.get(6)->get_id();
3510  int identi777=lst_node_in_second.get(7)->get_id();
3511 
3512  TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri11;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri12;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri13;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri14;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri15;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri16;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri17;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri18;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri19;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri110;
3513 
3514  TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri21;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri22;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri23;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri24;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri25;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri26;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri27;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri28;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri29;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri210;
3515 
3516  TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri31;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri32;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri33;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri34;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri35;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri36;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri37;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri38;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri39;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri310;
3517 
3518  TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri41;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri42;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri43;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri44;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri45;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri46;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri47;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri48;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri49;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri410;
3519 
3520  TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri51;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri52;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri53;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri54;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri55;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri56;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri57;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri58;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri59;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri510;
3521 
3522  TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri61;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri62;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri63;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri64;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri65;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri66;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri67;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri68;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri69;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri610;
3523  //--------------------------------------------------------------------------------------
3524 
3525 
3526  double quall1=0;double quall2=0;double quall3=0;double quall4=0;double quall5=0;double quall6=0;double quall7=0;double quall8=0;double quall9=0;double quall10=0;double quall11=0;double quall12=0;double quall13=0;double quall14=0;double quall15=0;double quall16=0;double quall17=0;double quall18=0;
3527 
3528  double quallo1=0;double quallo2=0;double quallo3=0;double quallo4=0;double quallo5=0;double quallo6=0;double quallo7=0;double quallo8=0;double quallo9=0;double quallo10=0;double quallo11=0;double quallo12=0;double quallo13=0;double quallo14=0;double quallo15=0;double quallo16=0;double quallo17=0;double quallo18=0;
3529 
3530  //===============================For each of 6 nodes of prism=============================
3531  for (int ll=0;ll<6;ll++)
3532  {
3533  int ntt=lst_node_in.get(ll)->get_lien_triangle()->get_nb();
3534  //===============================For each triangle of nb triangles of each node===============
3535  if(ntt>0)
3536  {
3537  for(int mm=0;mm<ntt;mm++)
3538  {
3539  MG_TRIANGLE* tri_related_nodee= lst_node_in.get(ll)->get_lien_triangle()->get(mm);
3540 
3541  if((lst_node_in.existe(tri_related_nodee->get_noeud1()))&&(lst_node_in.existe(tri_related_nodee->get_noeud2()))&&(lst_node_in.existe(tri_related_nodee->get_noeud3())))
3542  {
3543  lst_tri_already_existed.ajouter(tri_related_nodee);
3544  }}}}
3545 
3546  int check_not_to_creat_tetra=0;
3547  int check_to_creat_tetra=0;
3548  int check_to_go_further=3;
3549 
3550 
3551  if (identi111 == identi555)
3552  {
3553 
3554  int id_node_common0=(map_correspondance_node_node_out.find(lst_node_in_second.get(0))->second)->get_id();
3555  int id_node_common2=(map_correspondance_node_node_out.find(lst_node_in_second.get(2))->second)->get_id();
3556  int id_node_common4=(map_correspondance_node_node_out.find(lst_node_in_second.get(4))->second)->get_id();
3557  int id_node_common6=(map_correspondance_node_node_out.find(lst_node_in_second.get(6))->second)->get_id();
3558 
3559 
3560  if(id_node_common0==id_node_common2)
3561  {
3562 
3563  //============================================Getting the Qualities===============================================
3564  //====================================================================================================================
3565 
3566  quall1=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
3567 
3568  quall2=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
3569 
3570  quall3=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(6)->get_coord());
3571 
3572  //----------------------------------------------------
3573  quallo1=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
3574 
3575  quallo2=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
3576 
3577  quallo3=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(6)->get_coord());
3578 
3579  lst_node_tri11.ajouter(lst_node_in_second.get(1));
3580  lst_node_tri11.ajouter(lst_node_in_second.get(2));
3581  lst_node_tri11.ajouter(lst_node_in_second.get(3));
3582 
3583  lst_node_tri12.ajouter(lst_node_in_second.get(1));
3584  lst_node_tri12.ajouter(lst_node_in_second.get(2));
3585  lst_node_tri12.ajouter(lst_node_in_second.get(6));
3586 
3587  lst_node_tri13.ajouter(lst_node_in_second.get(1));
3588  lst_node_tri13.ajouter(lst_node_in_second.get(3));
3589  lst_node_tri13.ajouter(lst_node_in_second.get(6));
3590 
3591  lst_node_tri14.ajouter(lst_node_in_second.get(2));
3592  lst_node_tri14.ajouter(lst_node_in_second.get(3));
3593  lst_node_tri14.ajouter(lst_node_in_second.get(6));
3594 
3595  lst_node_tri15.ajouter(lst_node_in_second.get(0));
3596  lst_node_tri15.ajouter(lst_node_in_second.get(1));
3597  lst_node_tri15.ajouter(lst_node_in_second.get(4));
3598 
3599  lst_node_tri16.ajouter(lst_node_in_second.get(0));
3600  lst_node_tri16.ajouter(lst_node_in_second.get(1));
3601  lst_node_tri16.ajouter(lst_node_in_second.get(6));
3602 
3603  lst_node_tri17.ajouter(lst_node_in_second.get(0));
3604  lst_node_tri17.ajouter(lst_node_in_second.get(4));
3605  lst_node_tri17.ajouter(lst_node_in_second.get(6));
3606 
3607  lst_node_tri18.ajouter(lst_node_in_second.get(1));
3608  lst_node_tri18.ajouter(lst_node_in_second.get(4));
3609  lst_node_tri18.ajouter(lst_node_in_second.get(6));
3610 
3611  lst_node_tri19.ajouter(lst_node_in_second.get(0));
3612  lst_node_tri19.ajouter(lst_node_in_second.get(1));
3613  lst_node_tri19.ajouter(lst_node_in_second.get(2));
3614 
3615  lst_node_tri110.ajouter(lst_node_in_second.get(0));
3616  lst_node_tri110.ajouter(lst_node_in_second.get(2));
3617  lst_node_tri110.ajouter(lst_node_in_second.get(6));
3618 
3619  //----------------------------------------------------
3620  //----------------------------------------------------
3621  quall4=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
3622 
3623  quall5=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord());
3624 
3625 
3626  quall6=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
3627 
3628  //----------------------------------------------------
3629  quallo4=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
3630 
3631  quallo5=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord());
3632 
3633  quallo6=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
3634 
3635  lst_node_tri21.ajouter(lst_node_in_second.get(1));
3636  lst_node_tri21.ajouter(lst_node_in_second.get(2));
3637  lst_node_tri21.ajouter(lst_node_in_second.get(3));
3638 
3639  lst_node_tri22.ajouter(lst_node_in_second.get(1));
3640  lst_node_tri22.ajouter(lst_node_in_second.get(2));
3641  lst_node_tri22.ajouter(lst_node_in_second.get(6));
3642 
3643  lst_node_tri23.ajouter(lst_node_in_second.get(1));
3644  lst_node_tri23.ajouter(lst_node_in_second.get(3));
3645  lst_node_tri23.ajouter(lst_node_in_second.get(6));
3646 
3647  lst_node_tri24.ajouter(lst_node_in_second.get(2));
3648  lst_node_tri24.ajouter(lst_node_in_second.get(3));
3649  lst_node_tri24.ajouter(lst_node_in_second.get(6));
3650 
3651  lst_node_tri25.ajouter(lst_node_in_second.get(0));
3652  lst_node_tri25.ajouter(lst_node_in_second.get(1));
3653  lst_node_tri25.ajouter(lst_node_in_second.get(2));
3654 
3655  lst_node_tri26.ajouter(lst_node_in_second.get(0));
3656  lst_node_tri26.ajouter(lst_node_in_second.get(1));
3657  lst_node_tri26.ajouter(lst_node_in_second.get(4));
3658 
3659  lst_node_tri27.ajouter(lst_node_in_second.get(0));
3660  lst_node_tri27.ajouter(lst_node_in_second.get(2));
3661  lst_node_tri27.ajouter(lst_node_in_second.get(4));
3662 
3663  lst_node_tri28.ajouter(lst_node_in_second.get(1));
3664  lst_node_tri28.ajouter(lst_node_in_second.get(2));
3665  lst_node_tri28.ajouter(lst_node_in_second.get(4));
3666 
3667  lst_node_tri29.ajouter(lst_node_in_second.get(1));
3668  lst_node_tri29.ajouter(lst_node_in_second.get(4));
3669  lst_node_tri29.ajouter(lst_node_in_second.get(6));
3670 
3671  lst_node_tri210.ajouter(lst_node_in_second.get(2));
3672  lst_node_tri210.ajouter(lst_node_in_second.get(4));
3673  lst_node_tri210.ajouter(lst_node_in_second.get(6));
3674  //----------------------------------------------------
3675  //----------------------------------------------------
3676  quall7=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
3677 
3678  quall8=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
3679 
3680  quall9=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord());
3681 
3682  //----------------------------------------------------
3683  quallo7=OPERATEUR::qualite_tetra(lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
3684 
3685  quallo8=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
3686 
3687  quallo9=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord());
3688 
3689  lst_node_tri31.ajouter(lst_node_in_second.get(3));
3690  lst_node_tri31.ajouter(lst_node_in_second.get(2));
3691  lst_node_tri31.ajouter(lst_node_in_second.get(4));
3692 
3693  lst_node_tri32.ajouter(lst_node_in_second.get(2));
3694  lst_node_tri32.ajouter(lst_node_in_second.get(3));
3695  lst_node_tri32.ajouter(lst_node_in_second.get(6));
3696 
3697  lst_node_tri33.ajouter(lst_node_in_second.get(2));
3698  lst_node_tri33.ajouter(lst_node_in_second.get(4));
3699  lst_node_tri33.ajouter(lst_node_in_second.get(6));
3700 
3701  lst_node_tri34.ajouter(lst_node_in_second.get(3));
3702  lst_node_tri34.ajouter(lst_node_in_second.get(4));
3703  lst_node_tri34.ajouter(lst_node_in_second.get(6));
3704 
3705  lst_node_tri35.ajouter(lst_node_in_second.get(2));
3706  lst_node_tri35.ajouter(lst_node_in_second.get(1));
3707  lst_node_tri35.ajouter(lst_node_in_second.get(3));
3708 
3709  lst_node_tri36.ajouter(lst_node_in_second.get(2));
3710  lst_node_tri36.ajouter(lst_node_in_second.get(1));
3711  lst_node_tri36.ajouter(lst_node_in_second.get(4));
3712 
3713  lst_node_tri37.ajouter(lst_node_in_second.get(1));
3714  lst_node_tri37.ajouter(lst_node_in_second.get(3));
3715 
3716  lst_node_tri37.ajouter(lst_node_in_second.get(4));
3717 
3718  lst_node_tri38.ajouter(lst_node_in_second.get(0));
3719  lst_node_tri38.ajouter(lst_node_in_second.get(1));
3720  lst_node_tri38.ajouter(lst_node_in_second.get(2));
3721 
3722  lst_node_tri39.ajouter(lst_node_in_second.get(0));
3723  lst_node_tri39.ajouter(lst_node_in_second.get(2));
3724  lst_node_tri39.ajouter(lst_node_in_second.get(4));
3725 
3726  lst_node_tri310.ajouter(lst_node_in_second.get(0));
3727  lst_node_tri310.ajouter(lst_node_in_second.get(1));
3728  lst_node_tri310.ajouter(lst_node_in_second.get(4));
3729  //----------------------------------------------------
3730  //----------------------------------------------------
3731  quall10=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
3732 
3733  quall11=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
3734 
3735  quall12=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
3736  //----------------------------------------------------
3737  quallo10=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
3738 
3739  quallo11=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
3740 
3741  quallo12=OPERATEUR::qualite_tetra(lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
3742 
3743  lst_node_tri41.ajouter(lst_node_in_second.get(0));
3744  lst_node_tri41.ajouter(lst_node_in_second.get(2));
3745  lst_node_tri41.ajouter(lst_node_in_second.get(3));
3746 
3747  lst_node_tri48.ajouter(lst_node_in_second.get(0));
3748  lst_node_tri48.ajouter(lst_node_in_second.get(2));
3749  lst_node_tri48.ajouter(lst_node_in_second.get(6));
3750 
3751 
3752  lst_node_tri42.ajouter(lst_node_in_second.get(0));
3753  lst_node_tri42.ajouter(lst_node_in_second.get(3));
3754  lst_node_tri42.ajouter(lst_node_in_second.get(6));
3755 
3756  lst_node_tri43.ajouter(lst_node_in_second.get(2));
3757  lst_node_tri43.ajouter(lst_node_in_second.get(3));
3758  lst_node_tri43.ajouter(lst_node_in_second.get(6));
3759 
3760  lst_node_tri44.ajouter(lst_node_in_second.get(0));
3761  lst_node_tri44.ajouter(lst_node_in_second.get(1));
3762  lst_node_tri44.ajouter(lst_node_in_second.get(3));
3763 
3764  lst_node_tri45.ajouter(lst_node_in_second.get(0));
3765  lst_node_tri45.ajouter(lst_node_in_second.get(1));
3766  lst_node_tri45.ajouter(lst_node_in_second.get(4));
3767 
3768  lst_node_tri46.ajouter(lst_node_in_second.get(0));
3769  lst_node_tri46.ajouter(lst_node_in_second.get(3));
3770  lst_node_tri46.ajouter(lst_node_in_second.get(4));
3771 
3772  lst_node_tri47.ajouter(lst_node_in_second.get(1));
3773  lst_node_tri47.ajouter(lst_node_in_second.get(3));
3774  lst_node_tri47.ajouter(lst_node_in_second.get(4));
3775 
3776  lst_node_tri49.ajouter(lst_node_in_second.get(0));
3777  lst_node_tri49.ajouter(lst_node_in_second.get(4));
3778  lst_node_tri49.ajouter(lst_node_in_second.get(6));
3779 
3780  lst_node_tri410.ajouter(lst_node_in_second.get(3));
3781  lst_node_tri410.ajouter(lst_node_in_second.get(4));
3782  lst_node_tri410.ajouter(lst_node_in_second.get(6));
3783  //----------------------------------------------------
3784  //----------------------------------------------------
3785  quall13=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
3786 
3787  quall14=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
3788 
3789  quall15=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
3790 
3791 
3792  //----------------------------------------------------
3793  quallo13=OPERATEUR::qualite_tetra(lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
3794 
3795  quallo14=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
3796 
3797  quallo15=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
3798 
3799  lst_node_tri51.ajouter(lst_node_in_second.get(3));
3800  lst_node_tri51.ajouter(lst_node_in_second.get(2));
3801  lst_node_tri51.ajouter(lst_node_in_second.get(4));
3802 
3803  lst_node_tri52.ajouter(lst_node_in_second.get(2));
3804 
3805  lst_node_tri52.ajouter(lst_node_in_second.get(3));
3806  lst_node_tri52.ajouter(lst_node_in_second.get(6));
3807 
3808  lst_node_tri53.ajouter(lst_node_in_second.get(2));
3809  lst_node_tri53.ajouter(lst_node_in_second.get(4));
3810  lst_node_tri53.ajouter(lst_node_in_second.get(6));
3811 
3812  lst_node_tri54.ajouter(lst_node_in_second.get(3));
3813  lst_node_tri54.ajouter(lst_node_in_second.get(4));
3814  lst_node_tri54.ajouter(lst_node_in_second.get(6));
3815 
3816  lst_node_tri55.ajouter(lst_node_in_second.get(1));
3817  lst_node_tri55.ajouter(lst_node_in_second.get(0));
3818  lst_node_tri55.ajouter(lst_node_in_second.get(3));
3819 
3820  lst_node_tri56.ajouter(lst_node_in_second.get(0));
3821  lst_node_tri56.ajouter(lst_node_in_second.get(1));
3822  lst_node_tri56.ajouter(lst_node_in_second.get(4));
3823 
3824  lst_node_tri57.ajouter(lst_node_in_second.get(0));
3825  lst_node_tri57.ajouter(lst_node_in_second.get(3));
3826  lst_node_tri57.ajouter(lst_node_in_second.get(4));
3827 
3828  lst_node_tri58.ajouter(lst_node_in_second.get(1));
3829  lst_node_tri58.ajouter(lst_node_in_second.get(3));
3830  lst_node_tri58.ajouter(lst_node_in_second.get(4));
3831 
3832  lst_node_tri59.ajouter(lst_node_in_second.get(0));
3833  lst_node_tri59.ajouter(lst_node_in_second.get(2));
3834  lst_node_tri59.ajouter(lst_node_in_second.get(3));
3835 
3836  lst_node_tri510.ajouter(lst_node_in_second.get(0));
3837  lst_node_tri510.ajouter(lst_node_in_second.get(2));
3838  lst_node_tri510.ajouter(lst_node_in_second.get(4));
3839 
3840  //----------------------------------------------------
3841  //----------------------------------------------------
3842  quall16=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
3843 
3844  quall17=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
3845 
3846  quall18=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
3847 
3848  //----------------------------------------------------
3849  quallo16=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
3850 
3851  quallo17=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
3852 
3853  quallo18=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
3854 
3855  lst_node_tri61.ajouter(lst_node_in_second.get(0));
3856  lst_node_tri61.ajouter(lst_node_in_second.get(1));
3857  lst_node_tri61.ajouter(lst_node_in_second.get(4));
3858 
3859  lst_node_tri62.ajouter(lst_node_in_second.get(0));
3860  lst_node_tri62.ajouter(lst_node_in_second.get(1));
3861  lst_node_tri62.ajouter(lst_node_in_second.get(6));
3862 
3863  lst_node_tri63.ajouter(lst_node_in_second.get(0));
3864  lst_node_tri63.ajouter(lst_node_in_second.get(4));
3865  lst_node_tri63.ajouter(lst_node_in_second.get(6));
3866 
3867  lst_node_tri64.ajouter(lst_node_in_second.get(1));
3868  lst_node_tri64.ajouter(lst_node_in_second.get(6));
3869  lst_node_tri64.ajouter(lst_node_in_second.get(4));
3870 
3871  lst_node_tri65.ajouter(lst_node_in_second.get(0));
3872  lst_node_tri65.ajouter(lst_node_in_second.get(2));
3873  lst_node_tri65.ajouter(lst_node_in_second.get(3));
3874 
3875  lst_node_tri66.ajouter(lst_node_in_second.get(0));
3876  lst_node_tri66.ajouter(lst_node_in_second.get(2));
3877  lst_node_tri66.ajouter(lst_node_in_second.get(6));
3878 
3879  lst_node_tri67.ajouter(lst_node_in_second.get(2));
3880  lst_node_tri67.ajouter(lst_node_in_second.get(3));
3881  lst_node_tri67.ajouter(lst_node_in_second.get(6));
3882 
3883  lst_node_tri68.ajouter(lst_node_in_second.get(0));
3884  lst_node_tri68.ajouter(lst_node_in_second.get(3));
3885  lst_node_tri68.ajouter(lst_node_in_second.get(6));
3886 
3887  lst_node_tri69.ajouter(lst_node_in_second.get(0));
3888  lst_node_tri69.ajouter(lst_node_in_second.get(3));
3889  lst_node_tri69.ajouter(lst_node_in_second.get(1));
3890 
3891  lst_node_tri610.ajouter(lst_node_in_second.get(1));
3892  lst_node_tri610.ajouter(lst_node_in_second.get(6));
3893  lst_node_tri610.ajouter(lst_node_in_second.get(3));
3894 
3895  //----------------------------------------------------
3896  //---------------------------------------------------
3897 
3898  if (((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001) && (quall3>0.001 || quallo3>0.001)) && ((quall4+quallo4+quall5+quallo5+quall6+quallo6)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)) && ((quall7+ quallo7+quall8+quallo8+quall9+quallo9)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)) && ((quall10+ quallo10+quall12+ quallo12+quall11+ quallo11)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)) && ((quall13+quallo13+quall14+quallo14+quall15+ quallo15)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)))
3899  {
3900  check_not_to_creat_tetra=0;
3901  LISTE_MG_TRIANGLE::iterator it_tri_existed;
3902  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
3903  {
3904  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))) || ((lst_node_tri18.existe(tri_existed->get_noeud1())) && (lst_node_tri18.existe(tri_existed->get_noeud2())) && (lst_node_tri18.existe(tri_existed->get_noeud3()))) || ((lst_node_tri19.existe(tri_existed->get_noeud1())) && (lst_node_tri19.existe(tri_existed->get_noeud2())) && (lst_node_tri19.existe(tri_existed->get_noeud3()))) || ((lst_node_tri110.existe(tri_existed->get_noeud1())) && (lst_node_tri110.existe(tri_existed->get_noeud2())) && (lst_node_tri110.existe(tri_existed->get_noeud3()))))
3905  {
3906 
3907  check_to_creat_tetra=2;
3908  }
3909  else
3910 
3911  {
3912  check_not_to_creat_tetra=3;
3913 
3914  }
3915 
3916  }
3917 
3918  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
3919  {
3920  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine());
3921  check_to_go_further=5;
3922 
3923  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3924  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
3925 
3926  }
3927 
3928  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
3929  {
3930  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine());
3931  check_to_go_further=5;
3932 
3933  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3934  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
3935  }
3936 
3937  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
3938  {
3939  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine());
3940  check_to_go_further=5;
3941 
3942 
3943  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3944  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
3945  }
3946  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
3947  {
3948  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine());
3949  check_to_go_further=5;
3950 
3951  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3952  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
3953  }
3954 
3955  if ((quall3>0.00001) && (check_not_to_creat_tetra!=3))
3956  {
3957  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine());
3958 
3959  check_to_go_further=5;
3960  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3961  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
3962  }
3963  if ((quallo3>0.00001) && (check_not_to_creat_tetra!=3))
3964 
3965  {
3966  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine());
3967  check_to_go_further=5;
3968 
3969 
3970  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3971 
3972  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
3973  }
3974  }
3975  if (((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (quall6>0.001 || quallo6>0.001)) && (check_to_go_further==3) && ((quall7+ quallo7+quall8+quallo8+quall9+quallo9)<(quall4+quallo4+quall5+quallo5+quall6+quallo6)) && ((quall10+ quallo10+quall12+ quallo12+quall11+ quallo11)<(quall4+quallo4+quall5+quallo5+quall6+quallo6)) && ((quall13+quallo13+quall14+quallo14+quall15+ quallo15)<(quall4+quallo4+quall5+quallo5+quall6+quallo6)) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall4+quallo4+quall5+quallo5+quall6+quallo6)))
3976  {
3977  check_not_to_creat_tetra=0;
3978  LISTE_MG_TRIANGLE::iterator it_tri_existed;
3979  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
3980  {
3981  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))) || ((lst_node_tri28.existe(tri_existed->get_noeud1())) && (lst_node_tri28.existe(tri_existed->get_noeud2())) && (lst_node_tri28.existe(tri_existed->get_noeud3()))) || ((lst_node_tri29.existe(tri_existed->get_noeud1())) && (lst_node_tri29.existe(tri_existed->get_noeud2())) && (lst_node_tri29.existe(tri_existed->get_noeud3()))) || ((lst_node_tri210.existe(tri_existed->get_noeud1())) && (lst_node_tri210.existe(tri_existed->get_noeud2())) && (lst_node_tri210.existe(tri_existed->get_noeud3()))))
3982  {
3983  check_to_creat_tetra=2;
3984  }
3985  else
3986  {
3987  check_not_to_creat_tetra=3;
3988  }
3989  }
3990 
3991  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
3992  {
3993  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine());
3994  check_to_go_further=5;
3995 
3996  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3997  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
3998 
3999  }
4000 
4001  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
4002  {
4003  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine());
4004  check_to_go_further=5;
4005 
4006  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4007  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4008 
4009  }
4010 
4011  if((quall6>0.00001) && (check_not_to_creat_tetra!=3))
4012  {
4013  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine());
4014  check_to_go_further=5;
4015  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4016  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4017  }
4018  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
4019  {
4020  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine());
4021  check_to_go_further=5;
4022 
4023  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4024  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4025 
4026 
4027  }
4028 
4029  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
4030  {
4031  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine());
4032  check_to_go_further=5;
4033 
4034  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4035  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4036 
4037  }
4038 
4039  if((quallo6>0.00001) && (check_not_to_creat_tetra!=3))
4040  {
4041  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine());
4042  check_to_go_further=5;
4043 
4044  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4045  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4046 
4047  }
4048  }
4049  if (((quall7>0.001 || quallo7>0.001) && (quall8>0.001 || quallo8>0.001) && (quall9>0.001 || quallo9>0.001)) && (check_to_go_further==3) && ((quall10+ quallo10+quall12+ quallo12+quall11+ quallo11)<(quall7+quallo7+quall8+quallo8+quall9+quallo9)) && ((quall13+quallo13+quall14+quallo14+quall15+ quallo15)<(quall7+quallo7+quall8+quallo8+quall9+quallo9)) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall7+quallo7+quall8+quallo8+quall9+quallo9)))
4050  {
4051  check_not_to_creat_tetra=0;
4052  LISTE_MG_TRIANGLE::iterator it_tri_existed;
4053  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
4054  {
4055  if(((lst_node_tri31.existe(tri_existed->get_noeud1())) && (lst_node_tri31.existe(tri_existed->get_noeud2())) && (lst_node_tri31.existe(tri_existed->get_noeud3()))) || ((lst_node_tri32.existe(tri_existed->get_noeud1())) && (lst_node_tri32.existe(tri_existed->get_noeud2())) && (lst_node_tri32.existe(tri_existed->get_noeud3()))) || ((lst_node_tri33.existe(tri_existed->get_noeud1())) && (lst_node_tri33.existe(tri_existed->get_noeud2())) && (lst_node_tri33.existe(tri_existed->get_noeud3()))) || ((lst_node_tri34.existe(tri_existed->get_noeud1())) && (lst_node_tri34.existe(tri_existed->get_noeud2())) && (lst_node_tri34.existe(tri_existed->get_noeud3()))) || ((lst_node_tri35.existe(tri_existed->get_noeud1())) && (lst_node_tri35.existe(tri_existed->get_noeud2())) && (lst_node_tri35.existe(tri_existed->get_noeud3()))) || ((lst_node_tri36.existe(tri_existed->get_noeud1())) && (lst_node_tri36.existe(tri_existed->get_noeud2())) && (lst_node_tri36.existe(tri_existed->get_noeud3()))) || ((lst_node_tri37.existe(tri_existed->get_noeud1())) && (lst_node_tri37.existe(tri_existed->get_noeud2())) && (lst_node_tri37.existe(tri_existed->get_noeud3()))) || ((lst_node_tri38.existe(tri_existed->get_noeud1())) && (lst_node_tri38.existe(tri_existed->get_noeud2())) && (lst_node_tri38.existe(tri_existed->get_noeud3()))) || ((lst_node_tri39.existe(tri_existed->get_noeud1())) && (lst_node_tri39.existe(tri_existed->get_noeud2())) && (lst_node_tri39.existe(tri_existed->get_noeud3()))) || ((lst_node_tri310.existe(tri_existed->get_noeud1())) && (lst_node_tri310.existe(tri_existed->get_noeud2())) && (lst_node_tri310.existe(tri_existed->get_noeud3()))))
4056  {
4057 
4058  check_to_creat_tetra=2;
4059  }
4060 
4061  else
4062 
4063  {
4064  check_not_to_creat_tetra=3;
4065 
4066  }
4067 
4068  }
4069 
4070  if((quall7>0.00001) && (check_not_to_creat_tetra!=3))
4071  {
4072  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4073  check_to_go_further=5;
4074  qualite_moyenne_3D+=quall7;
4075  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4076  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4077 
4078  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
4079 
4080  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
4081  }
4082 
4083  if((quallo7>0.00001) && (check_not_to_creat_tetra!=3))
4084 
4085  {
4086  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4087  check_to_go_further=5;
4088  qualite_moyenne_3D+=quallo7;
4089  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4090  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4091 
4092  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
4093  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
4094  }
4095 
4096  if((quall8>0.00001) && (check_not_to_creat_tetra!=3))
4097  {
4098  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
4099  check_to_go_further=5;
4100  qualite_moyenne_3D+=quall8;
4101  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4102  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4103  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
4104 
4105  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
4106 
4107  }
4108 
4109  if((quallo8>0.00001) && (check_not_to_creat_tetra!=3))
4110  {
4111  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
4112  check_to_go_further=5;
4113  qualite_moyenne_3D+=quallo8;
4114  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4115  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4116  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
4117  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
4118 
4119  }
4120 
4121  if((quall9>0.00001) && (check_not_to_creat_tetra!=3))
4122  {
4123  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
4124  check_to_go_further=5;
4125 
4126  qualite_moyenne_3D+=quall9;
4127  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4128  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4129  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
4130 
4131 
4132  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
4133  }
4134 
4135  if((quallo9>0.00001) && (check_not_to_creat_tetra!=3))
4136  {
4137  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
4138  check_to_go_further=5;
4139  qualite_moyenne_3D+=quallo9;
4140  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4141  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4142  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
4143  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
4144  }
4145  }
4146  if (((quall10>0.001 || quallo10>0.001) && (quall11>0.001 || quallo11>0.001) && (quall12>0.001 || quallo12>0.001)) && (check_to_go_further==3) && ((quall13+quallo13+quall14+quallo14+quall15+ quallo15)<(quall10+quallo10+quall11+quallo11+quall12+quallo12)) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall10+quallo10+quall11+quallo11+quall12+quallo12)))
4147  {
4148  check_not_to_creat_tetra=0;
4149  LISTE_MG_TRIANGLE::iterator it_tri_existed;
4150  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
4151  {
4152  if(((lst_node_tri41.existe(tri_existed->get_noeud1())) && (lst_node_tri41.existe(tri_existed->get_noeud2())) && (lst_node_tri41.existe(tri_existed->get_noeud3()))) || ((lst_node_tri42.existe(tri_existed->get_noeud1())) && (lst_node_tri42.existe(tri_existed->get_noeud2())) && (lst_node_tri42.existe(tri_existed->get_noeud3()))) || ((lst_node_tri43.existe(tri_existed->get_noeud1())) && (lst_node_tri43.existe(tri_existed->get_noeud2())) && (lst_node_tri43.existe(tri_existed->get_noeud3()))) || ((lst_node_tri44.existe(tri_existed->get_noeud1())) && (lst_node_tri44.existe(tri_existed->get_noeud2())) && (lst_node_tri44.existe(tri_existed->get_noeud3()))) || ((lst_node_tri45.existe(tri_existed->get_noeud1())) && (lst_node_tri45.existe(tri_existed->get_noeud2())) && (lst_node_tri45.existe(tri_existed->get_noeud3()))) || ((lst_node_tri46.existe(tri_existed->get_noeud1())) && (lst_node_tri46.existe(tri_existed->get_noeud2())) && (lst_node_tri46.existe(tri_existed->get_noeud3()))) || ((lst_node_tri47.existe(tri_existed->get_noeud1())) && (lst_node_tri47.existe(tri_existed->get_noeud2())) && (lst_node_tri47.existe(tri_existed->get_noeud3()))) || ((lst_node_tri48.existe(tri_existed->get_noeud1())) && (lst_node_tri48.existe(tri_existed->get_noeud2())) && (lst_node_tri48.existe(tri_existed->get_noeud3()))) || ((lst_node_tri49.existe(tri_existed->get_noeud1())) && (lst_node_tri49.existe(tri_existed->get_noeud2())) && (lst_node_tri49.existe(tri_existed->get_noeud3()))) || ((lst_node_tri410.existe(tri_existed->get_noeud1())) && (lst_node_tri410.existe(tri_existed->get_noeud2())) && (lst_node_tri410.existe(tri_existed->get_noeud3()))))
4153  {
4154  check_to_creat_tetra=2;
4155  }
4156  else
4157  {
4158  check_not_to_creat_tetra=3;
4159  }
4160  }
4161 
4162  if((quall10>0.00001) && (check_not_to_creat_tetra!=3))
4163  {
4164  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4165 
4166  check_to_go_further=5;
4167  qualite_moyenne_3D+=quall10;
4168  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4169  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4170  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
4171  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
4172  }
4173  if((quallo10>0.00001) && (check_not_to_creat_tetra!=3))
4174  {
4175  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4176 
4177  check_to_go_further=5;
4178 
4179  qualite_moyenne_3D+=quallo10;
4180  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4181  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4182  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
4183  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
4184  }
4185 
4186  if((quall11>0.00001) && (check_not_to_creat_tetra!=3))
4187  {
4188  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
4189  check_to_go_further=5;
4190  qualite_moyenne_3D+=quall11;
4191  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4192  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4193  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
4194  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
4195  }
4196  if((quallo11>0.00001) && (check_not_to_creat_tetra!=3))
4197  {
4198  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
4199 
4200  check_to_go_further=5;
4201  qualite_moyenne_3D+=quallo11;
4202 
4203  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4204  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4205  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
4206  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
4207  }
4208  if((quall12>0.00001) && (check_not_to_creat_tetra!=3))
4209  {
4210  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4211  check_to_go_further=5;
4212  qualite_moyenne_3D+=quall12;
4213  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4214  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4215  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
4216  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
4217 
4218  }
4219  if((quallo12>0.00001) && (check_not_to_creat_tetra!=3))
4220 
4221  {
4222  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4223  check_to_go_further=5;
4224  qualite_moyenne_3D+=quallo12;
4225  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4226  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4227  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
4228  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
4229  }
4230  }
4231  if (((quall13>0.001 || quallo13>0.001) && (quall14>0.001 || quallo14>0.001) && (quall15>0.001 || quallo15>0.001)) && (check_to_go_further==3) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall13+quallo13+quall14+quallo14+quall15+quallo15)))
4232  {
4233  check_not_to_creat_tetra=0;
4234  LISTE_MG_TRIANGLE::iterator it_tri_existed;
4235  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
4236  {
4237 
4238  if(((lst_node_tri51.existe(tri_existed->get_noeud1())) && (lst_node_tri51.existe(tri_existed->get_noeud2())) && (lst_node_tri51.existe(tri_existed->get_noeud3()))) || ((lst_node_tri52.existe(tri_existed->get_noeud1())) && (lst_node_tri52.existe(tri_existed->get_noeud2())) && (lst_node_tri52.existe(tri_existed->get_noeud3()))) || ((lst_node_tri53.existe(tri_existed->get_noeud1())) && (lst_node_tri53.existe(tri_existed->get_noeud2())) && (lst_node_tri53.existe(tri_existed->get_noeud3()))) || ((lst_node_tri54.existe(tri_existed->get_noeud1())) && (lst_node_tri54.existe(tri_existed->get_noeud2())) && (lst_node_tri54.existe(tri_existed->get_noeud3()))) || ((lst_node_tri55.existe(tri_existed->get_noeud1())) && (lst_node_tri55.existe(tri_existed->get_noeud2())) && (lst_node_tri55.existe(tri_existed->get_noeud3()))) || ((lst_node_tri56.existe(tri_existed->get_noeud1())) && (lst_node_tri56.existe(tri_existed->get_noeud2())) && (lst_node_tri56.existe(tri_existed->get_noeud3()))) || ((lst_node_tri57.existe(tri_existed->get_noeud1())) && (lst_node_tri57.existe(tri_existed->get_noeud2())) && (lst_node_tri57.existe(tri_existed->get_noeud3()))) || ((lst_node_tri58.existe(tri_existed->get_noeud1())) && (lst_node_tri58.existe(tri_existed->get_noeud2())) && (lst_node_tri58.existe(tri_existed->get_noeud3()))) || ((lst_node_tri59.existe(tri_existed->get_noeud1())) && (lst_node_tri59.existe(tri_existed->get_noeud2())) && (lst_node_tri59.existe(tri_existed->get_noeud3()))) || ((lst_node_tri510.existe(tri_existed->get_noeud1())) && (lst_node_tri510.existe(tri_existed->get_noeud2())) && (lst_node_tri510.existe(tri_existed->get_noeud3()))))
4239  {
4240  check_to_creat_tetra=2;
4241  }
4242  else
4243  {
4244  check_not_to_creat_tetra=3;
4245  }
4246  }
4247  if((quall13>0.00001) && (check_not_to_creat_tetra!=3))
4248  {
4249  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4250  check_to_go_further=5;
4251  qualite_moyenne_3D+=quall13;
4252  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4253  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4254  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
4255 
4256 
4257  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
4258  }
4259 
4260  if((quallo13>0.00001) && (check_not_to_creat_tetra!=3))
4261  {
4262  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4263  check_to_go_further=5;
4264  qualite_moyenne_3D+=quallo13;
4265  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4266  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4267  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
4268 
4269  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
4270  }
4271 
4272  if((quall14>0.00001) && (check_not_to_creat_tetra!=3))
4273  {
4274  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
4275 
4276  check_to_go_further=5;
4277  qualite_moyenne_3D+=quall14;
4278  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4279  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4280 
4281  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
4282  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
4283  }
4284 
4285  if((quallo14>0.00001) && (check_not_to_creat_tetra!=3))
4286  {
4287  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
4288 
4289  check_to_go_further=5;
4290 
4291  qualite_moyenne_3D+=quallo14;
4292  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4293  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4294  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
4295  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
4296  }
4297 
4298  if((quall15>0.00001) && (check_not_to_creat_tetra!=3))
4299  {
4300  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
4301  check_to_go_further=5;
4302  qualite_moyenne_3D+=quall15;
4303  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4304  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4305  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
4306  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
4307  }
4308 
4309  if((quallo15>0.00001) && (check_not_to_creat_tetra!=3))
4310  {
4311 
4312  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
4313  check_to_go_further=5;
4314  qualite_moyenne_3D+=quallo15;
4315  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4316  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4317  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
4318  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
4319  }
4320  }
4321  if ((quall16>0.001 || quallo16>0.001) && (quall17>0.001 || quallo17>0.001) && (quall18>0.001 || quallo18>0.001) && (check_to_go_further==3))
4322  {
4323  check_not_to_creat_tetra=0;
4324  LISTE_MG_TRIANGLE::iterator it_tri_existed;
4325  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
4326  {
4327  if(((lst_node_tri61.existe(tri_existed->get_noeud1())) && (lst_node_tri61.existe(tri_existed->get_noeud2())) && (lst_node_tri61.existe(tri_existed->get_noeud3()))) || ((lst_node_tri62.existe(tri_existed->get_noeud1())) && (lst_node_tri62.existe(tri_existed->get_noeud2())) && (lst_node_tri62.existe(tri_existed->get_noeud3()))) || ((lst_node_tri63.existe(tri_existed->get_noeud1())) && (lst_node_tri63.existe(tri_existed->get_noeud2())) && (lst_node_tri63.existe(tri_existed->get_noeud3()))) || ((lst_node_tri64.existe(tri_existed->get_noeud1())) && (lst_node_tri64.existe(tri_existed->get_noeud2())) && (lst_node_tri64.existe(tri_existed->get_noeud3()))) || ((lst_node_tri65.existe(tri_existed->get_noeud1())) && (lst_node_tri65.existe(tri_existed->get_noeud2())) && (lst_node_tri65.existe(tri_existed->get_noeud3()))) || ((lst_node_tri66.existe(tri_existed->get_noeud1())) && (lst_node_tri66.existe(tri_existed->get_noeud2())) && (lst_node_tri66.existe(tri_existed->get_noeud3()))) || ((lst_node_tri67.existe(tri_existed->get_noeud1())) && (lst_node_tri67.existe(tri_existed->get_noeud2())) && (lst_node_tri67.existe(tri_existed->get_noeud3()))) || ((lst_node_tri68.existe(tri_existed->get_noeud1())) && (lst_node_tri68.existe(tri_existed->get_noeud2())) && (lst_node_tri68.existe(tri_existed->get_noeud3()))) || ((lst_node_tri69.existe(tri_existed->get_noeud1())) && (lst_node_tri69.existe(tri_existed->get_noeud2())) && (lst_node_tri69.existe(tri_existed->get_noeud3()))) || ((lst_node_tri610.existe(tri_existed->get_noeud1())) && (lst_node_tri610.existe(tri_existed->get_noeud2())) && (lst_node_tri610.existe(tri_existed->get_noeud3()))))
4328  {
4329  check_to_creat_tetra=2;
4330  }
4331  else
4332  {
4333  check_not_to_creat_tetra=3;
4334  }
4335  }
4336 
4337  if((quall16>0.00001) && (check_not_to_creat_tetra!=3))
4338  {
4339  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4340 
4341  check_to_go_further=5;
4342  qualite_moyenne_3D+=quall16;
4343  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4344  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4345 
4346  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
4347  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
4348  }
4349  if((quallo16>0.00001) && (check_not_to_creat_tetra!=3))
4350  {
4351  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4352  check_to_go_further=5;
4353  qualite_moyenne_3D+=quallo16;
4354  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4355  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4356  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
4357  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
4358  }
4359  if((quall17>0.00001) && (check_not_to_creat_tetra!=3))
4360  {
4361  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4362  check_to_go_further=5;
4363  qualite_moyenne_3D+=quall17;
4364  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4365  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4366  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
4367  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
4368  }
4369  if((quallo17>0.00001) && (check_not_to_creat_tetra!=3))
4370  {
4371  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4372  check_to_go_further=5;
4373  qualite_moyenne_3D+=quallo17;
4374 
4375  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4376  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4377 
4378  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
4379  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
4380  }
4381  if((quall18>0.00001) && (check_not_to_creat_tetra!=3))
4382  {
4383  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4384  check_to_go_further=5;
4385  qualite_moyenne_3D+=quall18;
4386  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4387  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4388  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
4389  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
4390  }
4391  if((quallo18>0.00001) && (check_not_to_creat_tetra!=3))
4392  {
4393  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4394  check_to_go_further=5;
4395  qualite_moyenne_3D+=quallo18;
4396 
4397  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4398  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4399  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
4400  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
4401  }
4402  }
4403  //============================================Second loop==============================================================
4404  if (check_to_go_further==3)
4405  {
4406  if ((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001) && (quall3>0.001 || quallo3>0.001))
4407  {
4408  check_not_to_creat_tetra=0;
4409  LISTE_MG_TRIANGLE::iterator it_tri_existed;
4410 
4411  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
4412 
4413  {
4414 
4415  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))) || ((lst_node_tri18.existe(tri_existed->get_noeud1())) && (lst_node_tri18.existe(tri_existed->get_noeud2())) && (lst_node_tri18.existe(tri_existed->get_noeud3()))) || ((lst_node_tri19.existe(tri_existed->get_noeud1())) && (lst_node_tri19.existe(tri_existed->get_noeud2())) && (lst_node_tri19.existe(tri_existed->get_noeud3()))) || ((lst_node_tri110.existe(tri_existed->get_noeud1())) && (lst_node_tri110.existe(tri_existed->get_noeud2())) && (lst_node_tri110.existe(tri_existed->get_noeud3()))))
4416  {
4417 
4418  check_to_creat_tetra=2;
4419  }
4420 
4421 
4422  else
4423 
4424  {
4425  check_not_to_creat_tetra=3;
4426 
4427  }
4428 
4429  }
4430 
4431 
4432  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
4433  {
4434  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4435  check_to_go_further=5;
4436  qualite_moyenne_3D+=quall1;
4437  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4438  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4439  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
4440  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
4441  }
4442 
4443  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
4444  {
4445  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4446  check_to_go_further=5;
4447  qualite_moyenne_3D+=quallo1;
4448  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
4449  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
4450  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4451  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4452  }
4453 
4454  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
4455  {
4456  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4457  check_to_go_further=5;
4458 
4459  qualite_moyenne_3D+=quall2;
4460  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
4461  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
4462 
4463  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4464  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4465  }
4466  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
4467  {
4468  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4469  check_to_go_further=5;
4470 
4471  qualite_moyenne_3D+=quallo2;
4472  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
4473  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
4474 
4475  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4476  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4477  }
4478 
4479  if ((quall3>0.00001) && (check_not_to_creat_tetra!=3))
4480  {
4481  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4482 
4483  check_to_go_further=5;
4484 
4485  qualite_moyenne_3D+=quall3;
4486  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
4487  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
4488  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4489  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4490  }
4491  if ((quallo3>0.00001) && (check_not_to_creat_tetra!=3))
4492 
4493  {
4494  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4495  check_to_go_further=5;
4496  qualite_moyenne_3D+=quallo3;
4497  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
4498  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
4499  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4500  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4501  }
4502 
4503  }
4504  if ((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (quall6>0.001 || quallo6>0.001) && (check_to_go_further==3))
4505  {
4506  check_not_to_creat_tetra=0;
4507  LISTE_MG_TRIANGLE::iterator it_tri_existed;
4508 
4509  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
4510 
4511  {
4512 
4513  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))) || ((lst_node_tri28.existe(tri_existed->get_noeud1())) && (lst_node_tri28.existe(tri_existed->get_noeud2())) && (lst_node_tri28.existe(tri_existed->get_noeud3()))) || ((lst_node_tri29.existe(tri_existed->get_noeud1())) && (lst_node_tri29.existe(tri_existed->get_noeud2())) && (lst_node_tri29.existe(tri_existed->get_noeud3()))) || ((lst_node_tri210.existe(tri_existed->get_noeud1())) && (lst_node_tri210.existe(tri_existed->get_noeud2())) && (lst_node_tri210.existe(tri_existed->get_noeud3()))))
4514  {
4515 
4516  check_to_creat_tetra=2;
4517  }
4518 
4519  else
4520 
4521  {
4522  check_not_to_creat_tetra=3;
4523 
4524  }
4525 
4526  }
4527 
4528  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
4529  {
4530  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4531  check_to_go_further=5;
4532  qualite_moyenne_3D+=quall4;
4533  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4534  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4535  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
4536  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
4537  }
4538 
4539  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
4540  {
4541  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
4542  check_to_go_further=5;
4543  qualite_moyenne_3D+=quall5;
4544  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4545  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4546  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
4547 
4548  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
4549 
4550  }
4551 
4552  if((quall6>0.00001) && (check_not_to_creat_tetra!=3))
4553  {
4554  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4555  check_to_go_further=5;
4556 
4557  qualite_moyenne_3D+=quall6;
4558  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4559  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4560  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
4561  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
4562 
4563  }
4564  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
4565  {
4566  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4567  check_to_go_further=5;
4568  qualite_moyenne_3D+=quallo4;
4569  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4570  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4571  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
4572  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
4573 
4574  }
4575 
4576  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
4577  {
4578  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
4579  check_to_go_further=5;
4580  qualite_moyenne_3D+=quallo5;
4581  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4582  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4583  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
4584  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
4585 
4586  }
4587 
4588  if((quallo6>0.00001) && (check_not_to_creat_tetra!=3))
4589  {
4590  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4591  check_to_go_further=5;
4592  qualite_moyenne_3D+=quallo6;
4593  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4594  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4595  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
4596  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
4597 
4598  }
4599  }
4600 
4601  if ((quall7>0.001 || quallo7>0.001) && (quall8>0.001 || quallo8>0.001) && (quall9>0.001 || quallo9>0.001) && (check_to_go_further==3))
4602  {
4603  check_not_to_creat_tetra=0;
4604  LISTE_MG_TRIANGLE::iterator it_tri_existed;
4605  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
4606 
4607  {
4608 
4609  if(((lst_node_tri31.existe(tri_existed->get_noeud1())) && (lst_node_tri31.existe(tri_existed->get_noeud2())) && (lst_node_tri31.existe(tri_existed->get_noeud3()))) || ((lst_node_tri32.existe(tri_existed->get_noeud1())) && (lst_node_tri32.existe(tri_existed->get_noeud2())) && (lst_node_tri32.existe(tri_existed->get_noeud3()))) || ((lst_node_tri33.existe(tri_existed->get_noeud1())) && (lst_node_tri33.existe(tri_existed->get_noeud2())) && (lst_node_tri33.existe(tri_existed->get_noeud3()))) || ((lst_node_tri34.existe(tri_existed->get_noeud1())) && (lst_node_tri34.existe(tri_existed->get_noeud2())) && (lst_node_tri34.existe(tri_existed->get_noeud3()))) || ((lst_node_tri35.existe(tri_existed->get_noeud1())) && (lst_node_tri35.existe(tri_existed->get_noeud2())) && (lst_node_tri35.existe(tri_existed->get_noeud3()))) || ((lst_node_tri36.existe(tri_existed->get_noeud1())) && (lst_node_tri36.existe(tri_existed->get_noeud2())) && (lst_node_tri36.existe(tri_existed->get_noeud3()))) || ((lst_node_tri37.existe(tri_existed->get_noeud1())) && (lst_node_tri37.existe(tri_existed->get_noeud2())) && (lst_node_tri37.existe(tri_existed->get_noeud3()))) || ((lst_node_tri38.existe(tri_existed->get_noeud1())) && (lst_node_tri38.existe(tri_existed->get_noeud2())) && (lst_node_tri38.existe(tri_existed->get_noeud3()))) || ((lst_node_tri39.existe(tri_existed->get_noeud1())) && (lst_node_tri39.existe(tri_existed->get_noeud2())) && (lst_node_tri39.existe(tri_existed->get_noeud3()))) || ((lst_node_tri310.existe(tri_existed->get_noeud1())) && (lst_node_tri310.existe(tri_existed->get_noeud2())) && (lst_node_tri310.existe(tri_existed->get_noeud3()))))
4610  {
4611 
4612  check_to_creat_tetra=2;
4613  }
4614 
4615  else
4616 
4617  {
4618  check_not_to_creat_tetra=3;
4619 
4620  }
4621 
4622  }
4623 
4624  if((quall7>0.00001) && (check_not_to_creat_tetra!=3))
4625  {
4626  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4627  check_to_go_further=5;
4628  qualite_moyenne_3D+=quall7;
4629  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4630  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4631 
4632  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
4633 
4634  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
4635  }
4636 
4637  if((quallo7>0.00001) && (check_not_to_creat_tetra!=3))
4638 
4639  {
4640  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4641  check_to_go_further=5;
4642  qualite_moyenne_3D+=quallo7;
4643  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4644  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4645 
4646  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
4647  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
4648  }
4649 
4650  if((quall8>0.00001) && (check_not_to_creat_tetra!=3))
4651  {
4652  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
4653  check_to_go_further=5;
4654  qualite_moyenne_3D+=quall8;
4655  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4656  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4657  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
4658 
4659  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
4660 
4661  }
4662 
4663  if((quallo8>0.00001) && (check_not_to_creat_tetra!=3))
4664  {
4665  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
4666  check_to_go_further=5;
4667  qualite_moyenne_3D+=quallo8;
4668  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4669  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4670  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
4671  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
4672 
4673  }
4674 
4675  if((quall9>0.00001) && (check_not_to_creat_tetra!=3))
4676  {
4677  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
4678  check_to_go_further=5;
4679 
4680  qualite_moyenne_3D+=quall9;
4681  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4682  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4683  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
4684  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
4685  }
4686 
4687  if((quallo9>0.00001) && (check_not_to_creat_tetra!=3))
4688  {
4689  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
4690  check_to_go_further=5;
4691  qualite_moyenne_3D+=quallo9;
4692  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4693  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4694  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
4695  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
4696  }
4697  }
4698 
4699  if ((quall10>0.001 || quallo10>0.001) && (quall12>0.001 || quallo12>0.001) && (quall11>0.001 || quallo11>0.001) && (check_to_go_further==3))
4700  {
4701  check_not_to_creat_tetra=0;
4702  LISTE_MG_TRIANGLE::iterator it_tri_existed;
4703  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
4704  {
4705  if(((lst_node_tri41.existe(tri_existed->get_noeud1())) && (lst_node_tri41.existe(tri_existed->get_noeud2())) && (lst_node_tri41.existe(tri_existed->get_noeud3()))) || ((lst_node_tri42.existe(tri_existed->get_noeud1())) && (lst_node_tri42.existe(tri_existed->get_noeud2())) && (lst_node_tri42.existe(tri_existed->get_noeud3()))) || ((lst_node_tri43.existe(tri_existed->get_noeud1())) && (lst_node_tri43.existe(tri_existed->get_noeud2())) && (lst_node_tri43.existe(tri_existed->get_noeud3()))) || ((lst_node_tri44.existe(tri_existed->get_noeud1())) && (lst_node_tri44.existe(tri_existed->get_noeud2())) && (lst_node_tri44.existe(tri_existed->get_noeud3()))) || ((lst_node_tri45.existe(tri_existed->get_noeud1())) && (lst_node_tri45.existe(tri_existed->get_noeud2())) && (lst_node_tri45.existe(tri_existed->get_noeud3()))) || ((lst_node_tri46.existe(tri_existed->get_noeud1())) && (lst_node_tri46.existe(tri_existed->get_noeud2())) && (lst_node_tri46.existe(tri_existed->get_noeud3()))) || ((lst_node_tri47.existe(tri_existed->get_noeud1())) && (lst_node_tri47.existe(tri_existed->get_noeud2())) && (lst_node_tri47.existe(tri_existed->get_noeud3()))) || ((lst_node_tri48.existe(tri_existed->get_noeud1())) && (lst_node_tri48.existe(tri_existed->get_noeud2())) && (lst_node_tri48.existe(tri_existed->get_noeud3()))) || ((lst_node_tri49.existe(tri_existed->get_noeud1())) && (lst_node_tri49.existe(tri_existed->get_noeud2())) && (lst_node_tri49.existe(tri_existed->get_noeud3()))) || ((lst_node_tri410.existe(tri_existed->get_noeud1())) && (lst_node_tri410.existe(tri_existed->get_noeud2())) && (lst_node_tri410.existe(tri_existed->get_noeud3()))))
4706  {
4707 
4708 
4709  check_to_creat_tetra=2;
4710 
4711  }
4712 
4713  else
4714 
4715  {
4716  check_not_to_creat_tetra=3;
4717 
4718  }
4719 
4720  }
4721 
4722  if((quall10>0.00001) && (check_not_to_creat_tetra!=3))
4723  {
4724  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4725 
4726  check_to_go_further=5;
4727 
4728  qualite_moyenne_3D+=quall10;
4729  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4730  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4731  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
4732  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
4733  }
4734  if((quallo10>0.00001) && (check_not_to_creat_tetra!=3))
4735  {
4736  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4737 
4738  check_to_go_further=5;
4739  qualite_moyenne_3D+=quallo10;
4740  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4741  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4742  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
4743  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
4744  }
4745 
4746  if((quall11>0.00001) && (check_not_to_creat_tetra!=3))
4747  {
4748  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
4749  check_to_go_further=5;
4750  qualite_moyenne_3D+=quall11;
4751  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4752  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4753  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
4754  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
4755  }
4756  if((quallo11>0.00001) && (check_not_to_creat_tetra!=3))
4757  {
4758  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
4759 
4760  check_to_go_further=5;
4761  qualite_moyenne_3D+=quallo11;
4762 
4763  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4764  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4765  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
4766  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
4767  }
4768  if((quall12>0.00001) && (check_not_to_creat_tetra!=3))
4769  {
4770  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4771  check_to_go_further=5;
4772  qualite_moyenne_3D+=quall12;
4773  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4774  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4775  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
4776  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
4777  }
4778  if((quallo12>0.00001) && (check_not_to_creat_tetra!=3))
4779 
4780  {
4781  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4782  check_to_go_further=5;
4783  qualite_moyenne_3D+=quallo12;
4784  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4785  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4786  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
4787  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
4788  }
4789  }
4790  if ((quall13>0.001 || quallo13>0.001) && (quall14>0.001 || quallo14>0.001) && (quall15>0.001 || quallo15>0.001) && (check_to_go_further==3))
4791  {
4792 
4793  check_not_to_creat_tetra=0;
4794  LISTE_MG_TRIANGLE::iterator it_tri_existed;
4795  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
4796 
4797  {
4798 
4799  if(((lst_node_tri51.existe(tri_existed->get_noeud1())) && (lst_node_tri51.existe(tri_existed->get_noeud2())) && (lst_node_tri51.existe(tri_existed->get_noeud3()))) || ((lst_node_tri52.existe(tri_existed->get_noeud1())) && (lst_node_tri52.existe(tri_existed->get_noeud2())) && (lst_node_tri52.existe(tri_existed->get_noeud3()))) || ((lst_node_tri53.existe(tri_existed->get_noeud1())) && (lst_node_tri53.existe(tri_existed->get_noeud2())) && (lst_node_tri53.existe(tri_existed->get_noeud3()))) || ((lst_node_tri54.existe(tri_existed->get_noeud1())) && (lst_node_tri54.existe(tri_existed->get_noeud2())) && (lst_node_tri54.existe(tri_existed->get_noeud3()))) || ((lst_node_tri55.existe(tri_existed->get_noeud1())) && (lst_node_tri55.existe(tri_existed->get_noeud2())) && (lst_node_tri55.existe(tri_existed->get_noeud3()))) || ((lst_node_tri56.existe(tri_existed->get_noeud1())) && (lst_node_tri56.existe(tri_existed->get_noeud2())) && (lst_node_tri56.existe(tri_existed->get_noeud3()))) || ((lst_node_tri57.existe(tri_existed->get_noeud1())) && (lst_node_tri57.existe(tri_existed->get_noeud2())) && (lst_node_tri57.existe(tri_existed->get_noeud3()))) || ((lst_node_tri58.existe(tri_existed->get_noeud1())) && (lst_node_tri58.existe(tri_existed->get_noeud2())) && (lst_node_tri58.existe(tri_existed->get_noeud3()))) || ((lst_node_tri59.existe(tri_existed->get_noeud1())) && (lst_node_tri59.existe(tri_existed->get_noeud2())) && (lst_node_tri59.existe(tri_existed->get_noeud3()))) || ((lst_node_tri510.existe(tri_existed->get_noeud1())) && (lst_node_tri510.existe(tri_existed->get_noeud2())) && (lst_node_tri510.existe(tri_existed->get_noeud3()))))
4800  {
4801 
4802  check_to_creat_tetra=2;
4803  }
4804 
4805  else
4806 
4807  {
4808  check_not_to_creat_tetra=3;
4809 
4810  }
4811 
4812  }
4813  if((quall13>0.00001) && (check_not_to_creat_tetra!=3))
4814  {
4815  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4816  check_to_go_further=5;
4817  qualite_moyenne_3D+=quall13;
4818  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4819  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4820  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
4821 
4822 
4823  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
4824  }
4825 
4826  if((quallo13>0.00001) && (check_not_to_creat_tetra!=3))
4827  {
4828  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4829  check_to_go_further=5;
4830  qualite_moyenne_3D+=quallo13;
4831  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4832  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4833  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
4834 
4835  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
4836  }
4837 
4838  if((quall14>0.00001) && (check_not_to_creat_tetra!=3))
4839  {
4840  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
4841 
4842  check_to_go_further=5;
4843  qualite_moyenne_3D+=quall14;
4844  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4845  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4846 
4847  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
4848  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
4849  }
4850 
4851  if((quallo14>0.00001) && (check_not_to_creat_tetra!=3))
4852  {
4853  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
4854 
4855  check_to_go_further=5;
4856 
4857  qualite_moyenne_3D+=quallo14;
4858  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4859  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4860  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
4861  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
4862  }
4863 
4864  if((quall15>0.00001) && (check_not_to_creat_tetra!=3))
4865  {
4866  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
4867  check_to_go_further=5;
4868  qualite_moyenne_3D+=quall15;
4869  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4870  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4871  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
4872  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
4873  }
4874 
4875  if((quallo15>0.00001) && (check_not_to_creat_tetra!=3))
4876  {
4877 
4878  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
4879  check_to_go_further=5;
4880  qualite_moyenne_3D+=quallo15;
4881  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4882  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4883  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
4884  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
4885  }
4886  }
4887 
4888  if ((quall16>0.001 || quallo16>0.001) && (quall17>0.001 || quallo17>0.001) && (quall18>0.001 || quallo18>0.001) && (check_to_go_further==3))
4889  {
4890  check_not_to_creat_tetra=0;
4891  LISTE_MG_TRIANGLE::iterator it_tri_existed;
4892  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
4893 
4894  {
4895 
4896  if(((lst_node_tri61.existe(tri_existed->get_noeud1())) && (lst_node_tri61.existe(tri_existed->get_noeud2())) && (lst_node_tri61.existe(tri_existed->get_noeud3()))) || ((lst_node_tri62.existe(tri_existed->get_noeud1())) && (lst_node_tri62.existe(tri_existed->get_noeud2())) && (lst_node_tri62.existe(tri_existed->get_noeud3()))) || ((lst_node_tri63.existe(tri_existed->get_noeud1())) && (lst_node_tri63.existe(tri_existed->get_noeud2())) && (lst_node_tri63.existe(tri_existed->get_noeud3()))) || ((lst_node_tri64.existe(tri_existed->get_noeud1())) && (lst_node_tri64.existe(tri_existed->get_noeud2())) && (lst_node_tri64.existe(tri_existed->get_noeud3()))) || ((lst_node_tri65.existe(tri_existed->get_noeud1())) && (lst_node_tri65.existe(tri_existed->get_noeud2())) && (lst_node_tri65.existe(tri_existed->get_noeud3()))) || ((lst_node_tri66.existe(tri_existed->get_noeud1())) && (lst_node_tri66.existe(tri_existed->get_noeud2())) && (lst_node_tri66.existe(tri_existed->get_noeud3()))) || ((lst_node_tri67.existe(tri_existed->get_noeud1())) && (lst_node_tri67.existe(tri_existed->get_noeud2())) && (lst_node_tri67.existe(tri_existed->get_noeud3()))) || ((lst_node_tri68.existe(tri_existed->get_noeud1())) && (lst_node_tri68.existe(tri_existed->get_noeud2())) && (lst_node_tri68.existe(tri_existed->get_noeud3()))) || ((lst_node_tri69.existe(tri_existed->get_noeud1())) && (lst_node_tri69.existe(tri_existed->get_noeud2())) && (lst_node_tri69.existe(tri_existed->get_noeud3()))) || ((lst_node_tri610.existe(tri_existed->get_noeud1())) && (lst_node_tri610.existe(tri_existed->get_noeud2())) && (lst_node_tri610.existe(tri_existed->get_noeud3()))))
4897  {
4898 
4899  check_to_creat_tetra=2;
4900  }
4901 
4902 
4903  else
4904 
4905  {
4906  check_not_to_creat_tetra=3;
4907 
4908  }
4909 
4910  }
4911 
4912  if((quall16>0.00001) && (check_not_to_creat_tetra!=3))
4913  {
4914  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4915 
4916  check_to_go_further=5;
4917  qualite_moyenne_3D+=quall16;
4918  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4919  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4920 
4921  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
4922  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
4923  }
4924  if((quallo16>0.00001) && (check_not_to_creat_tetra!=3))
4925  {
4926  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4927 
4928  check_to_go_further=5;
4929  qualite_moyenne_3D+=quallo16;
4930  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4931  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4932  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
4933  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
4934  }
4935  if((quall17>0.00001) && (check_not_to_creat_tetra!=3))
4936  {
4937  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4938  check_to_go_further=5;
4939  qualite_moyenne_3D+=quall17;
4940  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4941  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4942  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
4943  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
4944  }
4945  if((quallo17>0.00001) && (check_not_to_creat_tetra!=3))
4946  {
4947  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4948  check_to_go_further=5;
4949  qualite_moyenne_3D+=quallo17;
4950 
4951  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4952  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4953 
4954  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
4955  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
4956  }
4957  if((quall18>0.00001) && (check_not_to_creat_tetra!=3))
4958  {
4959  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4960  check_to_go_further=5;
4961  qualite_moyenne_3D+=quall18;
4962  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4963  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4964  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
4965  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
4966  }
4967  if((quallo18>0.00001) && (check_not_to_creat_tetra!=3))
4968  {
4969  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
4970  check_to_go_further=5;
4971  qualite_moyenne_3D+=quallo18;
4972 
4973  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4974  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4975  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
4976  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
4977  }
4978  }
4979  }
4980  //============================================Third loop==============================================================
4981  if (check_to_go_further==3)
4982  {
4983  if ((quall1>0.000001 || quallo1>0.000001) && (quall2>0.000001 || quallo2>0.000001) && (quall3>0.000001 || quallo3>0.000001))
4984  {
4985  check_not_to_creat_tetra=0;
4986  LISTE_MG_TRIANGLE::iterator it_tri_existed;
4987  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
4988 
4989  {
4990 
4991  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))) || ((lst_node_tri18.existe(tri_existed->get_noeud1())) && (lst_node_tri18.existe(tri_existed->get_noeud2())) && (lst_node_tri18.existe(tri_existed->get_noeud3()))) || ((lst_node_tri19.existe(tri_existed->get_noeud1())) && (lst_node_tri19.existe(tri_existed->get_noeud2())) && (lst_node_tri19.existe(tri_existed->get_noeud3()))) || ((lst_node_tri110.existe(tri_existed->get_noeud1())) && (lst_node_tri110.existe(tri_existed->get_noeud2())) && (lst_node_tri110.existe(tri_existed->get_noeud3()))))
4992  {
4993 
4994  check_to_creat_tetra=2;
4995  }
4996 
4997 
4998  else
4999 
5000  {
5001  check_not_to_creat_tetra=3;
5002 
5003  }
5004 
5005  }
5006 
5007 
5008  if ((quall1>0.000001) && (check_not_to_creat_tetra!=3))
5009  {
5010  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5011  check_to_go_further=5;
5012  qualite_moyenne_3D+=quall1;
5013  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5014  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5015  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
5016  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
5017  }
5018 
5019  if ((quallo1>0.000001) && (check_not_to_creat_tetra!=3))
5020  {
5021  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5022  check_to_go_further=5;
5023  qualite_moyenne_3D+=quallo1;
5024  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
5025  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
5026  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5027  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5028  }
5029 
5030  if ((quall2>0.000001) && (check_not_to_creat_tetra!=3))
5031  {
5032  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5033  check_to_go_further=5;
5034 
5035  qualite_moyenne_3D+=quall2;
5036  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
5037  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
5038 
5039  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5040  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5041  }
5042  if ((quallo2>0.000001) && (check_not_to_creat_tetra!=3))
5043  {
5044  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5045  check_to_go_further=5;
5046 
5047  qualite_moyenne_3D+=quallo2;
5048  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
5049  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
5050 
5051  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5052  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5053  }
5054 
5055  if ((quall3>0.000001) && (check_not_to_creat_tetra!=3))
5056  {
5057  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5058 
5059  check_to_go_further=5;
5060 
5061  qualite_moyenne_3D+=quall3;
5062  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
5063  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
5064  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5065  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5066  }
5067  if ((quallo3>0.000001) && (check_not_to_creat_tetra!=3))
5068 
5069  {
5070  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5071  check_to_go_further=5;
5072  qualite_moyenne_3D+=quallo3;
5073  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
5074  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
5075  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5076  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5077  }
5078  }
5079  if ((quall4>0.000001 || quallo4>0.000001) && (quall5>0.000001 || quallo5>0.000001) && (quall6>0.000001 || quallo6>0.000001) && (check_to_go_further==3))
5080  {
5081  check_not_to_creat_tetra=0;
5082  LISTE_MG_TRIANGLE::iterator it_tri_existed;
5083  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
5084 
5085  {
5086 
5087  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))) || ((lst_node_tri28.existe(tri_existed->get_noeud1())) && (lst_node_tri28.existe(tri_existed->get_noeud2())) && (lst_node_tri28.existe(tri_existed->get_noeud3()))) || ((lst_node_tri29.existe(tri_existed->get_noeud1())) && (lst_node_tri29.existe(tri_existed->get_noeud2())) && (lst_node_tri29.existe(tri_existed->get_noeud3()))) || ((lst_node_tri210.existe(tri_existed->get_noeud1())) && (lst_node_tri210.existe(tri_existed->get_noeud2())) && (lst_node_tri210.existe(tri_existed->get_noeud3()))))
5088  {
5089 
5090  check_to_creat_tetra=2;
5091  }
5092 
5093  else
5094 
5095  {
5096  check_not_to_creat_tetra=3;
5097 
5098  }
5099 
5100  }
5101 
5102  if((quall4>0.000001) && (check_not_to_creat_tetra!=3))
5103  {
5104  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5105  check_to_go_further=5;
5106  qualite_moyenne_3D+=quall4;
5107  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5108  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5109  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
5110  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
5111  }
5112 
5113  if((quall5>0.000001) && (check_not_to_creat_tetra!=3))
5114  {
5115  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
5116  check_to_go_further=5;
5117  qualite_moyenne_3D+=quall5;
5118  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5119  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5120  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
5121 
5122  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
5123 
5124  }
5125 
5126  if((quall6>0.000001) && (check_not_to_creat_tetra!=3))
5127  {
5128  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5129  check_to_go_further=5;
5130 
5131  qualite_moyenne_3D+=quall6;
5132  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5133  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5134  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
5135  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
5136 
5137  }
5138  if((quallo4>0.000001) && (check_not_to_creat_tetra!=3))
5139  {
5140  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5141  check_to_go_further=5;
5142  qualite_moyenne_3D+=quallo4;
5143  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5144  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5145  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
5146  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
5147 
5148  }
5149 
5150  if((quallo5>0.000001) && (check_not_to_creat_tetra!=3))
5151  {
5152  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
5153  check_to_go_further=5;
5154  qualite_moyenne_3D+=quallo5;
5155  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5156  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5157  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
5158  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
5159 
5160  }
5161 
5162  if((quallo6>0.000001) && (check_not_to_creat_tetra!=3))
5163  {
5164  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5165  check_to_go_further=5;
5166  qualite_moyenne_3D+=quallo6;
5167  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5168  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5169  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
5170  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
5171 
5172  }
5173  }
5174  if ((quall7>0.000001 || quallo7>0.000001) && (quall8>0.000001 || quallo8>0.000001) && (quall9>0.000001 || quallo9>0.000001) && (check_to_go_further==3))
5175  {
5176  check_not_to_creat_tetra=0;
5177  LISTE_MG_TRIANGLE::iterator it_tri_existed;
5178  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
5179 
5180  {
5181 
5182  if(((lst_node_tri31.existe(tri_existed->get_noeud1())) && (lst_node_tri31.existe(tri_existed->get_noeud2())) && (lst_node_tri31.existe(tri_existed->get_noeud3()))) || ((lst_node_tri32.existe(tri_existed->get_noeud1())) && (lst_node_tri32.existe(tri_existed->get_noeud2())) && (lst_node_tri32.existe(tri_existed->get_noeud3()))) || ((lst_node_tri33.existe(tri_existed->get_noeud1())) && (lst_node_tri33.existe(tri_existed->get_noeud2())) && (lst_node_tri33.existe(tri_existed->get_noeud3()))) || ((lst_node_tri34.existe(tri_existed->get_noeud1())) && (lst_node_tri34.existe(tri_existed->get_noeud2())) && (lst_node_tri34.existe(tri_existed->get_noeud3()))) || ((lst_node_tri35.existe(tri_existed->get_noeud1())) && (lst_node_tri35.existe(tri_existed->get_noeud2())) && (lst_node_tri35.existe(tri_existed->get_noeud3()))) || ((lst_node_tri36.existe(tri_existed->get_noeud1())) && (lst_node_tri36.existe(tri_existed->get_noeud2())) && (lst_node_tri36.existe(tri_existed->get_noeud3()))) || ((lst_node_tri37.existe(tri_existed->get_noeud1())) && (lst_node_tri37.existe(tri_existed->get_noeud2())) && (lst_node_tri37.existe(tri_existed->get_noeud3()))) || ((lst_node_tri38.existe(tri_existed->get_noeud1())) && (lst_node_tri38.existe(tri_existed->get_noeud2())) && (lst_node_tri38.existe(tri_existed->get_noeud3()))) || ((lst_node_tri39.existe(tri_existed->get_noeud1())) && (lst_node_tri39.existe(tri_existed->get_noeud2())) && (lst_node_tri39.existe(tri_existed->get_noeud3()))) || ((lst_node_tri310.existe(tri_existed->get_noeud1())) && (lst_node_tri310.existe(tri_existed->get_noeud2())) && (lst_node_tri310.existe(tri_existed->get_noeud3()))))
5183  {
5184 
5185  check_to_creat_tetra=2;
5186  }
5187 
5188  else
5189 
5190  {
5191  check_not_to_creat_tetra=3;
5192 
5193  }
5194 
5195  }
5196 
5197  if((quall7>0.000001) && (check_not_to_creat_tetra!=3))
5198  {
5199  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5200  check_to_go_further=5;
5201  qualite_moyenne_3D+=quall7;
5202  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5203  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5204 
5205  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
5206 
5207  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
5208  }
5209 
5210  if((quallo7>0.000001) && (check_not_to_creat_tetra!=3))
5211 
5212  {
5213  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5214  check_to_go_further=5;
5215  qualite_moyenne_3D+=quallo7;
5216  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5217  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5218 
5219  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
5220  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
5221  }
5222 
5223  if((quall8>0.000001) && (check_not_to_creat_tetra!=3))
5224  {
5225  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
5226  check_to_go_further=5;
5227  qualite_moyenne_3D+=quall8;
5228  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5229  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5230  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
5231 
5232  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
5233 
5234  }
5235 
5236  if((quallo8>0.000001) && (check_not_to_creat_tetra!=3))
5237  {
5238  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
5239  check_to_go_further=5;
5240  qualite_moyenne_3D+=quallo8;
5241  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5242  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5243  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
5244  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
5245 
5246  }
5247 
5248  if((quall9>0.000001) && (check_not_to_creat_tetra!=3))
5249  {
5250  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
5251  check_to_go_further=5;
5252 
5253  qualite_moyenne_3D+=quall9;
5254  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5255  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5256  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
5257  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
5258  }
5259 
5260  if((quallo9>0.000001) && (check_not_to_creat_tetra!=3))
5261  {
5262  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
5263  check_to_go_further=5;
5264  qualite_moyenne_3D+=quallo9;
5265  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5266  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5267  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
5268  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
5269  }
5270  }
5271  if ((quall10>0.000001 || quallo10>0.000001) && (quall12>0.000001 || quallo12>0.000001) && (quall11>0.000001 || quallo11>0.000001) && (check_to_go_further==3))
5272  {
5273  check_not_to_creat_tetra=0;
5274  LISTE_MG_TRIANGLE::iterator it_tri_existed;
5275  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
5276  {
5277  if(((lst_node_tri41.existe(tri_existed->get_noeud1())) && (lst_node_tri41.existe(tri_existed->get_noeud2())) && (lst_node_tri41.existe(tri_existed->get_noeud3()))) || ((lst_node_tri42.existe(tri_existed->get_noeud1())) && (lst_node_tri42.existe(tri_existed->get_noeud2())) && (lst_node_tri42.existe(tri_existed->get_noeud3()))) || ((lst_node_tri43.existe(tri_existed->get_noeud1())) && (lst_node_tri43.existe(tri_existed->get_noeud2())) && (lst_node_tri43.existe(tri_existed->get_noeud3()))) || ((lst_node_tri44.existe(tri_existed->get_noeud1())) && (lst_node_tri44.existe(tri_existed->get_noeud2())) && (lst_node_tri44.existe(tri_existed->get_noeud3()))) || ((lst_node_tri45.existe(tri_existed->get_noeud1())) && (lst_node_tri45.existe(tri_existed->get_noeud2())) && (lst_node_tri45.existe(tri_existed->get_noeud3()))) || ((lst_node_tri46.existe(tri_existed->get_noeud1())) && (lst_node_tri46.existe(tri_existed->get_noeud2())) && (lst_node_tri46.existe(tri_existed->get_noeud3()))) || ((lst_node_tri47.existe(tri_existed->get_noeud1())) && (lst_node_tri47.existe(tri_existed->get_noeud2())) && (lst_node_tri47.existe(tri_existed->get_noeud3()))) || ((lst_node_tri48.existe(tri_existed->get_noeud1())) && (lst_node_tri48.existe(tri_existed->get_noeud2())) && (lst_node_tri48.existe(tri_existed->get_noeud3()))) || ((lst_node_tri49.existe(tri_existed->get_noeud1())) && (lst_node_tri49.existe(tri_existed->get_noeud2())) && (lst_node_tri49.existe(tri_existed->get_noeud3()))) || ((lst_node_tri410.existe(tri_existed->get_noeud1())) && (lst_node_tri410.existe(tri_existed->get_noeud2())) && (lst_node_tri410.existe(tri_existed->get_noeud3()))))
5278  {
5279 
5280  check_to_creat_tetra=2;
5281 
5282 
5283  }
5284 
5285  else
5286 
5287  {
5288  check_not_to_creat_tetra=3;
5289 
5290  }
5291 
5292  }
5293 
5294  if((quall10>0.000001) && (check_not_to_creat_tetra!=3))
5295  {
5296  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5297 
5298  check_to_go_further=5;
5299  qualite_moyenne_3D+=quall10;
5300  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5301  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5302  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
5303  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
5304  }
5305  if((quallo10>0.000001) && (check_not_to_creat_tetra!=3))
5306  {
5307  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5308 
5309  check_to_go_further=5;
5310 
5311  qualite_moyenne_3D+=quallo10;
5312  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5313  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5314  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
5315  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
5316  }
5317 
5318  if((quall11>0.000001) && (check_not_to_creat_tetra!=3))
5319  {
5320  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
5321  check_to_go_further=5;
5322  qualite_moyenne_3D+=quall11;
5323  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5324  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5325  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
5326  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
5327  }
5328  if((quallo11>0.000001) && (check_not_to_creat_tetra!=3))
5329  {
5330  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
5331 
5332  check_to_go_further=5;
5333  qualite_moyenne_3D+=quallo11;
5334 
5335  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5336  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5337  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
5338  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
5339  }
5340  if((quall12>0.000001) && (check_not_to_creat_tetra!=3))
5341  {
5342  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5343  check_to_go_further=5;
5344  qualite_moyenne_3D+=quall12;
5345  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5346  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5347  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
5348  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
5349  }
5350  if((quallo12>0.000001) && (check_not_to_creat_tetra!=3))
5351 
5352  {
5353  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5354  check_to_go_further=5;
5355  qualite_moyenne_3D+=quallo12;
5356  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5357  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5358  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
5359  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
5360  }
5361  }
5362  if ((quall13>0.000001 || quallo13>0.000001) && (quall14>0.000001 || quallo14>0.000001) && (quall15>0.000001 || quallo15>0.000001) && (check_to_go_further==3))
5363  {
5364  check_not_to_creat_tetra=0;
5365  LISTE_MG_TRIANGLE::iterator it_tri_existed;
5366 
5367  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
5368 
5369  {
5370 
5371  if(((lst_node_tri51.existe(tri_existed->get_noeud1())) && (lst_node_tri51.existe(tri_existed->get_noeud2())) && (lst_node_tri51.existe(tri_existed->get_noeud3()))) || ((lst_node_tri52.existe(tri_existed->get_noeud1())) && (lst_node_tri52.existe(tri_existed->get_noeud2())) && (lst_node_tri52.existe(tri_existed->get_noeud3()))) || ((lst_node_tri53.existe(tri_existed->get_noeud1())) && (lst_node_tri53.existe(tri_existed->get_noeud2())) && (lst_node_tri53.existe(tri_existed->get_noeud3()))) || ((lst_node_tri54.existe(tri_existed->get_noeud1())) && (lst_node_tri54.existe(tri_existed->get_noeud2())) && (lst_node_tri54.existe(tri_existed->get_noeud3()))) || ((lst_node_tri55.existe(tri_existed->get_noeud1())) && (lst_node_tri55.existe(tri_existed->get_noeud2())) && (lst_node_tri55.existe(tri_existed->get_noeud3()))) || ((lst_node_tri56.existe(tri_existed->get_noeud1())) && (lst_node_tri56.existe(tri_existed->get_noeud2())) && (lst_node_tri56.existe(tri_existed->get_noeud3()))) || ((lst_node_tri57.existe(tri_existed->get_noeud1())) && (lst_node_tri57.existe(tri_existed->get_noeud2())) && (lst_node_tri57.existe(tri_existed->get_noeud3()))) || ((lst_node_tri58.existe(tri_existed->get_noeud1())) && (lst_node_tri58.existe(tri_existed->get_noeud2())) && (lst_node_tri58.existe(tri_existed->get_noeud3()))) || ((lst_node_tri59.existe(tri_existed->get_noeud1())) && (lst_node_tri59.existe(tri_existed->get_noeud2())) && (lst_node_tri59.existe(tri_existed->get_noeud3()))) || ((lst_node_tri510.existe(tri_existed->get_noeud1())) && (lst_node_tri510.existe(tri_existed->get_noeud2())) && (lst_node_tri510.existe(tri_existed->get_noeud3()))))
5372  {
5373 
5374  check_to_creat_tetra=2;
5375  }
5376 
5377  else
5378 
5379  {
5380  check_not_to_creat_tetra=3;
5381 
5382  }
5383 
5384  }
5385 
5386 
5387  if((quall13>0.000001) && (check_not_to_creat_tetra!=3))
5388  {
5389  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5390  check_to_go_further=5;
5391  qualite_moyenne_3D+=quall13;
5392  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5393  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5394  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
5395 
5396 
5397  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
5398  }
5399 
5400  if((quallo13>0.000001) && (check_not_to_creat_tetra!=3))
5401  {
5402  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5403  check_to_go_further=5;
5404  qualite_moyenne_3D+=quallo13;
5405  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5406  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5407  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
5408 
5409  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
5410  }
5411 
5412  if((quall14>0.000001) && (check_not_to_creat_tetra!=3))
5413  {
5414  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
5415 
5416  check_to_go_further=5;
5417  qualite_moyenne_3D+=quall14;
5418  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5419  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5420 
5421  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
5422  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
5423  }
5424 
5425  if((quallo14>0.000001) && (check_not_to_creat_tetra!=3))
5426  {
5427  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
5428 
5429  check_to_go_further=5;
5430 
5431  qualite_moyenne_3D+=quallo14;
5432  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5433  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5434  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
5435  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
5436  }
5437 
5438  if((quall15>0.000001) && (check_not_to_creat_tetra!=3))
5439  {
5440  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
5441  check_to_go_further=5;
5442  qualite_moyenne_3D+=quall15;
5443  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5444  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5445  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
5446  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
5447  }
5448 
5449  if((quallo15>0.000001) && (check_not_to_creat_tetra!=3))
5450  {
5451 
5452  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
5453  check_to_go_further=5;
5454  qualite_moyenne_3D+=quallo15;
5455  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5456  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5457  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
5458  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
5459  }
5460  }
5461 
5462  if ((quall16>0.000001 || quallo16>0.000001) && (quall17>0.000001 || quallo17>0.000001) && (quall18>0.000001 || quallo18>0.000001) && (check_to_go_further==3))
5463  {
5464  check_not_to_creat_tetra=0;
5465  LISTE_MG_TRIANGLE::iterator it_tri_existed;
5466  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
5467 
5468  {
5469 
5470  if(((lst_node_tri61.existe(tri_existed->get_noeud1())) && (lst_node_tri61.existe(tri_existed->get_noeud2())) && (lst_node_tri61.existe(tri_existed->get_noeud3()))) || ((lst_node_tri62.existe(tri_existed->get_noeud1())) && (lst_node_tri62.existe(tri_existed->get_noeud2())) && (lst_node_tri62.existe(tri_existed->get_noeud3()))) || ((lst_node_tri63.existe(tri_existed->get_noeud1())) && (lst_node_tri63.existe(tri_existed->get_noeud2())) && (lst_node_tri63.existe(tri_existed->get_noeud3()))) || ((lst_node_tri64.existe(tri_existed->get_noeud1())) && (lst_node_tri64.existe(tri_existed->get_noeud2())) && (lst_node_tri64.existe(tri_existed->get_noeud3()))) || ((lst_node_tri65.existe(tri_existed->get_noeud1())) && (lst_node_tri65.existe(tri_existed->get_noeud2())) && (lst_node_tri65.existe(tri_existed->get_noeud3()))) || ((lst_node_tri66.existe(tri_existed->get_noeud1())) && (lst_node_tri66.existe(tri_existed->get_noeud2())) && (lst_node_tri66.existe(tri_existed->get_noeud3()))) || ((lst_node_tri67.existe(tri_existed->get_noeud1())) && (lst_node_tri67.existe(tri_existed->get_noeud2())) && (lst_node_tri67.existe(tri_existed->get_noeud3()))) || ((lst_node_tri68.existe(tri_existed->get_noeud1())) && (lst_node_tri68.existe(tri_existed->get_noeud2())) && (lst_node_tri68.existe(tri_existed->get_noeud3()))) || ((lst_node_tri69.existe(tri_existed->get_noeud1())) && (lst_node_tri69.existe(tri_existed->get_noeud2())) && (lst_node_tri69.existe(tri_existed->get_noeud3()))) || ((lst_node_tri610.existe(tri_existed->get_noeud1())) && (lst_node_tri610.existe(tri_existed->get_noeud2())) && (lst_node_tri610.existe(tri_existed->get_noeud3()))))
5471  {
5472 
5473  check_to_creat_tetra=2;
5474  }
5475 
5476 
5477  else
5478 
5479  {
5480  check_not_to_creat_tetra=3;
5481 
5482  }
5483 
5484  }
5485 
5486  if((quall16>0.000001) && (check_not_to_creat_tetra!=3))
5487  {
5488  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5489 
5490  check_to_go_further=5;
5491  qualite_moyenne_3D+=quall16;
5492  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5493  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5494 
5495  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
5496  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
5497  }
5498  if((quallo16>0.000001) && (check_not_to_creat_tetra!=3))
5499  {
5500  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5501 
5502  check_to_go_further=5;
5503  qualite_moyenne_3D+=quallo16;
5504  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5505  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5506  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
5507  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
5508  }
5509  if((quall17>0.000001) && (check_not_to_creat_tetra!=3))
5510  {
5511  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5512  check_to_go_further=5;
5513  qualite_moyenne_3D+=quall17;
5514  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5515  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5516  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
5517  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
5518  }
5519  if((quallo17>0.000001) && (check_not_to_creat_tetra!=3))
5520  {
5521  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5522  check_to_go_further=5;
5523  qualite_moyenne_3D+=quallo17;
5524 
5525  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5526  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5527 
5528  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
5529  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
5530  }
5531  if((quall18>0.000001) && (check_not_to_creat_tetra!=3))
5532  {
5533  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5534  check_to_go_further=5;
5535  qualite_moyenne_3D+=quall18;
5536  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5537  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5538  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
5539  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
5540  }
5541  if((quallo18>0.000001) && (check_not_to_creat_tetra!=3))
5542  {
5543  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5544  check_to_go_further=5;
5545  qualite_moyenne_3D+=quallo18;
5546 
5547  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5548  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5549  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
5550  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
5551  }
5552  }
5553  }
5554  }
5555  else
5556  {
5557  //=========================================Change of 2 to 6================================
5558 
5559  //============================================Getting the Qualities============================================
5560  //====================================================================================================================
5561 
5562  quall1=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
5563 
5564  quall2=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(2)->get_coord());
5565 
5566  quall3=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(6)->get_coord());
5567 
5568  //----------------------------------------------------
5569  quallo1=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
5570 
5571  quallo2=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(2)->get_coord());
5572 
5573  quallo3=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(6)->get_coord());
5574 
5575  lst_node_tri11.ajouter(lst_node_in_second.get(3));
5576  lst_node_tri11.ajouter(lst_node_in_second.get(1));
5577  lst_node_tri11.ajouter(lst_node_in_second.get(2));
5578 
5579  lst_node_tri12.ajouter(lst_node_in_second.get(1));
5580  lst_node_tri12.ajouter(lst_node_in_second.get(2));
5581  lst_node_tri12.ajouter(lst_node_in_second.get(6));
5582 
5583  lst_node_tri13.ajouter(lst_node_in_second.get(1));
5584  lst_node_tri13.ajouter(lst_node_in_second.get(3));
5585  lst_node_tri13.ajouter(lst_node_in_second.get(6));
5586 
5587  lst_node_tri14.ajouter(lst_node_in_second.get(2));
5588  lst_node_tri14.ajouter(lst_node_in_second.get(3));
5589  lst_node_tri14.ajouter(lst_node_in_second.get(6));
5590 
5591  lst_node_tri15.ajouter(lst_node_in_second.get(0));
5592  lst_node_tri15.ajouter(lst_node_in_second.get(1));
5593  lst_node_tri15.ajouter(lst_node_in_second.get(4));
5594 
5595  lst_node_tri16.ajouter(lst_node_in_second.get(0));
5596  lst_node_tri16.ajouter(lst_node_in_second.get(1));
5597  lst_node_tri16.ajouter(lst_node_in_second.get(6));
5598 
5599  lst_node_tri17.ajouter(lst_node_in_second.get(0));
5600  lst_node_tri17.ajouter(lst_node_in_second.get(4));
5601  lst_node_tri17.ajouter(lst_node_in_second.get(2));
5602 
5603  lst_node_tri18.ajouter(lst_node_in_second.get(1));
5604  lst_node_tri18.ajouter(lst_node_in_second.get(4));
5605  lst_node_tri18.ajouter(lst_node_in_second.get(2));
5606 
5607  lst_node_tri19.ajouter(lst_node_in_second.get(1));
5608  lst_node_tri19.ajouter(lst_node_in_second.get(2));
5609  lst_node_tri19.ajouter(lst_node_in_second.get(0));
5610 
5611  lst_node_tri110.ajouter(lst_node_in_second.get(0));
5612  lst_node_tri110.ajouter(lst_node_in_second.get(2));
5613  lst_node_tri110.ajouter(lst_node_in_second.get(6));
5614 
5615  //----------------------------------------------------
5616  //----------------------------------------------------
5617  quall4=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
5618 
5619  quall5=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(6)->get_coord(),lst_node_in_second.get(4)->get_coord());
5620 
5621  quall6=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
5622 
5623  //----------------------------------------------------
5624  quallo4=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
5625 
5626  quallo5=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(6)->get_coord(),lst_node_in_second.get(4)->get_coord());
5627 
5628  quallo6=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
5629 
5630  lst_node_tri21.ajouter(lst_node_in_second.get(1));
5631  lst_node_tri21.ajouter(lst_node_in_second.get(2));
5632  lst_node_tri21.ajouter(lst_node_in_second.get(3));
5633 
5634  lst_node_tri22.ajouter(lst_node_in_second.get(1));
5635  lst_node_tri22.ajouter(lst_node_in_second.get(2));
5636  lst_node_tri22.ajouter(lst_node_in_second.get(6));
5637 
5638  lst_node_tri23.ajouter(lst_node_in_second.get(1));
5639  lst_node_tri23.ajouter(lst_node_in_second.get(3));
5640  lst_node_tri23.ajouter(lst_node_in_second.get(6));
5641 
5642  lst_node_tri24.ajouter(lst_node_in_second.get(2));
5643  lst_node_tri24.ajouter(lst_node_in_second.get(3));
5644  lst_node_tri24.ajouter(lst_node_in_second.get(6));
5645 
5646  lst_node_tri25.ajouter(lst_node_in_second.get(0));
5647  lst_node_tri25.ajouter(lst_node_in_second.get(1));
5648  lst_node_tri25.ajouter(lst_node_in_second.get(6));
5649 
5650  lst_node_tri26.ajouter(lst_node_in_second.get(0));
5651  lst_node_tri26.ajouter(lst_node_in_second.get(1));
5652  lst_node_tri26.ajouter(lst_node_in_second.get(4));
5653 
5654  lst_node_tri27.ajouter(lst_node_in_second.get(0));
5655  lst_node_tri27.ajouter(lst_node_in_second.get(6));
5656  lst_node_tri27.ajouter(lst_node_in_second.get(4));
5657 
5658  lst_node_tri28.ajouter(lst_node_in_second.get(1));
5659  lst_node_tri28.ajouter(lst_node_in_second.get(2));
5660  lst_node_tri28.ajouter(lst_node_in_second.get(4));
5661 
5662  lst_node_tri29.ajouter(lst_node_in_second.get(1));
5663  lst_node_tri29.ajouter(lst_node_in_second.get(4));
5664  lst_node_tri29.ajouter(lst_node_in_second.get(6));
5665 
5666  lst_node_tri210.ajouter(lst_node_in_second.get(2));
5667  lst_node_tri210.ajouter(lst_node_in_second.get(4));
5668  lst_node_tri210.ajouter(lst_node_in_second.get(6));
5669  //----------------------------------------------------
5670  //----------------------------------------------------
5671  quall7=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
5672 
5673  quall8=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(6)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
5674 
5675  quall9=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(6)->get_coord(),lst_node_in_second.get(4)->get_coord());
5676 
5677  //----------------------------------------------------
5678  quallo7=OPERATEUR::qualite_tetra(lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
5679 
5680  quallo8=OPERATEUR::qualite_tetra(lst_node_in_second.get(6)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
5681 
5682  quallo9=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(6)->get_coord(),lst_node_in_second.get(4)->get_coord());
5683 
5684  lst_node_tri31.ajouter(lst_node_in_second.get(3));
5685  lst_node_tri31.ajouter(lst_node_in_second.get(2));
5686  lst_node_tri31.ajouter(lst_node_in_second.get(4));
5687 
5688  lst_node_tri32.ajouter(lst_node_in_second.get(2));
5689  lst_node_tri32.ajouter(lst_node_in_second.get(3));
5690  lst_node_tri32.ajouter(lst_node_in_second.get(6));
5691 
5692  lst_node_tri33.ajouter(lst_node_in_second.get(2));
5693  lst_node_tri33.ajouter(lst_node_in_second.get(4));
5694  lst_node_tri33.ajouter(lst_node_in_second.get(6));
5695 
5696  lst_node_tri34.ajouter(lst_node_in_second.get(3));
5697  lst_node_tri34.ajouter(lst_node_in_second.get(4));
5698  lst_node_tri34.ajouter(lst_node_in_second.get(6));
5699 
5700  lst_node_tri35.ajouter(lst_node_in_second.get(6));
5701  lst_node_tri35.ajouter(lst_node_in_second.get(1));
5702  lst_node_tri35.ajouter(lst_node_in_second.get(3));
5703 
5704  lst_node_tri36.ajouter(lst_node_in_second.get(6));
5705  lst_node_tri36.ajouter(lst_node_in_second.get(1));
5706  lst_node_tri36.ajouter(lst_node_in_second.get(4));
5707 
5708  lst_node_tri37.ajouter(lst_node_in_second.get(1));
5709  lst_node_tri37.ajouter(lst_node_in_second.get(3));
5710  lst_node_tri37.ajouter(lst_node_in_second.get(4));
5711 
5712  lst_node_tri38.ajouter(lst_node_in_second.get(0));
5713  lst_node_tri38.ajouter(lst_node_in_second.get(1));
5714  lst_node_tri38.ajouter(lst_node_in_second.get(6));
5715 
5716  lst_node_tri39.ajouter(lst_node_in_second.get(0));
5717  lst_node_tri39.ajouter(lst_node_in_second.get(6));
5718  lst_node_tri39.ajouter(lst_node_in_second.get(4));
5719 
5720  lst_node_tri310.ajouter(lst_node_in_second.get(0));
5721  lst_node_tri310.ajouter(lst_node_in_second.get(1));
5722  lst_node_tri310.ajouter(lst_node_in_second.get(4));
5723  //----------------------------------------------------
5724  //----------------------------------------------------
5725  quall10=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
5726 
5727  quall11=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
5728 
5729  quall12=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(2)->get_coord());
5730 
5731 
5732  //----------------------------------------------------
5733  quallo10=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
5734 
5735  quallo11=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
5736 
5737  quallo12=OPERATEUR::qualite_tetra(lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(2)->get_coord());
5738 
5739  lst_node_tri41.ajouter(lst_node_in_second.get(0));
5740  lst_node_tri41.ajouter(lst_node_in_second.get(2));
5741  lst_node_tri41.ajouter(lst_node_in_second.get(3));
5742 
5743  lst_node_tri48.ajouter(lst_node_in_second.get(0));
5744  lst_node_tri48.ajouter(lst_node_in_second.get(2));
5745  lst_node_tri48.ajouter(lst_node_in_second.get(6));
5746 
5747 
5748  lst_node_tri42.ajouter(lst_node_in_second.get(0));
5749  lst_node_tri42.ajouter(lst_node_in_second.get(3));
5750  lst_node_tri42.ajouter(lst_node_in_second.get(6));
5751 
5752  lst_node_tri43.ajouter(lst_node_in_second.get(2));
5753  lst_node_tri43.ajouter(lst_node_in_second.get(3));
5754  lst_node_tri43.ajouter(lst_node_in_second.get(6));
5755 
5756  lst_node_tri44.ajouter(lst_node_in_second.get(0));
5757  lst_node_tri44.ajouter(lst_node_in_second.get(1));
5758  lst_node_tri44.ajouter(lst_node_in_second.get(3));
5759 
5760  lst_node_tri45.ajouter(lst_node_in_second.get(0));
5761  lst_node_tri45.ajouter(lst_node_in_second.get(1));
5762  lst_node_tri45.ajouter(lst_node_in_second.get(4));
5763 
5764  lst_node_tri46.ajouter(lst_node_in_second.get(0));
5765  lst_node_tri46.ajouter(lst_node_in_second.get(3));
5766  lst_node_tri46.ajouter(lst_node_in_second.get(4));
5767 
5768  lst_node_tri47.ajouter(lst_node_in_second.get(1));
5769  lst_node_tri47.ajouter(lst_node_in_second.get(3));
5770  lst_node_tri47.ajouter(lst_node_in_second.get(4));
5771 
5772  lst_node_tri49.ajouter(lst_node_in_second.get(0));
5773  lst_node_tri49.ajouter(lst_node_in_second.get(4));
5774  lst_node_tri49.ajouter(lst_node_in_second.get(2));
5775 
5776  lst_node_tri410.ajouter(lst_node_in_second.get(3));
5777  lst_node_tri410.ajouter(lst_node_in_second.get(4));
5778  lst_node_tri410.ajouter(lst_node_in_second.get(2));
5779  //----------------------------------------------------
5780  //----------------------------------------------------
5781  quall13=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
5782 
5783  quall14=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
5784 
5785  quall15=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(6)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
5786 
5787 
5788  //----------------------------------------------------
5789  quallo13=OPERATEUR::qualite_tetra(lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
5790 
5791  quallo14=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
5792 
5793  quallo15=OPERATEUR::qualite_tetra(lst_node_in_second.get(6)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
5794 
5795  lst_node_tri51.ajouter(lst_node_in_second.get(3));
5796  lst_node_tri51.ajouter(lst_node_in_second.get(2));
5797  lst_node_tri51.ajouter(lst_node_in_second.get(4));
5798 
5799  lst_node_tri52.ajouter(lst_node_in_second.get(2));
5800  lst_node_tri52.ajouter(lst_node_in_second.get(3));
5801  lst_node_tri52.ajouter(lst_node_in_second.get(6));
5802 
5803  lst_node_tri53.ajouter(lst_node_in_second.get(2));
5804  lst_node_tri53.ajouter(lst_node_in_second.get(4));
5805  lst_node_tri53.ajouter(lst_node_in_second.get(6));
5806 
5807  lst_node_tri54.ajouter(lst_node_in_second.get(3));
5808  lst_node_tri54.ajouter(lst_node_in_second.get(4));
5809  lst_node_tri54.ajouter(lst_node_in_second.get(6));
5810 
5811  lst_node_tri55.ajouter(lst_node_in_second.get(1));
5812  lst_node_tri55.ajouter(lst_node_in_second.get(0));
5813  lst_node_tri55.ajouter(lst_node_in_second.get(3));
5814 
5815  lst_node_tri56.ajouter(lst_node_in_second.get(0));
5816  lst_node_tri56.ajouter(lst_node_in_second.get(1));
5817  lst_node_tri56.ajouter(lst_node_in_second.get(4));
5818 
5819  lst_node_tri57.ajouter(lst_node_in_second.get(0));
5820  lst_node_tri57.ajouter(lst_node_in_second.get(3));
5821  lst_node_tri57.ajouter(lst_node_in_second.get(4));
5822 
5823  lst_node_tri58.ajouter(lst_node_in_second.get(1));
5824  lst_node_tri58.ajouter(lst_node_in_second.get(3));
5825  lst_node_tri58.ajouter(lst_node_in_second.get(4));
5826 
5827  lst_node_tri59.ajouter(lst_node_in_second.get(0));
5828  lst_node_tri59.ajouter(lst_node_in_second.get(6));
5829  lst_node_tri59.ajouter(lst_node_in_second.get(3));
5830 
5831  lst_node_tri510.ajouter(lst_node_in_second.get(0));
5832  lst_node_tri510.ajouter(lst_node_in_second.get(6));
5833  lst_node_tri510.ajouter(lst_node_in_second.get(4));
5834 
5835  //----------------------------------------------------
5836  //----------------------------------------------------
5837  quall16=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(2)->get_coord());
5838 
5839  quall17=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
5840 
5841  quall18=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(2)->get_coord());
5842 
5843  //----------------------------------------------------
5844  quallo16=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(2)->get_coord());
5845 
5846  quallo17=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
5847 
5848  quallo18=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(2)->get_coord());
5849 
5850  lst_node_tri61.ajouter(lst_node_in_second.get(0));
5851  lst_node_tri61.ajouter(lst_node_in_second.get(1));
5852  lst_node_tri61.ajouter(lst_node_in_second.get(4));
5853 
5854  lst_node_tri62.ajouter(lst_node_in_second.get(0));
5855  lst_node_tri62.ajouter(lst_node_in_second.get(1));
5856  lst_node_tri62.ajouter(lst_node_in_second.get(2));
5857 
5858  lst_node_tri63.ajouter(lst_node_in_second.get(0));
5859  lst_node_tri63.ajouter(lst_node_in_second.get(4));
5860  lst_node_tri63.ajouter(lst_node_in_second.get(2));
5861 
5862  lst_node_tri64.ajouter(lst_node_in_second.get(1));
5863  lst_node_tri64.ajouter(lst_node_in_second.get(2));
5864  lst_node_tri64.ajouter(lst_node_in_second.get(4));
5865 
5866  lst_node_tri65.ajouter(lst_node_in_second.get(0));
5867  lst_node_tri65.ajouter(lst_node_in_second.get(2));
5868  lst_node_tri65.ajouter(lst_node_in_second.get(3));
5869 
5870  lst_node_tri66.ajouter(lst_node_in_second.get(0));
5871  lst_node_tri66.ajouter(lst_node_in_second.get(2));
5872  lst_node_tri66.ajouter(lst_node_in_second.get(6));
5873 
5874  lst_node_tri67.ajouter(lst_node_in_second.get(2));
5875  lst_node_tri67.ajouter(lst_node_in_second.get(3));
5876  lst_node_tri67.ajouter(lst_node_in_second.get(6));
5877 
5878  lst_node_tri68.ajouter(lst_node_in_second.get(0));
5879  lst_node_tri68.ajouter(lst_node_in_second.get(3));
5880  lst_node_tri68.ajouter(lst_node_in_second.get(6));
5881 
5882  lst_node_tri69.ajouter(lst_node_in_second.get(0));
5883  lst_node_tri69.ajouter(lst_node_in_second.get(3));
5884  lst_node_tri69.ajouter(lst_node_in_second.get(1));
5885 
5886  lst_node_tri610.ajouter(lst_node_in_second.get(1));
5887  lst_node_tri610.ajouter(lst_node_in_second.get(2));
5888  lst_node_tri610.ajouter(lst_node_in_second.get(3));
5889 
5890  //----------------------------------------------------
5891  //---------------------------------------------------
5892 
5893  if (((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001) && (quall3>0.001 || quallo3>0.001)) && ((quall4+quallo4+quall5+quallo5+quall6+quallo6)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)) && ((quall7+ quallo7+quall8+quallo8+quall9+quallo9)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)) && ((quall10+ quallo10+quall12+ quallo12+quall11+ quallo11)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)) && ((quall13+quallo13+quall14+quallo14+quall15+ quallo15)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)))
5894  {
5895  check_not_to_creat_tetra=0;
5896  LISTE_MG_TRIANGLE::iterator it_tri_existed;
5897  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
5898  {
5899  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))) || ((lst_node_tri18.existe(tri_existed->get_noeud1())) && (lst_node_tri18.existe(tri_existed->get_noeud2())) && (lst_node_tri18.existe(tri_existed->get_noeud3()))) || ((lst_node_tri19.existe(tri_existed->get_noeud1())) && (lst_node_tri19.existe(tri_existed->get_noeud2())) && (lst_node_tri19.existe(tri_existed->get_noeud3()))) || ((lst_node_tri110.existe(tri_existed->get_noeud1())) && (lst_node_tri110.existe(tri_existed->get_noeud2())) && (lst_node_tri110.existe(tri_existed->get_noeud3()))))
5900  {
5901 
5902  check_to_creat_tetra=2;
5903  }
5904  else
5905 
5906  {
5907  check_not_to_creat_tetra=3;
5908 
5909  }
5910 
5911  }
5912 
5913  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
5914  {
5915  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5916  check_to_go_further=5;
5917  qualite_moyenne_3D+=quall1;
5918  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5919  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5920  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
5921  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
5922  }
5923 
5924  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
5925  {
5926  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5927  check_to_go_further=5;
5928  qualite_moyenne_3D+=quallo1;
5929  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
5930  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
5931  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5932  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5933  }
5934 
5935  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
5936  {
5937  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(2),tetra_cutt->get_origine()));
5938  check_to_go_further=5;
5939 
5940  qualite_moyenne_3D+=quall2;
5941  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
5942  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
5943 
5944  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5945  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5946  }
5947  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
5948  {
5949  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(2),tetra_cutt->get_origine()));
5950  check_to_go_further=5;
5951 
5952  qualite_moyenne_3D+=quallo2;
5953  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
5954  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
5955 
5956  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5957  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5958  }
5959 
5960  if ((quall3>0.00001) && (check_not_to_creat_tetra!=3))
5961  {
5962  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5963 
5964  check_to_go_further=5;
5965 
5966  qualite_moyenne_3D+=quall3;
5967  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
5968  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
5969  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5970  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5971  }
5972  if ((quallo3>0.00001) && (check_not_to_creat_tetra!=3))
5973 
5974  {
5975  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
5976  check_to_go_further=5;
5977  qualite_moyenne_3D+=quallo3;
5978  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
5979  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
5980  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5981  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5982  }
5983  }
5984  if (((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (quall6>0.001 || quallo6>0.001)) && (check_to_go_further==3) && ((quall7+ quallo7+quall8+quallo8+quall9+quallo9)<(quall4+quallo4+quall5+quallo5+quall6+quallo6)) && ((quall10+ quallo10+quall12+ quallo12+quall11+ quallo11)<(quall4+quallo4+quall5+quallo5+quall6+quallo6)) && ((quall13+quallo13+quall14+quallo14+quall15+ quallo15)<(quall4+quallo4+quall5+quallo5+quall6+quallo6)) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall4+quallo4+quall5+quallo5+quall6+quallo6)))
5985  {
5986  check_not_to_creat_tetra=0;
5987  LISTE_MG_TRIANGLE::iterator it_tri_existed;
5988  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
5989  {
5990  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))) || ((lst_node_tri28.existe(tri_existed->get_noeud1())) && (lst_node_tri28.existe(tri_existed->get_noeud2())) && (lst_node_tri28.existe(tri_existed->get_noeud3()))) || ((lst_node_tri29.existe(tri_existed->get_noeud1())) && (lst_node_tri29.existe(tri_existed->get_noeud2())) && (lst_node_tri29.existe(tri_existed->get_noeud3()))) || ((lst_node_tri210.existe(tri_existed->get_noeud1())) && (lst_node_tri210.existe(tri_existed->get_noeud2())) && (lst_node_tri210.existe(tri_existed->get_noeud3()))))
5991  {
5992  check_to_creat_tetra=2;
5993  }
5994  else
5995  {
5996  check_not_to_creat_tetra=3;
5997  }
5998  }
5999 
6000  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
6001  {
6002  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6003  check_to_go_further=5;
6004  qualite_moyenne_3D+=quall4;
6005  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6006  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6007  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
6008  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
6009  }
6010 
6011  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
6012  {
6013  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(6),lst_node_in_second.get(4),tetra_cutt->get_origine()));
6014  check_to_go_further=5;
6015  qualite_moyenne_3D+=quall5;
6016  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6017  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6018  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
6019 
6020  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
6021 
6022  }
6023 
6024  if((quall6>0.00001) && (check_not_to_creat_tetra!=3))
6025  {
6026  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6027  check_to_go_further=5;
6028 
6029  qualite_moyenne_3D+=quall6;
6030  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6031  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6032  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
6033  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
6034 
6035  }
6036  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
6037  {
6038  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6039  check_to_go_further=5;
6040  qualite_moyenne_3D+=quallo4;
6041  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6042  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6043  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
6044  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
6045 
6046  }
6047 
6048  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
6049  {
6050  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(6),lst_node_in_second.get(4),tetra_cutt->get_origine()));
6051  check_to_go_further=5;
6052  qualite_moyenne_3D+=quallo5;
6053  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6054  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6055  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
6056  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
6057 
6058  }
6059 
6060  if((quallo6>0.00001) && (check_not_to_creat_tetra!=3))
6061  {
6062  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6063  check_to_go_further=5;
6064  qualite_moyenne_3D+=quallo6;
6065  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6066  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6067  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
6068  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
6069 
6070  }
6071  }
6072  if (((quall7>0.001 || quallo7>0.001) && (quall8>0.001 || quallo8>0.001) && (quall9>0.001 || quallo9>0.001)) && (check_to_go_further==3) && ((quall10+ quallo10+quall12+ quallo12+quall11+ quallo11)<(quall7+quallo7+quall8+quallo8+quall9+quallo9)) && ((quall13+quallo13+quall14+quallo14+quall15+ quallo15)<(quall7+quallo7+quall8+quallo8+quall9+quallo9)) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall7+quallo7+quall8+quallo8+quall9+quallo9)))
6073  {
6074  check_not_to_creat_tetra=0;
6075  LISTE_MG_TRIANGLE::iterator it_tri_existed;
6076  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
6077  {
6078  if(((lst_node_tri31.existe(tri_existed->get_noeud1())) && (lst_node_tri31.existe(tri_existed->get_noeud2())) && (lst_node_tri31.existe(tri_existed->get_noeud3()))) || ((lst_node_tri32.existe(tri_existed->get_noeud1())) && (lst_node_tri32.existe(tri_existed->get_noeud2())) && (lst_node_tri32.existe(tri_existed->get_noeud3()))) || ((lst_node_tri33.existe(tri_existed->get_noeud1())) && (lst_node_tri33.existe(tri_existed->get_noeud2())) && (lst_node_tri33.existe(tri_existed->get_noeud3()))) || ((lst_node_tri34.existe(tri_existed->get_noeud1())) && (lst_node_tri34.existe(tri_existed->get_noeud2())) && (lst_node_tri34.existe(tri_existed->get_noeud3()))) || ((lst_node_tri35.existe(tri_existed->get_noeud1())) && (lst_node_tri35.existe(tri_existed->get_noeud2())) && (lst_node_tri35.existe(tri_existed->get_noeud3()))) || ((lst_node_tri36.existe(tri_existed->get_noeud1())) && (lst_node_tri36.existe(tri_existed->get_noeud2())) && (lst_node_tri36.existe(tri_existed->get_noeud3()))) || ((lst_node_tri37.existe(tri_existed->get_noeud1())) && (lst_node_tri37.existe(tri_existed->get_noeud2())) && (lst_node_tri37.existe(tri_existed->get_noeud3()))) || ((lst_node_tri38.existe(tri_existed->get_noeud1())) && (lst_node_tri38.existe(tri_existed->get_noeud2())) && (lst_node_tri38.existe(tri_existed->get_noeud3()))) || ((lst_node_tri39.existe(tri_existed->get_noeud1())) && (lst_node_tri39.existe(tri_existed->get_noeud2())) && (lst_node_tri39.existe(tri_existed->get_noeud3()))) || ((lst_node_tri310.existe(tri_existed->get_noeud1())) && (lst_node_tri310.existe(tri_existed->get_noeud2())) && (lst_node_tri310.existe(tri_existed->get_noeud3()))))
6079  {
6080 
6081  check_to_creat_tetra=2;
6082  }
6083 
6084  else
6085 
6086  {
6087  check_not_to_creat_tetra=3;
6088 
6089  }
6090 
6091  }
6092 
6093  if((quall7>0.00001) && (check_not_to_creat_tetra!=3))
6094  {
6095  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6096  check_to_go_further=5;
6097  qualite_moyenne_3D+=quall7;
6098  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6099  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6100 
6101  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
6102 
6103  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
6104  }
6105 
6106  if((quallo7>0.00001) && (check_not_to_creat_tetra!=3))
6107 
6108  {
6109  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6110  check_to_go_further=5;
6111  qualite_moyenne_3D+=quallo7;
6112  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6113  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6114 
6115  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
6116  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
6117  }
6118 
6119  if((quall8>0.00001) && (check_not_to_creat_tetra!=3))
6120  {
6121  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(6),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
6122  check_to_go_further=5;
6123  qualite_moyenne_3D+=quall8;
6124  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6125  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6126  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
6127 
6128  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
6129 
6130  }
6131 
6132  if((quallo8>0.00001) && (check_not_to_creat_tetra!=3))
6133  {
6134  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(6),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
6135  check_to_go_further=5;
6136  qualite_moyenne_3D+=quallo8;
6137  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6138  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6139  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
6140  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
6141 
6142  }
6143 
6144  if((quall9>0.00001) && (check_not_to_creat_tetra!=3))
6145  {
6146  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(6),lst_node_in_second.get(4),tetra_cutt->get_origine()));
6147  check_to_go_further=5;
6148 
6149  qualite_moyenne_3D+=quall9;
6150  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6151  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6152  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
6153  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
6154  }
6155 
6156  if((quallo9>0.00001) && (check_not_to_creat_tetra!=3))
6157  {
6158  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(6),lst_node_in_second.get(4),tetra_cutt->get_origine()));
6159  check_to_go_further=5;
6160  qualite_moyenne_3D+=quallo9;
6161  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6162  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6163  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
6164  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
6165  }
6166  }
6167  if (((quall10>0.001 || quallo10>0.001) && (quall11>0.001 || quallo11>0.001) && (quall12>0.001 || quallo12>0.001)) && (check_to_go_further==3) && ((quall13+quallo13+quall14+quallo14+quall15+ quallo15)<(quall10+quallo10+quall11+quallo11+quall12+quallo12)) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall10+quallo10+quall11+quallo11+quall12+quallo12)))
6168  {
6169  check_not_to_creat_tetra=0;
6170  LISTE_MG_TRIANGLE::iterator it_tri_existed;
6171  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
6172  {
6173  if(((lst_node_tri41.existe(tri_existed->get_noeud1())) && (lst_node_tri41.existe(tri_existed->get_noeud2())) && (lst_node_tri41.existe(tri_existed->get_noeud3()))) || ((lst_node_tri42.existe(tri_existed->get_noeud1())) && (lst_node_tri42.existe(tri_existed->get_noeud2())) && (lst_node_tri42.existe(tri_existed->get_noeud3()))) || ((lst_node_tri43.existe(tri_existed->get_noeud1())) && (lst_node_tri43.existe(tri_existed->get_noeud2())) && (lst_node_tri43.existe(tri_existed->get_noeud3()))) || ((lst_node_tri44.existe(tri_existed->get_noeud1())) && (lst_node_tri44.existe(tri_existed->get_noeud2())) && (lst_node_tri44.existe(tri_existed->get_noeud3()))) || ((lst_node_tri45.existe(tri_existed->get_noeud1())) && (lst_node_tri45.existe(tri_existed->get_noeud2())) && (lst_node_tri45.existe(tri_existed->get_noeud3()))) || ((lst_node_tri46.existe(tri_existed->get_noeud1())) && (lst_node_tri46.existe(tri_existed->get_noeud2())) && (lst_node_tri46.existe(tri_existed->get_noeud3()))) || ((lst_node_tri47.existe(tri_existed->get_noeud1())) && (lst_node_tri47.existe(tri_existed->get_noeud2())) && (lst_node_tri47.existe(tri_existed->get_noeud3()))) || ((lst_node_tri48.existe(tri_existed->get_noeud1())) && (lst_node_tri48.existe(tri_existed->get_noeud2())) && (lst_node_tri48.existe(tri_existed->get_noeud3()))) || ((lst_node_tri49.existe(tri_existed->get_noeud1())) && (lst_node_tri49.existe(tri_existed->get_noeud2())) && (lst_node_tri49.existe(tri_existed->get_noeud3()))) || ((lst_node_tri410.existe(tri_existed->get_noeud1())) && (lst_node_tri410.existe(tri_existed->get_noeud2())) && (lst_node_tri410.existe(tri_existed->get_noeud3()))))
6174  {
6175  check_to_creat_tetra=2;
6176  }
6177  else
6178  {
6179  check_not_to_creat_tetra=3;
6180  }
6181  }
6182 
6183  if((quall10>0.00001) && (check_not_to_creat_tetra!=3))
6184  {
6185  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6186 
6187  check_to_go_further=5;
6188  qualite_moyenne_3D+=quall10;
6189  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6190  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6191  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
6192  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
6193  }
6194  if((quallo10>0.00001) && (check_not_to_creat_tetra!=3))
6195  {
6196  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6197 
6198  check_to_go_further=5;
6199 
6200  qualite_moyenne_3D+=quallo10;
6201  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6202  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6203  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
6204  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
6205  }
6206 
6207  if((quall11>0.00001) && (check_not_to_creat_tetra!=3))
6208  {
6209  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
6210  check_to_go_further=5;
6211  qualite_moyenne_3D+=quall11;
6212  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6213  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6214  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
6215  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
6216  }
6217  if((quallo11>0.00001) && (check_not_to_creat_tetra!=3))
6218  {
6219  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
6220 
6221  check_to_go_further=5;
6222  qualite_moyenne_3D+=quallo11;
6223 
6224  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6225  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6226  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
6227  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
6228  }
6229  if((quall12>0.00001) && (check_not_to_creat_tetra!=3))
6230  {
6231  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(2),tetra_cutt->get_origine()));
6232  check_to_go_further=5;
6233  qualite_moyenne_3D+=quall12;
6234  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6235  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6236  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
6237  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
6238  }
6239  if((quallo12>0.00001) && (check_not_to_creat_tetra!=3))
6240 
6241  {
6242  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(2),tetra_cutt->get_origine()));
6243  check_to_go_further=5;
6244  qualite_moyenne_3D+=quallo12;
6245  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6246  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6247  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
6248  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
6249  }
6250  }
6251  if (((quall13>0.001 || quallo13>0.001) && (quall14>0.001 || quallo14>0.001) && (quall15>0.001 || quallo15>0.001)) && (check_to_go_further==3) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall13+quallo13+quall14+quallo14+quall15+quallo15)))
6252  {
6253  check_not_to_creat_tetra=0;
6254  LISTE_MG_TRIANGLE::iterator it_tri_existed;
6255  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
6256  {
6257 
6258  if(((lst_node_tri51.existe(tri_existed->get_noeud1())) && (lst_node_tri51.existe(tri_existed->get_noeud2())) && (lst_node_tri51.existe(tri_existed->get_noeud3()))) || ((lst_node_tri52.existe(tri_existed->get_noeud1())) && (lst_node_tri52.existe(tri_existed->get_noeud2())) && (lst_node_tri52.existe(tri_existed->get_noeud3()))) || ((lst_node_tri53.existe(tri_existed->get_noeud1())) && (lst_node_tri53.existe(tri_existed->get_noeud2())) && (lst_node_tri53.existe(tri_existed->get_noeud3()))) || ((lst_node_tri54.existe(tri_existed->get_noeud1())) && (lst_node_tri54.existe(tri_existed->get_noeud2())) && (lst_node_tri54.existe(tri_existed->get_noeud3()))) || ((lst_node_tri55.existe(tri_existed->get_noeud1())) && (lst_node_tri55.existe(tri_existed->get_noeud2())) && (lst_node_tri55.existe(tri_existed->get_noeud3()))) || ((lst_node_tri56.existe(tri_existed->get_noeud1())) && (lst_node_tri56.existe(tri_existed->get_noeud2())) && (lst_node_tri56.existe(tri_existed->get_noeud3()))) || ((lst_node_tri57.existe(tri_existed->get_noeud1())) && (lst_node_tri57.existe(tri_existed->get_noeud2())) && (lst_node_tri57.existe(tri_existed->get_noeud3()))) || ((lst_node_tri58.existe(tri_existed->get_noeud1())) && (lst_node_tri58.existe(tri_existed->get_noeud2())) && (lst_node_tri58.existe(tri_existed->get_noeud3()))) || ((lst_node_tri59.existe(tri_existed->get_noeud1())) && (lst_node_tri59.existe(tri_existed->get_noeud2())) && (lst_node_tri59.existe(tri_existed->get_noeud3()))) || ((lst_node_tri510.existe(tri_existed->get_noeud1())) && (lst_node_tri510.existe(tri_existed->get_noeud2())) && (lst_node_tri510.existe(tri_existed->get_noeud3()))))
6259  {
6260  check_to_creat_tetra=2;
6261  }
6262  else
6263  {
6264  check_not_to_creat_tetra=3;
6265  }
6266  }
6267  if((quall13>0.00001) && (check_not_to_creat_tetra!=3))
6268  {
6269  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6270  check_to_go_further=5;
6271  qualite_moyenne_3D+=quall13;
6272  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6273  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6274  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
6275 
6276 
6277  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
6278  }
6279 
6280  if((quallo13>0.00001) && (check_not_to_creat_tetra!=3))
6281  {
6282  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6283  check_to_go_further=5;
6284  qualite_moyenne_3D+=quallo13;
6285  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6286  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6287  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
6288 
6289  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
6290  }
6291 
6292  if((quall14>0.00001) && (check_not_to_creat_tetra!=3))
6293  {
6294  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
6295 
6296  check_to_go_further=5;
6297  qualite_moyenne_3D+=quall14;
6298  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6299  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6300 
6301  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
6302  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
6303  }
6304 
6305  if((quallo14>0.00001) && (check_not_to_creat_tetra!=3))
6306  {
6307  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
6308 
6309  check_to_go_further=5;
6310 
6311  qualite_moyenne_3D+=quallo14;
6312  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6313  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6314  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
6315  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
6316  }
6317 
6318  if((quall15>0.00001) && (check_not_to_creat_tetra!=3))
6319  {
6320  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(6),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
6321  check_to_go_further=5;
6322  qualite_moyenne_3D+=quall15;
6323  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6324  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6325  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
6326  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
6327  }
6328 
6329  if((quallo15>0.00001) && (check_not_to_creat_tetra!=3))
6330  {
6331 
6332  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(6),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
6333  check_to_go_further=5;
6334  qualite_moyenne_3D+=quallo15;
6335  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6336  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6337  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
6338  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
6339  }
6340  }
6341 
6342  if ((quall16>0.001 || quallo16>0.001) && (quall17>0.001 || quallo17>0.001) && (quall18>0.001 || quallo18>0.001) && (check_to_go_further==3))
6343  {
6344  check_not_to_creat_tetra=0;
6345  LISTE_MG_TRIANGLE::iterator it_tri_existed;
6346  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
6347  {
6348  if(((lst_node_tri61.existe(tri_existed->get_noeud1())) && (lst_node_tri61.existe(tri_existed->get_noeud2())) && (lst_node_tri61.existe(tri_existed->get_noeud3()))) || ((lst_node_tri62.existe(tri_existed->get_noeud1())) && (lst_node_tri62.existe(tri_existed->get_noeud2())) && (lst_node_tri62.existe(tri_existed->get_noeud3()))) || ((lst_node_tri63.existe(tri_existed->get_noeud1())) && (lst_node_tri63.existe(tri_existed->get_noeud2())) && (lst_node_tri63.existe(tri_existed->get_noeud3()))) || ((lst_node_tri64.existe(tri_existed->get_noeud1())) && (lst_node_tri64.existe(tri_existed->get_noeud2())) && (lst_node_tri64.existe(tri_existed->get_noeud3()))) || ((lst_node_tri65.existe(tri_existed->get_noeud1())) && (lst_node_tri65.existe(tri_existed->get_noeud2())) && (lst_node_tri65.existe(tri_existed->get_noeud3()))) || ((lst_node_tri66.existe(tri_existed->get_noeud1())) && (lst_node_tri66.existe(tri_existed->get_noeud2())) && (lst_node_tri66.existe(tri_existed->get_noeud3()))) || ((lst_node_tri67.existe(tri_existed->get_noeud1())) && (lst_node_tri67.existe(tri_existed->get_noeud2())) && (lst_node_tri67.existe(tri_existed->get_noeud3()))) || ((lst_node_tri68.existe(tri_existed->get_noeud1())) && (lst_node_tri68.existe(tri_existed->get_noeud2())) && (lst_node_tri68.existe(tri_existed->get_noeud3()))) || ((lst_node_tri69.existe(tri_existed->get_noeud1())) && (lst_node_tri69.existe(tri_existed->get_noeud2())) && (lst_node_tri69.existe(tri_existed->get_noeud3()))) || ((lst_node_tri610.existe(tri_existed->get_noeud1())) && (lst_node_tri610.existe(tri_existed->get_noeud2())) && (lst_node_tri610.existe(tri_existed->get_noeud3()))))
6349  {
6350  check_to_creat_tetra=2;
6351  }
6352  else
6353  {
6354  check_not_to_creat_tetra=3;
6355  }
6356  }
6357 
6358  if((quall16>0.00001) && (check_not_to_creat_tetra!=3))
6359  {
6360  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(2),tetra_cutt->get_origine()));
6361 
6362  check_to_go_further=5;
6363  qualite_moyenne_3D+=quall16;
6364  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6365  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6366 
6367  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
6368  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
6369  }
6370  if((quallo16>0.00001) && (check_not_to_creat_tetra!=3))
6371  {
6372  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(2),tetra_cutt->get_origine()));
6373  check_to_go_further=5;
6374  qualite_moyenne_3D+=quallo16;
6375  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6376  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6377  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
6378  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
6379  }
6380  if((quall17>0.00001) && (check_not_to_creat_tetra!=3))
6381  {
6382  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6383  check_to_go_further=5;
6384  qualite_moyenne_3D+=quall17;
6385  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6386  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6387  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
6388  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
6389  }
6390  if((quallo17>0.00001) && (check_not_to_creat_tetra!=3))
6391  {
6392  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6393  check_to_go_further=5;
6394  qualite_moyenne_3D+=quallo17;
6395 
6396  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6397  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6398 
6399  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
6400  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
6401  }
6402  if((quall18>0.00001) && (check_not_to_creat_tetra!=3))
6403  {
6404  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(2),tetra_cutt->get_origine()));
6405  check_to_go_further=5;
6406  qualite_moyenne_3D+=quall18;
6407  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6408  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6409  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
6410  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
6411  }
6412  if((quallo18>0.00001) && (check_not_to_creat_tetra!=3))
6413  {
6414  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(2),tetra_cutt->get_origine()));
6415  check_to_go_further=5;
6416  qualite_moyenne_3D+=quallo18;
6417 
6418  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6419  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6420  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
6421  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
6422  }
6423  }
6424 
6425  //============================================Second loop==============================================================
6426  if (check_to_go_further==3)
6427  {
6428  if ((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001) && (quall3>0.001 || quallo3>0.001))
6429  {
6430  check_not_to_creat_tetra=0;
6431  LISTE_MG_TRIANGLE::iterator it_tri_existed;
6432  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
6433 
6434  {
6435 
6436  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))) || ((lst_node_tri18.existe(tri_existed->get_noeud1())) && (lst_node_tri18.existe(tri_existed->get_noeud2())) && (lst_node_tri18.existe(tri_existed->get_noeud3()))) || ((lst_node_tri19.existe(tri_existed->get_noeud1())) && (lst_node_tri19.existe(tri_existed->get_noeud2())) && (lst_node_tri19.existe(tri_existed->get_noeud3()))) || ((lst_node_tri110.existe(tri_existed->get_noeud1())) && (lst_node_tri110.existe(tri_existed->get_noeud2())) && (lst_node_tri110.existe(tri_existed->get_noeud3()))))
6437  {
6438 
6439  check_to_creat_tetra=2;
6440  }
6441 
6442 
6443  else
6444 
6445  {
6446  check_not_to_creat_tetra=3;
6447 
6448  }
6449 
6450  }
6451 
6452 
6453  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
6454  {
6455  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6456  check_to_go_further=5;
6457  qualite_moyenne_3D+=quall1;
6458  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6459  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6460  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
6461  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
6462  }
6463 
6464  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
6465  {
6466  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6467  check_to_go_further=5;
6468  qualite_moyenne_3D+=quallo1;
6469  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
6470  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
6471  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6472  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6473  }
6474 
6475  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
6476  {
6477  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(2),tetra_cutt->get_origine()));
6478  check_to_go_further=5;
6479 
6480  qualite_moyenne_3D+=quall2;
6481  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
6482  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
6483 
6484  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6485  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6486  }
6487  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
6488  {
6489  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(2),tetra_cutt->get_origine()));
6490  check_to_go_further=5;
6491 
6492  qualite_moyenne_3D+=quallo2;
6493  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
6494  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
6495 
6496  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6497  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6498  }
6499 
6500  if ((quall3>0.00001) && (check_not_to_creat_tetra!=3))
6501  {
6502  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6503 
6504  check_to_go_further=5;
6505 
6506  qualite_moyenne_3D+=quall3;
6507  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
6508  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
6509  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6510  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6511  }
6512  if ((quallo3>0.00001) && (check_not_to_creat_tetra!=3))
6513 
6514  {
6515  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6516  check_to_go_further=5;
6517  qualite_moyenne_3D+=quallo3;
6518  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
6519  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
6520  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6521  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6522  }
6523  }
6524  if ((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (quall6>0.001 || quallo6>0.001) && (check_to_go_further==3))
6525  {
6526  check_not_to_creat_tetra=0;
6527  LISTE_MG_TRIANGLE::iterator it_tri_existed;
6528  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
6529 
6530  {
6531 
6532  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))) || ((lst_node_tri28.existe(tri_existed->get_noeud1())) && (lst_node_tri28.existe(tri_existed->get_noeud2())) && (lst_node_tri28.existe(tri_existed->get_noeud3()))) || ((lst_node_tri29.existe(tri_existed->get_noeud1())) && (lst_node_tri29.existe(tri_existed->get_noeud2())) && (lst_node_tri29.existe(tri_existed->get_noeud3()))) || ((lst_node_tri210.existe(tri_existed->get_noeud1())) && (lst_node_tri210.existe(tri_existed->get_noeud2())) && (lst_node_tri210.existe(tri_existed->get_noeud3()))))
6533  {
6534 
6535  check_to_creat_tetra=2;
6536  }
6537 
6538  else
6539 
6540  {
6541  check_not_to_creat_tetra=3;
6542 
6543  }
6544 
6545  }
6546 
6547  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
6548  {
6549  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6550  check_to_go_further=5;
6551  qualite_moyenne_3D+=quall4;
6552  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6553  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6554  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
6555  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
6556  }
6557 
6558  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
6559  {
6560  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(6),lst_node_in_second.get(4),tetra_cutt->get_origine()));
6561  check_to_go_further=5;
6562  qualite_moyenne_3D+=quall5;
6563  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6564  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6565  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
6566 
6567  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
6568 
6569  }
6570 
6571  if((quall6>0.00001) && (check_not_to_creat_tetra!=3))
6572  {
6573  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6574  check_to_go_further=5;
6575 
6576  qualite_moyenne_3D+=quall6;
6577  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6578  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6579  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
6580  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
6581 
6582  }
6583  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
6584  {
6585  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6586  check_to_go_further=5;
6587  qualite_moyenne_3D+=quallo4;
6588  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6589  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6590  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
6591  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
6592 
6593  }
6594 
6595  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
6596  {
6597  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(6),lst_node_in_second.get(4),tetra_cutt->get_origine()));
6598  check_to_go_further=5;
6599  qualite_moyenne_3D+=quallo5;
6600  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6601  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6602  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
6603  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
6604 
6605  }
6606 
6607  if((quallo6>0.00001) && (check_not_to_creat_tetra!=3))
6608  {
6609  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6610  check_to_go_further=5;
6611  qualite_moyenne_3D+=quallo6;
6612  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6613  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6614  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
6615  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
6616 
6617  }
6618  }
6619  if ((quall7>0.001 || quallo7>0.001) && (quall8>0.001 || quallo8>0.001) && (quall9>0.001 || quallo9>0.001) && (check_to_go_further==3))
6620  {
6621  check_not_to_creat_tetra=0;
6622  LISTE_MG_TRIANGLE::iterator it_tri_existed;
6623  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
6624 
6625  {
6626 
6627  if(((lst_node_tri31.existe(tri_existed->get_noeud1())) && (lst_node_tri31.existe(tri_existed->get_noeud2())) && (lst_node_tri31.existe(tri_existed->get_noeud3()))) || ((lst_node_tri32.existe(tri_existed->get_noeud1())) && (lst_node_tri32.existe(tri_existed->get_noeud2())) && (lst_node_tri32.existe(tri_existed->get_noeud3()))) || ((lst_node_tri33.existe(tri_existed->get_noeud1())) && (lst_node_tri33.existe(tri_existed->get_noeud2())) && (lst_node_tri33.existe(tri_existed->get_noeud3()))) || ((lst_node_tri34.existe(tri_existed->get_noeud1())) && (lst_node_tri34.existe(tri_existed->get_noeud2())) && (lst_node_tri34.existe(tri_existed->get_noeud3()))) || ((lst_node_tri35.existe(tri_existed->get_noeud1())) && (lst_node_tri35.existe(tri_existed->get_noeud2())) && (lst_node_tri35.existe(tri_existed->get_noeud3()))) || ((lst_node_tri36.existe(tri_existed->get_noeud1())) && (lst_node_tri36.existe(tri_existed->get_noeud2())) && (lst_node_tri36.existe(tri_existed->get_noeud3()))) || ((lst_node_tri37.existe(tri_existed->get_noeud1())) && (lst_node_tri37.existe(tri_existed->get_noeud2())) && (lst_node_tri37.existe(tri_existed->get_noeud3()))) || ((lst_node_tri38.existe(tri_existed->get_noeud1())) && (lst_node_tri38.existe(tri_existed->get_noeud2())) && (lst_node_tri38.existe(tri_existed->get_noeud3()))) || ((lst_node_tri39.existe(tri_existed->get_noeud1())) && (lst_node_tri39.existe(tri_existed->get_noeud2())) && (lst_node_tri39.existe(tri_existed->get_noeud3()))) || ((lst_node_tri310.existe(tri_existed->get_noeud1())) && (lst_node_tri310.existe(tri_existed->get_noeud2())) && (lst_node_tri310.existe(tri_existed->get_noeud3()))))
6628  {
6629 
6630  check_to_creat_tetra=2;
6631  }
6632 
6633  else
6634 
6635  {
6636  check_not_to_creat_tetra=3;
6637 
6638  }
6639 
6640  }
6641 
6642  if((quall7>0.00001) && (check_not_to_creat_tetra!=3))
6643  {
6644  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6645  check_to_go_further=5;
6646  qualite_moyenne_3D+=quall7;
6647  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6648  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6649 
6650  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
6651 
6652  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
6653  }
6654 
6655  if((quallo7>0.00001) && (check_not_to_creat_tetra!=3))
6656 
6657  {
6658  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6659  check_to_go_further=5;
6660  qualite_moyenne_3D+=quallo7;
6661  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6662  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6663 
6664  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
6665  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
6666  }
6667 
6668  if((quall8>0.00001) && (check_not_to_creat_tetra!=3))
6669  {
6670  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(6),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
6671  check_to_go_further=5;
6672  qualite_moyenne_3D+=quall8;
6673  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6674  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6675  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
6676 
6677  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
6678 
6679  }
6680 
6681  if((quallo8>0.00001) && (check_not_to_creat_tetra!=3))
6682  {
6683  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(6),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
6684  check_to_go_further=5;
6685  qualite_moyenne_3D+=quallo8;
6686  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6687  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6688  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
6689  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
6690 
6691  }
6692 
6693  if((quall9>0.00001) && (check_not_to_creat_tetra!=3))
6694  {
6695  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(6),lst_node_in_second.get(4),tetra_cutt->get_origine()));
6696  check_to_go_further=5;
6697 
6698  qualite_moyenne_3D+=quall9;
6699  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6700  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6701  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
6702  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
6703  }
6704 
6705  if((quallo9>0.00001) && (check_not_to_creat_tetra!=3))
6706  {
6707  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(6),lst_node_in_second.get(4),tetra_cutt->get_origine()));
6708  check_to_go_further=5;
6709  qualite_moyenne_3D+=quallo9;
6710  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6711  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6712  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
6713  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
6714  }
6715  }
6716  if ((quall10>0.001 || quallo10>0.001) && (quall12>0.001 || quallo12>0.001) && (quall11>0.001 || quallo11>0.001) && (check_to_go_further==3))
6717  {
6718  check_not_to_creat_tetra=0;
6719  LISTE_MG_TRIANGLE::iterator it_tri_existed;
6720  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
6721  {
6722  if(((lst_node_tri41.existe(tri_existed->get_noeud1())) && (lst_node_tri41.existe(tri_existed->get_noeud2())) && (lst_node_tri41.existe(tri_existed->get_noeud3()))) || ((lst_node_tri42.existe(tri_existed->get_noeud1())) && (lst_node_tri42.existe(tri_existed->get_noeud2())) && (lst_node_tri42.existe(tri_existed->get_noeud3()))) || ((lst_node_tri43.existe(tri_existed->get_noeud1())) && (lst_node_tri43.existe(tri_existed->get_noeud2())) && (lst_node_tri43.existe(tri_existed->get_noeud3()))) || ((lst_node_tri44.existe(tri_existed->get_noeud1())) && (lst_node_tri44.existe(tri_existed->get_noeud2())) && (lst_node_tri44.existe(tri_existed->get_noeud3()))) || ((lst_node_tri45.existe(tri_existed->get_noeud1())) && (lst_node_tri45.existe(tri_existed->get_noeud2())) && (lst_node_tri45.existe(tri_existed->get_noeud3()))) || ((lst_node_tri46.existe(tri_existed->get_noeud1())) && (lst_node_tri46.existe(tri_existed->get_noeud2())) && (lst_node_tri46.existe(tri_existed->get_noeud3()))) || ((lst_node_tri47.existe(tri_existed->get_noeud1())) && (lst_node_tri47.existe(tri_existed->get_noeud2())) && (lst_node_tri47.existe(tri_existed->get_noeud3()))) || ((lst_node_tri48.existe(tri_existed->get_noeud1())) && (lst_node_tri48.existe(tri_existed->get_noeud2())) && (lst_node_tri48.existe(tri_existed->get_noeud3()))) || ((lst_node_tri49.existe(tri_existed->get_noeud1())) && (lst_node_tri49.existe(tri_existed->get_noeud2())) && (lst_node_tri49.existe(tri_existed->get_noeud3()))) || ((lst_node_tri410.existe(tri_existed->get_noeud1())) && (lst_node_tri410.existe(tri_existed->get_noeud2())) && (lst_node_tri410.existe(tri_existed->get_noeud3()))))
6723  {
6724 
6725  check_to_creat_tetra=2;
6726 
6727  }
6728 
6729  else
6730 
6731  {
6732  check_not_to_creat_tetra=3;
6733 
6734  }
6735 
6736  }
6737 
6738  if((quall10>0.00001) && (check_not_to_creat_tetra!=3))
6739  {
6740  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6741 
6742  check_to_go_further=5;
6743 
6744  qualite_moyenne_3D+=quall10;
6745  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6746  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6747  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
6748  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
6749  }
6750  if((quallo10>0.00001) && (check_not_to_creat_tetra!=3))
6751  {
6752  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6753 
6754  check_to_go_further=5;
6755  qualite_moyenne_3D+=quallo10;
6756  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6757  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6758  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
6759  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
6760  }
6761  if((quall11>0.00001) && (check_not_to_creat_tetra!=3))
6762  {
6763  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
6764  check_to_go_further=5;
6765  qualite_moyenne_3D+=quall11;
6766  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6767  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6768  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
6769  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
6770  }
6771  if((quallo11>0.00001) && (check_not_to_creat_tetra!=3))
6772  {
6773  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
6774 
6775  check_to_go_further=5;
6776  qualite_moyenne_3D+=quallo11;
6777 
6778  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6779  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6780  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
6781  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
6782  }
6783  if((quall12>0.00001) && (check_not_to_creat_tetra!=3))
6784  {
6785  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(2),tetra_cutt->get_origine()));
6786  check_to_go_further=5;
6787  qualite_moyenne_3D+=quall12;
6788  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6789  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6790  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
6791  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
6792  }
6793  if((quallo12>0.00001) && (check_not_to_creat_tetra!=3))
6794 
6795  {
6796  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(2),tetra_cutt->get_origine()));
6797  check_to_go_further=5;
6798  qualite_moyenne_3D+=quallo12;
6799  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6800  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6801  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
6802  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
6803  }
6804  }
6805  if ((quall13>0.001 || quallo13>0.001) && (quall14>0.001 || quallo14>0.001) && (quall15>0.001 || quallo15>0.001) && (check_to_go_further==3))
6806  {
6807  check_not_to_creat_tetra=0;
6808  LISTE_MG_TRIANGLE::iterator it_tri_existed;
6809  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
6810 
6811  {
6812 
6813  if(((lst_node_tri51.existe(tri_existed->get_noeud1())) && (lst_node_tri51.existe(tri_existed->get_noeud2())) && (lst_node_tri51.existe(tri_existed->get_noeud3()))) || ((lst_node_tri52.existe(tri_existed->get_noeud1())) && (lst_node_tri52.existe(tri_existed->get_noeud2())) && (lst_node_tri52.existe(tri_existed->get_noeud3()))) || ((lst_node_tri53.existe(tri_existed->get_noeud1())) && (lst_node_tri53.existe(tri_existed->get_noeud2())) && (lst_node_tri53.existe(tri_existed->get_noeud3()))) || ((lst_node_tri54.existe(tri_existed->get_noeud1())) && (lst_node_tri54.existe(tri_existed->get_noeud2())) && (lst_node_tri54.existe(tri_existed->get_noeud3()))) || ((lst_node_tri55.existe(tri_existed->get_noeud1())) && (lst_node_tri55.existe(tri_existed->get_noeud2())) && (lst_node_tri55.existe(tri_existed->get_noeud3()))) || ((lst_node_tri56.existe(tri_existed->get_noeud1())) && (lst_node_tri56.existe(tri_existed->get_noeud2())) && (lst_node_tri56.existe(tri_existed->get_noeud3()))) || ((lst_node_tri57.existe(tri_existed->get_noeud1())) && (lst_node_tri57.existe(tri_existed->get_noeud2())) && (lst_node_tri57.existe(tri_existed->get_noeud3()))) || ((lst_node_tri58.existe(tri_existed->get_noeud1())) && (lst_node_tri58.existe(tri_existed->get_noeud2())) && (lst_node_tri58.existe(tri_existed->get_noeud3()))) || ((lst_node_tri59.existe(tri_existed->get_noeud1())) && (lst_node_tri59.existe(tri_existed->get_noeud2())) && (lst_node_tri59.existe(tri_existed->get_noeud3()))) || ((lst_node_tri510.existe(tri_existed->get_noeud1())) && (lst_node_tri510.existe(tri_existed->get_noeud2())) && (lst_node_tri510.existe(tri_existed->get_noeud3()))))
6814  {
6815 
6816  check_to_creat_tetra=2;
6817  }
6818 
6819  else
6820 
6821  {
6822  check_not_to_creat_tetra=3;
6823 
6824  }
6825 
6826  }
6827 
6828 
6829  if((quall13>0.00001) && (check_not_to_creat_tetra!=3))
6830  {
6831  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6832  check_to_go_further=5;
6833  qualite_moyenne_3D+=quall13;
6834  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6835  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6836  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
6837 
6838 
6839  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
6840  }
6841 
6842  if((quallo13>0.00001) && (check_not_to_creat_tetra!=3))
6843  {
6844  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6845  check_to_go_further=5;
6846  qualite_moyenne_3D+=quallo13;
6847  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6848  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6849  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
6850 
6851  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
6852  }
6853 
6854  if((quall14>0.00001) && (check_not_to_creat_tetra!=3))
6855  {
6856  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
6857 
6858  check_to_go_further=5;
6859  qualite_moyenne_3D+=quall14;
6860  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6861  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6862 
6863  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
6864  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
6865  }
6866 
6867  if((quallo14>0.00001) && (check_not_to_creat_tetra!=3))
6868  {
6869  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
6870 
6871  check_to_go_further=5;
6872 
6873  qualite_moyenne_3D+=quallo14;
6874  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6875  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6876  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
6877  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
6878  }
6879 
6880  if((quall15>0.00001) && (check_not_to_creat_tetra!=3))
6881  {
6882  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(6),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
6883  check_to_go_further=5;
6884  qualite_moyenne_3D+=quall15;
6885  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6886  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6887  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
6888  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
6889  }
6890 
6891  if((quallo15>0.00001) && (check_not_to_creat_tetra!=3))
6892  {
6893 
6894  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(6),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
6895  check_to_go_further=5;
6896  qualite_moyenne_3D+=quallo15;
6897  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6898  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6899  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
6900  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
6901  }
6902  }
6903 
6904  if ((quall16>0.001 || quallo16>0.001) && (quall17>0.001 || quallo17>0.001) && (quall18>0.001 || quallo18>0.001) && (check_to_go_further==3))
6905  {
6906  check_not_to_creat_tetra=0;
6907  LISTE_MG_TRIANGLE::iterator it_tri_existed;
6908  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
6909 
6910  {
6911 
6912  if(((lst_node_tri61.existe(tri_existed->get_noeud1())) && (lst_node_tri61.existe(tri_existed->get_noeud2())) && (lst_node_tri61.existe(tri_existed->get_noeud3()))) || ((lst_node_tri62.existe(tri_existed->get_noeud1())) && (lst_node_tri62.existe(tri_existed->get_noeud2())) && (lst_node_tri62.existe(tri_existed->get_noeud3()))) || ((lst_node_tri63.existe(tri_existed->get_noeud1())) && (lst_node_tri63.existe(tri_existed->get_noeud2())) && (lst_node_tri63.existe(tri_existed->get_noeud3()))) || ((lst_node_tri64.existe(tri_existed->get_noeud1())) && (lst_node_tri64.existe(tri_existed->get_noeud2())) && (lst_node_tri64.existe(tri_existed->get_noeud3()))) || ((lst_node_tri65.existe(tri_existed->get_noeud1())) && (lst_node_tri65.existe(tri_existed->get_noeud2())) && (lst_node_tri65.existe(tri_existed->get_noeud3()))) || ((lst_node_tri66.existe(tri_existed->get_noeud1())) && (lst_node_tri66.existe(tri_existed->get_noeud2())) && (lst_node_tri66.existe(tri_existed->get_noeud3()))) || ((lst_node_tri67.existe(tri_existed->get_noeud1())) && (lst_node_tri67.existe(tri_existed->get_noeud2())) && (lst_node_tri67.existe(tri_existed->get_noeud3()))) || ((lst_node_tri68.existe(tri_existed->get_noeud1())) && (lst_node_tri68.existe(tri_existed->get_noeud2())) && (lst_node_tri68.existe(tri_existed->get_noeud3()))) || ((lst_node_tri69.existe(tri_existed->get_noeud1())) && (lst_node_tri69.existe(tri_existed->get_noeud2())) && (lst_node_tri69.existe(tri_existed->get_noeud3()))) || ((lst_node_tri610.existe(tri_existed->get_noeud1())) && (lst_node_tri610.existe(tri_existed->get_noeud2())) && (lst_node_tri610.existe(tri_existed->get_noeud3()))))
6913  {
6914 
6915  check_to_creat_tetra=2;
6916  }
6917 
6918 
6919  else
6920 
6921  {
6922  check_not_to_creat_tetra=3;
6923 
6924  }
6925 
6926  }
6927 
6928  if((quall16>0.00001) && (check_not_to_creat_tetra!=3))
6929  {
6930  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(2),tetra_cutt->get_origine()));
6931 
6932  check_to_go_further=5;
6933  qualite_moyenne_3D+=quall16;
6934  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6935  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6936 
6937  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
6938  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
6939  }
6940  if((quallo16>0.00001) && (check_not_to_creat_tetra!=3))
6941  {
6942  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(2),tetra_cutt->get_origine()));
6943 
6944  check_to_go_further=5;
6945  qualite_moyenne_3D+=quallo16;
6946  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6947  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6948  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
6949  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
6950  }
6951  if((quall17>0.00001) && (check_not_to_creat_tetra!=3))
6952  {
6953  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6954  check_to_go_further=5;
6955  qualite_moyenne_3D+=quall17;
6956  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6957  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6958  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
6959  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
6960  }
6961  if((quallo17>0.00001) && (check_not_to_creat_tetra!=3))
6962  {
6963  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
6964  check_to_go_further=5;
6965  qualite_moyenne_3D+=quallo17;
6966 
6967  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6968  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6969 
6970  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
6971  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
6972  }
6973  if((quall18>0.00001) && (check_not_to_creat_tetra!=3))
6974  {
6975  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(2),tetra_cutt->get_origine()));
6976  check_to_go_further=5;
6977  qualite_moyenne_3D+=quall18;
6978  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6979  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6980  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
6981  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
6982  }
6983  if((quallo18>0.00001) && (check_not_to_creat_tetra!=3))
6984  {
6985  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(2),tetra_cutt->get_origine()));
6986  check_to_go_further=5;
6987  qualite_moyenne_3D+=quallo18;
6988 
6989  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6990  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6991  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
6992  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
6993  }
6994  }
6995  }
6996  //============================================Third loop==============================================================
6997  if (check_to_go_further==3)
6998  {
6999  if ((quall1>0.000001 || quallo1>0.000001) && (quall2>0.000001 || quallo2>0.000001) && (quall3>0.000001 || quallo3>0.000001))
7000  {
7001  check_not_to_creat_tetra=0;
7002  LISTE_MG_TRIANGLE::iterator it_tri_existed;
7003  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
7004 
7005  {
7006 
7007  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))) || ((lst_node_tri18.existe(tri_existed->get_noeud1())) && (lst_node_tri18.existe(tri_existed->get_noeud2())) && (lst_node_tri18.existe(tri_existed->get_noeud3()))) || ((lst_node_tri19.existe(tri_existed->get_noeud1())) && (lst_node_tri19.existe(tri_existed->get_noeud2())) && (lst_node_tri19.existe(tri_existed->get_noeud3()))) || ((lst_node_tri110.existe(tri_existed->get_noeud1())) && (lst_node_tri110.existe(tri_existed->get_noeud2())) && (lst_node_tri110.existe(tri_existed->get_noeud3()))))
7008  {
7009 
7010  check_to_creat_tetra=2;
7011  }
7012 
7013 
7014  else
7015 
7016  {
7017  check_not_to_creat_tetra=3;
7018 
7019  }
7020 
7021  }
7022 
7023 
7024  if ((quall1>0.000001) && (check_not_to_creat_tetra!=3))
7025  {
7026  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
7027  check_to_go_further=5;
7028  qualite_moyenne_3D+=quall1;
7029  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7030  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7031  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
7032  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
7033  }
7034 
7035  if ((quallo1>0.000001) && (check_not_to_creat_tetra!=3))
7036  {
7037  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
7038  check_to_go_further=5;
7039  qualite_moyenne_3D+=quallo1;
7040  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
7041  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
7042  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7043  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7044  }
7045 
7046  if ((quall2>0.000001) && (check_not_to_creat_tetra!=3))
7047  {
7048  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(2),tetra_cutt->get_origine()));
7049  check_to_go_further=5;
7050 
7051  qualite_moyenne_3D+=quall2;
7052  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
7053  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
7054 
7055  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7056  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7057  }
7058  if ((quallo2>0.000001) && (check_not_to_creat_tetra!=3))
7059  {
7060  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(2),tetra_cutt->get_origine()));
7061  check_to_go_further=5;
7062 
7063  qualite_moyenne_3D+=quallo2;
7064  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
7065  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
7066 
7067  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7068  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7069  }
7070 
7071  if ((quall3>0.000001) && (check_not_to_creat_tetra!=3))
7072  {
7073  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
7074 
7075  check_to_go_further=5;
7076 
7077  qualite_moyenne_3D+=quall3;
7078  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
7079  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
7080  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7081  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7082  }
7083  if ((quallo3>0.000001) && (check_not_to_creat_tetra!=3))
7084 
7085  {
7086  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
7087  check_to_go_further=5;
7088  qualite_moyenne_3D+=quallo3;
7089  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
7090  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
7091  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7092  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7093  }
7094  }
7095  if ((quall4>0.000001 || quallo4>0.000001) && (quall5>0.000001 || quallo5>0.000001) && (quall6>0.000001 || quallo6>0.000001) && (check_to_go_further==3))
7096  {
7097  check_not_to_creat_tetra=0;
7098  LISTE_MG_TRIANGLE::iterator it_tri_existed;
7099  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
7100 
7101  {
7102 
7103  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))) || ((lst_node_tri28.existe(tri_existed->get_noeud1())) && (lst_node_tri28.existe(tri_existed->get_noeud2())) && (lst_node_tri28.existe(tri_existed->get_noeud3()))) || ((lst_node_tri29.existe(tri_existed->get_noeud1())) && (lst_node_tri29.existe(tri_existed->get_noeud2())) && (lst_node_tri29.existe(tri_existed->get_noeud3()))) || ((lst_node_tri210.existe(tri_existed->get_noeud1())) && (lst_node_tri210.existe(tri_existed->get_noeud2())) && (lst_node_tri210.existe(tri_existed->get_noeud3()))))
7104  {
7105 
7106  check_to_creat_tetra=2;
7107  }
7108 
7109  else
7110 
7111  {
7112  check_not_to_creat_tetra=3;
7113 
7114  }
7115 
7116  }
7117 
7118  if((quall4>0.000001) && (check_not_to_creat_tetra!=3))
7119  {
7120  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
7121  check_to_go_further=5;
7122  qualite_moyenne_3D+=quall4;
7123  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7124  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7125  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
7126  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
7127  }
7128 
7129  if((quall5>0.000001) && (check_not_to_creat_tetra!=3))
7130  {
7131  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(6),lst_node_in_second.get(4),tetra_cutt->get_origine()));
7132  check_to_go_further=5;
7133  qualite_moyenne_3D+=quall5;
7134  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7135  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7136  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
7137 
7138  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
7139 
7140  }
7141 
7142  if((quall6>0.000001) && (check_not_to_creat_tetra!=3))
7143  {
7144  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
7145  check_to_go_further=5;
7146 
7147  qualite_moyenne_3D+=quall6;
7148  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7149  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7150  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
7151  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
7152 
7153  }
7154  if((quallo4>0.000001) && (check_not_to_creat_tetra!=3))
7155  {
7156  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
7157  check_to_go_further=5;
7158  qualite_moyenne_3D+=quallo4;
7159  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7160  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7161  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
7162  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
7163 
7164  }
7165 
7166  if((quallo5>0.000001) && (check_not_to_creat_tetra!=3))
7167  {
7168  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(6),lst_node_in_second.get(4),tetra_cutt->get_origine()));
7169  check_to_go_further=5;
7170  qualite_moyenne_3D+=quallo5;
7171  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7172  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7173  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
7174  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
7175 
7176  }
7177 
7178  if((quallo6>0.000001) && (check_not_to_creat_tetra!=3))
7179  {
7180  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
7181  check_to_go_further=5;
7182  qualite_moyenne_3D+=quallo6;
7183  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7184  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7185  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
7186  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
7187 
7188  }
7189  }
7190  if ((quall7>0.000001 || quallo7>0.000001) && (quall8>0.000001 || quallo8>0.000001) && (quall9>0.000001 || quallo9>0.000001) && (check_to_go_further==3))
7191  {
7192  check_not_to_creat_tetra=0;
7193  LISTE_MG_TRIANGLE::iterator it_tri_existed;
7194  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
7195 
7196  {
7197 
7198  if(((lst_node_tri31.existe(tri_existed->get_noeud1())) && (lst_node_tri31.existe(tri_existed->get_noeud2())) && (lst_node_tri31.existe(tri_existed->get_noeud3()))) || ((lst_node_tri32.existe(tri_existed->get_noeud1())) && (lst_node_tri32.existe(tri_existed->get_noeud2())) && (lst_node_tri32.existe(tri_existed->get_noeud3()))) || ((lst_node_tri33.existe(tri_existed->get_noeud1())) && (lst_node_tri33.existe(tri_existed->get_noeud2())) && (lst_node_tri33.existe(tri_existed->get_noeud3()))) || ((lst_node_tri34.existe(tri_existed->get_noeud1())) && (lst_node_tri34.existe(tri_existed->get_noeud2())) && (lst_node_tri34.existe(tri_existed->get_noeud3()))) || ((lst_node_tri35.existe(tri_existed->get_noeud1())) && (lst_node_tri35.existe(tri_existed->get_noeud2())) && (lst_node_tri35.existe(tri_existed->get_noeud3()))) || ((lst_node_tri36.existe(tri_existed->get_noeud1())) && (lst_node_tri36.existe(tri_existed->get_noeud2())) && (lst_node_tri36.existe(tri_existed->get_noeud3()))) || ((lst_node_tri37.existe(tri_existed->get_noeud1())) && (lst_node_tri37.existe(tri_existed->get_noeud2())) && (lst_node_tri37.existe(tri_existed->get_noeud3()))) || ((lst_node_tri38.existe(tri_existed->get_noeud1())) && (lst_node_tri38.existe(tri_existed->get_noeud2())) && (lst_node_tri38.existe(tri_existed->get_noeud3()))) || ((lst_node_tri39.existe(tri_existed->get_noeud1())) && (lst_node_tri39.existe(tri_existed->get_noeud2())) && (lst_node_tri39.existe(tri_existed->get_noeud3()))) || ((lst_node_tri310.existe(tri_existed->get_noeud1())) && (lst_node_tri310.existe(tri_existed->get_noeud2())) && (lst_node_tri310.existe(tri_existed->get_noeud3()))))
7199  {
7200 
7201  check_to_creat_tetra=2;
7202  }
7203 
7204  else
7205 
7206  {
7207  check_not_to_creat_tetra=3;
7208 
7209  }
7210 
7211  }
7212 
7213  if((quall7>0.000001) && (check_not_to_creat_tetra!=3))
7214  {
7215  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
7216  check_to_go_further=5;
7217  qualite_moyenne_3D+=quall7;
7218  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7219  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7220 
7221  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
7222 
7223  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
7224  }
7225 
7226  if((quallo7>0.000001) && (check_not_to_creat_tetra!=3))
7227 
7228  {
7229  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
7230  check_to_go_further=5;
7231  qualite_moyenne_3D+=quallo7;
7232  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7233  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7234 
7235  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
7236  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
7237  }
7238 
7239  if((quall8>0.000001) && (check_not_to_creat_tetra!=3))
7240  {
7241  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(6),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
7242  check_to_go_further=5;
7243  qualite_moyenne_3D+=quall8;
7244  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7245  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7246  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
7247 
7248  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
7249 
7250  }
7251 
7252  if((quallo8>0.000001) && (check_not_to_creat_tetra!=3))
7253  {
7254  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(6),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
7255  check_to_go_further=5;
7256  qualite_moyenne_3D+=quallo8;
7257  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7258  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7259  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
7260  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
7261 
7262  }
7263 
7264  if((quall9>0.000001) && (check_not_to_creat_tetra!=3))
7265  {
7266  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(6),lst_node_in_second.get(4),tetra_cutt->get_origine()));
7267  check_to_go_further=5;
7268 
7269  qualite_moyenne_3D+=quall9;
7270  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7271  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7272  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
7273  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
7274  }
7275 
7276  if((quallo9>0.000001) && (check_not_to_creat_tetra!=3))
7277  {
7278  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(6),lst_node_in_second.get(4),tetra_cutt->get_origine()));
7279  check_to_go_further=5;
7280  qualite_moyenne_3D+=quallo9;
7281  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7282  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7283  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
7284  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
7285  }
7286  }
7287  if ((quall10>0.000001 || quallo10>0.000001) && (quall12>0.000001 || quallo12>0.000001) && (quall11>0.000001 || quallo11>0.000001) && (check_to_go_further==3))
7288  {
7289  check_not_to_creat_tetra=0;
7290  LISTE_MG_TRIANGLE::iterator it_tri_existed;
7291  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
7292  {
7293  if(((lst_node_tri41.existe(tri_existed->get_noeud1())) && (lst_node_tri41.existe(tri_existed->get_noeud2())) && (lst_node_tri41.existe(tri_existed->get_noeud3()))) || ((lst_node_tri42.existe(tri_existed->get_noeud1())) && (lst_node_tri42.existe(tri_existed->get_noeud2())) && (lst_node_tri42.existe(tri_existed->get_noeud3()))) || ((lst_node_tri43.existe(tri_existed->get_noeud1())) && (lst_node_tri43.existe(tri_existed->get_noeud2())) && (lst_node_tri43.existe(tri_existed->get_noeud3()))) || ((lst_node_tri44.existe(tri_existed->get_noeud1())) && (lst_node_tri44.existe(tri_existed->get_noeud2())) && (lst_node_tri44.existe(tri_existed->get_noeud3()))) || ((lst_node_tri45.existe(tri_existed->get_noeud1())) && (lst_node_tri45.existe(tri_existed->get_noeud2())) && (lst_node_tri45.existe(tri_existed->get_noeud3()))) || ((lst_node_tri46.existe(tri_existed->get_noeud1())) && (lst_node_tri46.existe(tri_existed->get_noeud2())) && (lst_node_tri46.existe(tri_existed->get_noeud3()))) || ((lst_node_tri47.existe(tri_existed->get_noeud1())) && (lst_node_tri47.existe(tri_existed->get_noeud2())) && (lst_node_tri47.existe(tri_existed->get_noeud3()))) || ((lst_node_tri48.existe(tri_existed->get_noeud1())) && (lst_node_tri48.existe(tri_existed->get_noeud2())) && (lst_node_tri48.existe(tri_existed->get_noeud3()))) || ((lst_node_tri49.existe(tri_existed->get_noeud1())) && (lst_node_tri49.existe(tri_existed->get_noeud2())) && (lst_node_tri49.existe(tri_existed->get_noeud3()))) || ((lst_node_tri410.existe(tri_existed->get_noeud1())) && (lst_node_tri410.existe(tri_existed->get_noeud2())) && (lst_node_tri410.existe(tri_existed->get_noeud3()))))
7294  {
7295 
7296  check_to_creat_tetra=2;
7297 
7298  }
7299 
7300 
7301  else
7302 
7303  {
7304  check_not_to_creat_tetra=3;
7305 
7306  }
7307 
7308  }
7309 
7310  if((quall10>0.000001) && (check_not_to_creat_tetra!=3))
7311  {
7312  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
7313 
7314  check_to_go_further=5;
7315  qualite_moyenne_3D+=quall10;
7316  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7317  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7318  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
7319  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
7320  }
7321  if((quallo10>0.000001) && (check_not_to_creat_tetra!=3))
7322  {
7323  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
7324 
7325  check_to_go_further=5;
7326 
7327  qualite_moyenne_3D+=quallo10;
7328  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7329  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7330  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
7331  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
7332  }
7333 
7334  if((quall11>0.000001) && (check_not_to_creat_tetra!=3))
7335  {
7336  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
7337  check_to_go_further=5;
7338  qualite_moyenne_3D+=quall11;
7339  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7340  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7341  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
7342  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
7343  }
7344  if((quallo11>0.000001) && (check_not_to_creat_tetra!=3))
7345  {
7346  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
7347 
7348  check_to_go_further=5;
7349  qualite_moyenne_3D+=quallo11;
7350 
7351  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7352  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7353  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
7354  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
7355  }
7356  if((quall12>0.000001) && (check_not_to_creat_tetra!=3))
7357  {
7358  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(2),tetra_cutt->get_origine()));
7359  check_to_go_further=5;
7360  qualite_moyenne_3D+=quall12;
7361  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7362  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7363  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
7364  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
7365  }
7366  if((quallo12>0.000001) && (check_not_to_creat_tetra!=3))
7367 
7368  {
7369  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(2),tetra_cutt->get_origine()));
7370  check_to_go_further=5;
7371  qualite_moyenne_3D+=quallo12;
7372  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7373  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7374  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
7375  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
7376  }
7377  }
7378  if ((quall13>0.000001 || quallo13>0.000001) && (quall14>0.000001 || quallo14>0.000001) && (quall15>0.000001 || quallo15>0.000001) && (check_to_go_further==3))
7379  {
7380  check_not_to_creat_tetra=0;
7381  LISTE_MG_TRIANGLE::iterator it_tri_existed;
7382  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
7383 
7384  {
7385 
7386  if(((lst_node_tri51.existe(tri_existed->get_noeud1())) && (lst_node_tri51.existe(tri_existed->get_noeud2())) && (lst_node_tri51.existe(tri_existed->get_noeud3()))) || ((lst_node_tri52.existe(tri_existed->get_noeud1())) && (lst_node_tri52.existe(tri_existed->get_noeud2())) && (lst_node_tri52.existe(tri_existed->get_noeud3()))) || ((lst_node_tri53.existe(tri_existed->get_noeud1())) && (lst_node_tri53.existe(tri_existed->get_noeud2())) && (lst_node_tri53.existe(tri_existed->get_noeud3()))) || ((lst_node_tri54.existe(tri_existed->get_noeud1())) && (lst_node_tri54.existe(tri_existed->get_noeud2())) && (lst_node_tri54.existe(tri_existed->get_noeud3()))) || ((lst_node_tri55.existe(tri_existed->get_noeud1())) && (lst_node_tri55.existe(tri_existed->get_noeud2())) && (lst_node_tri55.existe(tri_existed->get_noeud3()))) || ((lst_node_tri56.existe(tri_existed->get_noeud1())) && (lst_node_tri56.existe(tri_existed->get_noeud2())) && (lst_node_tri56.existe(tri_existed->get_noeud3()))) || ((lst_node_tri57.existe(tri_existed->get_noeud1())) && (lst_node_tri57.existe(tri_existed->get_noeud2())) && (lst_node_tri57.existe(tri_existed->get_noeud3()))) || ((lst_node_tri58.existe(tri_existed->get_noeud1())) && (lst_node_tri58.existe(tri_existed->get_noeud2())) && (lst_node_tri58.existe(tri_existed->get_noeud3()))) || ((lst_node_tri59.existe(tri_existed->get_noeud1())) && (lst_node_tri59.existe(tri_existed->get_noeud2())) && (lst_node_tri59.existe(tri_existed->get_noeud3()))) || ((lst_node_tri510.existe(tri_existed->get_noeud1())) && (lst_node_tri510.existe(tri_existed->get_noeud2())) && (lst_node_tri510.existe(tri_existed->get_noeud3()))))
7387  {
7388 
7389  check_to_creat_tetra=2;
7390  }
7391 
7392  else
7393 
7394  {
7395  check_not_to_creat_tetra=3;
7396 
7397  }
7398 
7399  }
7400 
7401 
7402  if((quall13>0.000001) && (check_not_to_creat_tetra!=3))
7403  {
7404  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
7405  check_to_go_further=5;
7406  qualite_moyenne_3D+=quall13;
7407  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7408  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7409  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
7410 
7411 
7412  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
7413  }
7414 
7415  if((quallo13>0.000001) && (check_not_to_creat_tetra!=3))
7416  {
7417  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
7418  check_to_go_further=5;
7419  qualite_moyenne_3D+=quallo13;
7420  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7421  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7422  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
7423 
7424  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
7425  }
7426 
7427  if((quall14>0.000001) && (check_not_to_creat_tetra!=3))
7428  {
7429  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
7430 
7431  check_to_go_further=5;
7432  qualite_moyenne_3D+=quall14;
7433  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7434  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7435 
7436  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
7437  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
7438  }
7439 
7440  if((quallo14>0.000001) && (check_not_to_creat_tetra!=3))
7441  {
7442  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
7443 
7444  check_to_go_further=5;
7445 
7446  qualite_moyenne_3D+=quallo14;
7447  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7448  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7449  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
7450  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
7451  }
7452 
7453  if((quall15>0.000001) && (check_not_to_creat_tetra!=3))
7454  {
7455  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(6),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
7456  check_to_go_further=5;
7457  qualite_moyenne_3D+=quall15;
7458  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7459  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7460  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
7461  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
7462  }
7463 
7464  if((quallo15>0.000001) && (check_not_to_creat_tetra!=3))
7465  {
7466 
7467  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(6),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
7468  check_to_go_further=5;
7469  qualite_moyenne_3D+=quallo15;
7470  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7471  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7472  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
7473  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
7474  }
7475  }
7476 
7477  if ((quall16>0.000001 || quallo16>0.000001) && (quall17>0.000001 || quallo17>0.000001) && (quall18>0.000001 || quallo18>0.000001) && (check_to_go_further==3))
7478  {
7479  check_not_to_creat_tetra=0;
7480  LISTE_MG_TRIANGLE::iterator it_tri_existed;
7481  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
7482 
7483  {
7484 
7485  if(((lst_node_tri61.existe(tri_existed->get_noeud1())) && (lst_node_tri61.existe(tri_existed->get_noeud2())) && (lst_node_tri61.existe(tri_existed->get_noeud3()))) || ((lst_node_tri62.existe(tri_existed->get_noeud1())) && (lst_node_tri62.existe(tri_existed->get_noeud2())) && (lst_node_tri62.existe(tri_existed->get_noeud3()))) || ((lst_node_tri63.existe(tri_existed->get_noeud1())) && (lst_node_tri63.existe(tri_existed->get_noeud2())) && (lst_node_tri63.existe(tri_existed->get_noeud3()))) || ((lst_node_tri64.existe(tri_existed->get_noeud1())) && (lst_node_tri64.existe(tri_existed->get_noeud2())) && (lst_node_tri64.existe(tri_existed->get_noeud3()))) || ((lst_node_tri65.existe(tri_existed->get_noeud1())) && (lst_node_tri65.existe(tri_existed->get_noeud2())) && (lst_node_tri65.existe(tri_existed->get_noeud3()))) || ((lst_node_tri66.existe(tri_existed->get_noeud1())) && (lst_node_tri66.existe(tri_existed->get_noeud2())) && (lst_node_tri66.existe(tri_existed->get_noeud3()))) || ((lst_node_tri67.existe(tri_existed->get_noeud1())) && (lst_node_tri67.existe(tri_existed->get_noeud2())) && (lst_node_tri67.existe(tri_existed->get_noeud3()))) || ((lst_node_tri68.existe(tri_existed->get_noeud1())) && (lst_node_tri68.existe(tri_existed->get_noeud2())) && (lst_node_tri68.existe(tri_existed->get_noeud3()))) || ((lst_node_tri69.existe(tri_existed->get_noeud1())) && (lst_node_tri69.existe(tri_existed->get_noeud2())) && (lst_node_tri69.existe(tri_existed->get_noeud3()))) || ((lst_node_tri610.existe(tri_existed->get_noeud1())) && (lst_node_tri610.existe(tri_existed->get_noeud2())) && (lst_node_tri610.existe(tri_existed->get_noeud3()))))
7486  {
7487 
7488  check_to_creat_tetra=2;
7489  }
7490 
7491 
7492  else
7493 
7494  {
7495  check_not_to_creat_tetra=3;
7496 
7497  }
7498 
7499  }
7500 
7501  if((quall16>0.000001) && (check_not_to_creat_tetra!=3))
7502  {
7503  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(2),tetra_cutt->get_origine()));
7504 
7505  check_to_go_further=5;
7506  qualite_moyenne_3D+=quall16;
7507  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7508  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7509 
7510  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
7511  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
7512  }
7513  if((quallo16>0.000001) && (check_not_to_creat_tetra!=3))
7514  {
7515  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(2),tetra_cutt->get_origine()));
7516 
7517  check_to_go_further=5;
7518  qualite_moyenne_3D+=quallo16;
7519  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7520  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7521  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
7522  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
7523  }
7524  if((quall17>0.000001) && (check_not_to_creat_tetra!=3))
7525  {
7526  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
7527  check_to_go_further=5;
7528  qualite_moyenne_3D+=quall17;
7529  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7530  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7531  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
7532  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
7533  }
7534  if((quallo17>0.000001) && (check_not_to_creat_tetra!=3))
7535  {
7536  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
7537  check_to_go_further=5;
7538  qualite_moyenne_3D+=quallo17;
7539 
7540  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7541  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7542 
7543  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
7544  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
7545  }
7546  if((quall18>0.000001) && (check_not_to_creat_tetra!=3))
7547  {
7548  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(2),tetra_cutt->get_origine()));
7549  check_to_go_further=5;
7550  qualite_moyenne_3D+=quall18;
7551  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7552  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7553  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
7554  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
7555  }
7556  if((quallo18>0.000001) && (check_not_to_creat_tetra!=3))
7557  {
7558  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(2),tetra_cutt->get_origine()));
7559  check_to_go_further=5;
7560  qualite_moyenne_3D+=quallo18;
7561 
7562  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7563  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7564  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
7565  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
7566  }
7567  }
7568  }
7569  }
7570 
7571  }
7572  if (identi111 == identi333)
7573  {
7574  int id_node_common0=(map_correspondance_node_node_out.find(lst_node_in_second.get(0))->second)->get_id();
7575  int id_node_common4=(map_correspondance_node_node_out.find(lst_node_in_second.get(4))->second)->get_id();
7576 
7577 
7578  if(id_node_common0==id_node_common4)
7579  {
7580  //============================================Getting the Qualities=====================
7581  //=======================================================================================
7582 
7583  quall1=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(6)->get_coord());
7584 
7585  quall2=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(6)->get_coord());
7586 
7587  quall3=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
7588 
7589  //----------------------------------------------------
7590  quallo1=OPERATEUR::qualite_tetra(lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(6)->get_coord());
7591 
7592  quallo2=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(6)->get_coord());
7593 
7594  quallo3=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
7595 
7596  lst_node_tri11.ajouter(lst_node_in_second.get(5));
7597  lst_node_tri11.ajouter(lst_node_in_second.get(1));
7598  lst_node_tri11.ajouter(lst_node_in_second.get(4));
7599 
7600  lst_node_tri12.ajouter(lst_node_in_second.get(1));
7601  lst_node_tri12.ajouter(lst_node_in_second.get(4));
7602  lst_node_tri12.ajouter(lst_node_in_second.get(6));
7603 
7604  lst_node_tri13.ajouter(lst_node_in_second.get(1));
7605  lst_node_tri13.ajouter(lst_node_in_second.get(5));
7606  lst_node_tri13.ajouter(lst_node_in_second.get(6));
7607 
7608  lst_node_tri14.ajouter(lst_node_in_second.get(4));
7609  lst_node_tri14.ajouter(lst_node_in_second.get(5));
7610  lst_node_tri14.ajouter(lst_node_in_second.get(6));
7611 
7612  lst_node_tri15.ajouter(lst_node_in_second.get(0));
7613  lst_node_tri15.ajouter(lst_node_in_second.get(1));
7614  lst_node_tri15.ajouter(lst_node_in_second.get(2));
7615 
7616  lst_node_tri16.ajouter(lst_node_in_second.get(0));
7617  lst_node_tri16.ajouter(lst_node_in_second.get(1));
7618  lst_node_tri16.ajouter(lst_node_in_second.get(6));
7619 
7620  lst_node_tri17.ajouter(lst_node_in_second.get(0));
7621  lst_node_tri17.ajouter(lst_node_in_second.get(2));
7622  lst_node_tri17.ajouter(lst_node_in_second.get(6));
7623 
7624  lst_node_tri18.ajouter(lst_node_in_second.get(1));
7625  lst_node_tri18.ajouter(lst_node_in_second.get(2));
7626  lst_node_tri18.ajouter(lst_node_in_second.get(6));
7627 
7628  lst_node_tri19.ajouter(lst_node_in_second.get(1));
7629  lst_node_tri19.ajouter(lst_node_in_second.get(4));
7630  lst_node_tri19.ajouter(lst_node_in_second.get(0));
7631 
7632  lst_node_tri110.ajouter(lst_node_in_second.get(0));
7633  lst_node_tri110.ajouter(lst_node_in_second.get(4));
7634  lst_node_tri110.ajouter(lst_node_in_second.get(6));
7635 
7636  //----------------------------------------------------
7637  //----------------------------------------------------
7638  quall4=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(6)->get_coord());
7639 
7640  quall5=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord());
7641 
7642  quall6=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
7643 
7644  //----------------------------------------------------
7645  quallo4=OPERATEUR::qualite_tetra(lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(6)->get_coord());
7646 
7647  quallo5=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord());
7648 
7649  quallo6=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
7650 
7651  lst_node_tri21.ajouter(lst_node_in_second.get(1));
7652  lst_node_tri21.ajouter(lst_node_in_second.get(4));
7653  lst_node_tri21.ajouter(lst_node_in_second.get(5));
7654 
7655  lst_node_tri22.ajouter(lst_node_in_second.get(1));
7656  lst_node_tri22.ajouter(lst_node_in_second.get(4));
7657  lst_node_tri22.ajouter(lst_node_in_second.get(6));
7658 
7659  lst_node_tri23.ajouter(lst_node_in_second.get(1));
7660  lst_node_tri23.ajouter(lst_node_in_second.get(5));
7661  lst_node_tri23.ajouter(lst_node_in_second.get(6));
7662 
7663  lst_node_tri24.ajouter(lst_node_in_second.get(4));
7664  lst_node_tri24.ajouter(lst_node_in_second.get(5));
7665  lst_node_tri24.ajouter(lst_node_in_second.get(6));
7666 
7667  lst_node_tri25.ajouter(lst_node_in_second.get(0));
7668  lst_node_tri25.ajouter(lst_node_in_second.get(1));
7669  lst_node_tri25.ajouter(lst_node_in_second.get(2));
7670 
7671  lst_node_tri26.ajouter(lst_node_in_second.get(0));
7672  lst_node_tri26.ajouter(lst_node_in_second.get(1));
7673  lst_node_tri26.ajouter(lst_node_in_second.get(4));
7674 
7675  lst_node_tri27.ajouter(lst_node_in_second.get(0));
7676  lst_node_tri27.ajouter(lst_node_in_second.get(2));
7677  lst_node_tri27.ajouter(lst_node_in_second.get(4));
7678 
7679  lst_node_tri28.ajouter(lst_node_in_second.get(1));
7680  lst_node_tri28.ajouter(lst_node_in_second.get(2));
7681  lst_node_tri28.ajouter(lst_node_in_second.get(4));
7682 
7683  lst_node_tri29.ajouter(lst_node_in_second.get(1));
7684  lst_node_tri29.ajouter(lst_node_in_second.get(2));
7685  lst_node_tri29.ajouter(lst_node_in_second.get(6));
7686 
7687  lst_node_tri210.ajouter(lst_node_in_second.get(2));
7688  lst_node_tri210.ajouter(lst_node_in_second.get(4));
7689  lst_node_tri210.ajouter(lst_node_in_second.get(6));
7690  //----------------------------------------------------
7691  //----------------------------------------------------
7692  quall7=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
7693 
7694  quall8=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(4)->get_coord());
7695 
7696  quall9=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord());
7697 
7698  //----------------------------------------------------
7699  quallo7=OPERATEUR::qualite_tetra(lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
7700 
7701  quallo8=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(4)->get_coord());
7702 
7703  quallo9=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord());
7704 
7705  lst_node_tri31.ajouter(lst_node_in_second.get(5));
7706  lst_node_tri31.ajouter(lst_node_in_second.get(2));
7707  lst_node_tri31.ajouter(lst_node_in_second.get(4));
7708 
7709  lst_node_tri32.ajouter(lst_node_in_second.get(2));
7710  lst_node_tri32.ajouter(lst_node_in_second.get(5));
7711  lst_node_tri32.ajouter(lst_node_in_second.get(6));
7712 
7713  lst_node_tri33.ajouter(lst_node_in_second.get(2));
7714  lst_node_tri33.ajouter(lst_node_in_second.get(4));
7715  lst_node_tri33.ajouter(lst_node_in_second.get(6));
7716 
7717  lst_node_tri34.ajouter(lst_node_in_second.get(5));
7718  lst_node_tri34.ajouter(lst_node_in_second.get(4));
7719  lst_node_tri34.ajouter(lst_node_in_second.get(6));
7720 
7721  lst_node_tri35.ajouter(lst_node_in_second.get(2));
7722  lst_node_tri35.ajouter(lst_node_in_second.get(1));
7723  lst_node_tri35.ajouter(lst_node_in_second.get(5));
7724 
7725  lst_node_tri36.ajouter(lst_node_in_second.get(2));
7726  lst_node_tri36.ajouter(lst_node_in_second.get(1));
7727  lst_node_tri36.ajouter(lst_node_in_second.get(4));
7728 
7729  lst_node_tri37.ajouter(lst_node_in_second.get(1));
7730  lst_node_tri37.ajouter(lst_node_in_second.get(5));
7731  lst_node_tri37.ajouter(lst_node_in_second.get(4));
7732 
7733  lst_node_tri38.ajouter(lst_node_in_second.get(0));
7734  lst_node_tri38.ajouter(lst_node_in_second.get(1));
7735  lst_node_tri38.ajouter(lst_node_in_second.get(2));
7736 
7737  lst_node_tri39.ajouter(lst_node_in_second.get(0));
7738  lst_node_tri39.ajouter(lst_node_in_second.get(2));
7739  lst_node_tri39.ajouter(lst_node_in_second.get(4));
7740 
7741  lst_node_tri310.ajouter(lst_node_in_second.get(0));
7742  lst_node_tri310.ajouter(lst_node_in_second.get(1));
7743  lst_node_tri310.ajouter(lst_node_in_second.get(4));
7744  //----------------------------------------------------
7745  //----------------------------------------------------
7746  quall10=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(6)->get_coord());
7747 
7748  quall11=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(2)->get_coord());
7749 
7750  quall12=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(6)->get_coord());
7751 
7752  //----------------------------------------------------
7753  quallo10=OPERATEUR::qualite_tetra(lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(6)->get_coord());
7754 
7755  quallo11=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(2)->get_coord());
7756 
7757  quallo12=OPERATEUR::qualite_tetra(lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(6)->get_coord());
7758 
7759  lst_node_tri41.ajouter(lst_node_in_second.get(0));
7760  lst_node_tri41.ajouter(lst_node_in_second.get(4));
7761  lst_node_tri41.ajouter(lst_node_in_second.get(5));
7762 
7763  lst_node_tri48.ajouter(lst_node_in_second.get(0));
7764  lst_node_tri48.ajouter(lst_node_in_second.get(4));
7765  lst_node_tri48.ajouter(lst_node_in_second.get(6));
7766 
7767 
7768  lst_node_tri42.ajouter(lst_node_in_second.get(0));
7769  lst_node_tri42.ajouter(lst_node_in_second.get(5));
7770  lst_node_tri42.ajouter(lst_node_in_second.get(6));
7771 
7772  lst_node_tri43.ajouter(lst_node_in_second.get(4));
7773  lst_node_tri43.ajouter(lst_node_in_second.get(5));
7774  lst_node_tri43.ajouter(lst_node_in_second.get(6));
7775 
7776  lst_node_tri44.ajouter(lst_node_in_second.get(0));
7777  lst_node_tri44.ajouter(lst_node_in_second.get(1));
7778  lst_node_tri44.ajouter(lst_node_in_second.get(5));
7779 
7780  lst_node_tri45.ajouter(lst_node_in_second.get(0));
7781  lst_node_tri45.ajouter(lst_node_in_second.get(1));
7782  lst_node_tri45.ajouter(lst_node_in_second.get(2));
7783 
7784  lst_node_tri46.ajouter(lst_node_in_second.get(0));
7785  lst_node_tri46.ajouter(lst_node_in_second.get(5));
7786  lst_node_tri46.ajouter(lst_node_in_second.get(2));
7787 
7788  lst_node_tri47.ajouter(lst_node_in_second.get(1));
7789  lst_node_tri47.ajouter(lst_node_in_second.get(5));
7790  lst_node_tri47.ajouter(lst_node_in_second.get(2));
7791 
7792  lst_node_tri49.ajouter(lst_node_in_second.get(0));
7793  lst_node_tri49.ajouter(lst_node_in_second.get(2));
7794  lst_node_tri49.ajouter(lst_node_in_second.get(6));
7795 
7796  lst_node_tri410.ajouter(lst_node_in_second.get(5));
7797  lst_node_tri410.ajouter(lst_node_in_second.get(2));
7798  lst_node_tri410.ajouter(lst_node_in_second.get(6));
7799  //----------------------------------------------------
7800  //----------------------------------------------------
7801  quall13=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
7802 
7803  quall14=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(2)->get_coord());
7804 
7805  quall15=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(4)->get_coord());
7806 
7807 
7808  //----------------------------------------------------
7809  quallo13=OPERATEUR::qualite_tetra(lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
7810 
7811  quallo14=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(2)->get_coord());
7812 
7813  quallo15=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(4)->get_coord());
7814 
7815  lst_node_tri51.ajouter(lst_node_in_second.get(5));
7816  lst_node_tri51.ajouter(lst_node_in_second.get(2));
7817  lst_node_tri51.ajouter(lst_node_in_second.get(4));
7818 
7819  lst_node_tri52.ajouter(lst_node_in_second.get(2));
7820  lst_node_tri52.ajouter(lst_node_in_second.get(5));
7821  lst_node_tri52.ajouter(lst_node_in_second.get(6));
7822 
7823  lst_node_tri53.ajouter(lst_node_in_second.get(2));
7824  lst_node_tri53.ajouter(lst_node_in_second.get(4));
7825  lst_node_tri53.ajouter(lst_node_in_second.get(6));
7826 
7827  lst_node_tri54.ajouter(lst_node_in_second.get(5));
7828  lst_node_tri54.ajouter(lst_node_in_second.get(4));
7829  lst_node_tri54.ajouter(lst_node_in_second.get(6));
7830 
7831  lst_node_tri55.ajouter(lst_node_in_second.get(1));
7832  lst_node_tri55.ajouter(lst_node_in_second.get(0));
7833  lst_node_tri55.ajouter(lst_node_in_second.get(5));
7834 
7835  lst_node_tri56.ajouter(lst_node_in_second.get(0));
7836  lst_node_tri56.ajouter(lst_node_in_second.get(1));
7837  lst_node_tri56.ajouter(lst_node_in_second.get(2));
7838 
7839  lst_node_tri57.ajouter(lst_node_in_second.get(0));
7840  lst_node_tri57.ajouter(lst_node_in_second.get(5));
7841  lst_node_tri57.ajouter(lst_node_in_second.get(2));
7842 
7843  lst_node_tri58.ajouter(lst_node_in_second.get(1));
7844  lst_node_tri58.ajouter(lst_node_in_second.get(5));
7845  lst_node_tri58.ajouter(lst_node_in_second.get(2));
7846 
7847  lst_node_tri59.ajouter(lst_node_in_second.get(0));
7848  lst_node_tri59.ajouter(lst_node_in_second.get(4));
7849  lst_node_tri59.ajouter(lst_node_in_second.get(5));
7850 
7851  lst_node_tri510.ajouter(lst_node_in_second.get(0));
7852  lst_node_tri510.ajouter(lst_node_in_second.get(2));
7853  lst_node_tri510.ajouter(lst_node_in_second.get(4));
7854 
7855  //----------------------------------------------------
7856  //----------------------------------------------------
7857  quall16=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(6)->get_coord());
7858 
7859  quall17=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(6)->get_coord());
7860 
7861  quall18=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(6)->get_coord());
7862 
7863  //----------------------------------------------------
7864  quallo16=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(6)->get_coord());
7865 
7866  quallo17=OPERATEUR::qualite_tetra(lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(6)->get_coord());
7867 
7868  quallo18=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(6)->get_coord());
7869 
7870  lst_node_tri61.ajouter(lst_node_in_second.get(0));
7871  lst_node_tri61.ajouter(lst_node_in_second.get(1));
7872  lst_node_tri61.ajouter(lst_node_in_second.get(2));
7873 
7874  lst_node_tri62.ajouter(lst_node_in_second.get(0));
7875  lst_node_tri62.ajouter(lst_node_in_second.get(1));
7876  lst_node_tri62.ajouter(lst_node_in_second.get(6));
7877 
7878  lst_node_tri63.ajouter(lst_node_in_second.get(0));
7879  lst_node_tri63.ajouter(lst_node_in_second.get(2));
7880  lst_node_tri63.ajouter(lst_node_in_second.get(6));
7881 
7882  lst_node_tri64.ajouter(lst_node_in_second.get(1));
7883  lst_node_tri64.ajouter(lst_node_in_second.get(6));
7884  lst_node_tri64.ajouter(lst_node_in_second.get(2));
7885 
7886  lst_node_tri65.ajouter(lst_node_in_second.get(0));
7887  lst_node_tri65.ajouter(lst_node_in_second.get(4));
7888  lst_node_tri65.ajouter(lst_node_in_second.get(5));
7889 
7890  lst_node_tri66.ajouter(lst_node_in_second.get(0));
7891  lst_node_tri66.ajouter(lst_node_in_second.get(4));
7892  lst_node_tri66.ajouter(lst_node_in_second.get(6));
7893 
7894  lst_node_tri67.ajouter(lst_node_in_second.get(4));
7895  lst_node_tri67.ajouter(lst_node_in_second.get(5));
7896  lst_node_tri67.ajouter(lst_node_in_second.get(6));
7897 
7898  lst_node_tri68.ajouter(lst_node_in_second.get(0));
7899  lst_node_tri68.ajouter(lst_node_in_second.get(5));
7900  lst_node_tri68.ajouter(lst_node_in_second.get(6));
7901 
7902  lst_node_tri69.ajouter(lst_node_in_second.get(0));
7903  lst_node_tri69.ajouter(lst_node_in_second.get(5));
7904  lst_node_tri69.ajouter(lst_node_in_second.get(1));
7905 
7906  lst_node_tri610.ajouter(lst_node_in_second.get(1));
7907  lst_node_tri610.ajouter(lst_node_in_second.get(6));
7908  lst_node_tri610.ajouter(lst_node_in_second.get(5));
7909  //----------------------------------------------------
7910  //----------------------------------------------------
7911  if (((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001) && (quall3>0.001 || quallo3>0.001)) && ((quall4+quallo4+quall5+quallo5+quall6+quallo6)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)) && ((quall7+ quallo7+quall8+quallo8+quall9+quallo9)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)) && ((quall10+ quallo10+quall12+ quallo12+quall11+ quallo11)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)) && ((quall13+quallo13+quall14+quallo14+quall15+ quallo15)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)))
7912 
7913  {
7914  check_not_to_creat_tetra=0;
7915  LISTE_MG_TRIANGLE::iterator it_tri_existed;
7916  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
7917 
7918  {
7919 
7920  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))) || ((lst_node_tri18.existe(tri_existed->get_noeud1())) && (lst_node_tri18.existe(tri_existed->get_noeud2())) && (lst_node_tri18.existe(tri_existed->get_noeud3()))) || ((lst_node_tri19.existe(tri_existed->get_noeud1())) && (lst_node_tri19.existe(tri_existed->get_noeud2())) && (lst_node_tri19.existe(tri_existed->get_noeud3()))) || ((lst_node_tri110.existe(tri_existed->get_noeud1())) && (lst_node_tri110.existe(tri_existed->get_noeud2())) && (lst_node_tri110.existe(tri_existed->get_noeud3()))))
7921  {
7922 
7923  check_to_creat_tetra=2;
7924  }
7925 
7926 
7927  else
7928 
7929  {
7930  check_not_to_creat_tetra=3;
7931 
7932  }
7933 
7934  }
7935 
7936 
7937  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
7938  {
7939  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
7940  check_to_go_further=5;
7941  qualite_moyenne_3D+=quall1;
7942  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7943  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7944  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
7945  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
7946  }
7947 
7948  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
7949  {
7950  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(4),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
7951  check_to_go_further=5;
7952  qualite_moyenne_3D+=quallo1;
7953  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
7954  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
7955  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7956  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7957  }
7958 
7959  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
7960  {
7961  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
7962  check_to_go_further=5;
7963 
7964  qualite_moyenne_3D+=quall2;
7965  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
7966  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
7967 
7968  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7969  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7970  }
7971  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
7972  {
7973  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
7974  check_to_go_further=5;
7975 
7976  qualite_moyenne_3D+=quallo2;
7977  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
7978  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
7979 
7980  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7981  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7982  }
7983 
7984  if ((quall3>0.00001) && (check_not_to_creat_tetra!=3))
7985  {
7986  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
7987 
7988  check_to_go_further=5;
7989 
7990  qualite_moyenne_3D+=quall3;
7991  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
7992  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
7993  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7994  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7995  }
7996  if ((quallo3>0.00001) && (check_not_to_creat_tetra!=3))
7997 
7998  {
7999  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8000  check_to_go_further=5;
8001  qualite_moyenne_3D+=quallo3;
8002  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
8003  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
8004  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8005  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8006  }
8007 
8008  }
8009  if (((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (quall6>0.001 || quallo6>0.001)) && (check_to_go_further==3) && ((quall7+ quallo7+quall8+quallo8+quall9+quallo9)<(quall4+quallo4+quall5+quallo5+quall6+quallo6)) && ((quall10+ quallo10+quall12+ quallo12+quall11+ quallo11)<(quall4+quallo4+quall5+quallo5+quall6+quallo6)) && ((quall13+quallo13+quall14+quallo14+quall15+ quallo15)<(quall4+quallo4+quall5+quallo5+quall6+quallo6)) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall4+quallo4+quall5+quallo5+quall6+quallo6)))
8010  {
8011  check_not_to_creat_tetra=0;
8012  LISTE_MG_TRIANGLE::iterator it_tri_existed;
8013  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
8014 
8015  {
8016 
8017  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))) || ((lst_node_tri28.existe(tri_existed->get_noeud1())) && (lst_node_tri28.existe(tri_existed->get_noeud2())) && (lst_node_tri28.existe(tri_existed->get_noeud3()))) || ((lst_node_tri29.existe(tri_existed->get_noeud1())) && (lst_node_tri29.existe(tri_existed->get_noeud2())) && (lst_node_tri29.existe(tri_existed->get_noeud3()))) || ((lst_node_tri210.existe(tri_existed->get_noeud1())) && (lst_node_tri210.existe(tri_existed->get_noeud2())) && (lst_node_tri210.existe(tri_existed->get_noeud3()))))
8018  {
8019 
8020  check_to_creat_tetra=2;
8021  }
8022 
8023  else
8024 
8025  {
8026  check_not_to_creat_tetra=3;
8027 
8028  }
8029 
8030  }
8031 
8032  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
8033  {
8034  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8035  check_to_go_further=5;
8036  qualite_moyenne_3D+=quall4;
8037  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8038  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8039  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
8040  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
8041  }
8042 
8043  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
8044  {
8045  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
8046  check_to_go_further=5;
8047  qualite_moyenne_3D+=quall5;
8048  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8049  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8050  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
8051 
8052  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
8053 
8054  }
8055 
8056  if((quall6>0.00001) && (check_not_to_creat_tetra!=3))
8057  {
8058  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8059  check_to_go_further=5;
8060 
8061  qualite_moyenne_3D+=quall6;
8062  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8063  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8064  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
8065  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
8066 
8067  }
8068  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
8069  {
8070  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(4),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8071  check_to_go_further=5;
8072  qualite_moyenne_3D+=quallo4;
8073  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8074  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8075  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
8076  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
8077 
8078  }
8079 
8080  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
8081  {
8082  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
8083  check_to_go_further=5;
8084  qualite_moyenne_3D+=quallo5;
8085  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8086  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8087  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
8088  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
8089 
8090  }
8091 
8092  if((quallo6>0.00001) && (check_not_to_creat_tetra!=3))
8093  {
8094  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8095  check_to_go_further=5;
8096  qualite_moyenne_3D+=quallo6;
8097  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8098  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8099  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
8100  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
8101 
8102  }
8103  }
8104  if (((quall7>0.001 || quallo7>0.001) && (quall8>0.001 || quallo8>0.001) && (quall9>0.001 || quallo9>0.001)) && (check_to_go_further==3) && ((quall10+ quallo10+quall12+ quallo12+quall11+ quallo11)<(quall7+quallo7+quall8+quallo8+quall9+quallo9)) && ((quall13+quallo13+quall14+quallo14+quall15+ quallo15)<(quall7+quallo7+quall8+quallo8+quall9+quallo9)) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall7+quallo7+quall8+quallo8+quall9+quallo9)))
8105  {
8106  check_not_to_creat_tetra=0;
8107  LISTE_MG_TRIANGLE::iterator it_tri_existed;
8108  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
8109 
8110  {
8111 
8112  if(((lst_node_tri31.existe(tri_existed->get_noeud1())) && (lst_node_tri31.existe(tri_existed->get_noeud2())) && (lst_node_tri31.existe(tri_existed->get_noeud3()))) || ((lst_node_tri32.existe(tri_existed->get_noeud1())) && (lst_node_tri32.existe(tri_existed->get_noeud2())) && (lst_node_tri32.existe(tri_existed->get_noeud3()))) || ((lst_node_tri33.existe(tri_existed->get_noeud1())) && (lst_node_tri33.existe(tri_existed->get_noeud2())) && (lst_node_tri33.existe(tri_existed->get_noeud3()))) || ((lst_node_tri34.existe(tri_existed->get_noeud1())) && (lst_node_tri34.existe(tri_existed->get_noeud2())) && (lst_node_tri34.existe(tri_existed->get_noeud3()))) || ((lst_node_tri35.existe(tri_existed->get_noeud1())) && (lst_node_tri35.existe(tri_existed->get_noeud2())) && (lst_node_tri35.existe(tri_existed->get_noeud3()))) || ((lst_node_tri36.existe(tri_existed->get_noeud1())) && (lst_node_tri36.existe(tri_existed->get_noeud2())) && (lst_node_tri36.existe(tri_existed->get_noeud3()))) || ((lst_node_tri37.existe(tri_existed->get_noeud1())) && (lst_node_tri37.existe(tri_existed->get_noeud2())) && (lst_node_tri37.existe(tri_existed->get_noeud3()))) || ((lst_node_tri38.existe(tri_existed->get_noeud1())) && (lst_node_tri38.existe(tri_existed->get_noeud2())) && (lst_node_tri38.existe(tri_existed->get_noeud3()))) || ((lst_node_tri39.existe(tri_existed->get_noeud1())) && (lst_node_tri39.existe(tri_existed->get_noeud2())) && (lst_node_tri39.existe(tri_existed->get_noeud3()))) || ((lst_node_tri310.existe(tri_existed->get_noeud1())) && (lst_node_tri310.existe(tri_existed->get_noeud2())) && (lst_node_tri310.existe(tri_existed->get_noeud3()))))
8113  {
8114 
8115  check_to_creat_tetra=2;
8116  }
8117 
8118  else
8119 
8120  {
8121  check_not_to_creat_tetra=3;
8122 
8123  }
8124 
8125  }
8126 
8127  if((quall7>0.00001) && (check_not_to_creat_tetra!=3))
8128  {
8129  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(5),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8130  check_to_go_further=5;
8131  qualite_moyenne_3D+=quall7;
8132  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8133  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8134 
8135  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
8136 
8137  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
8138  }
8139 
8140  if((quallo7>0.00001) && (check_not_to_creat_tetra!=3))
8141 
8142  {
8143  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(5),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8144  check_to_go_further=5;
8145  qualite_moyenne_3D+=quallo7;
8146  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8147  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8148 
8149  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
8150  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
8151  }
8152 
8153  if((quall8>0.00001) && (check_not_to_creat_tetra!=3))
8154  {
8155  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(5),lst_node_in_second.get(4),tetra_cutt->get_origine()));
8156  check_to_go_further=5;
8157  qualite_moyenne_3D+=quall8;
8158  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8159  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8160  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
8161 
8162  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
8163 
8164  }
8165 
8166  if((quallo8>0.00001) && (check_not_to_creat_tetra!=3))
8167  {
8168  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(4),tetra_cutt->get_origine()));
8169  check_to_go_further=5;
8170  qualite_moyenne_3D+=quallo8;
8171  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8172  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8173  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
8174  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
8175 
8176  }
8177 
8178  if((quall9>0.00001) && (check_not_to_creat_tetra!=3))
8179  {
8180  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
8181  check_to_go_further=5;
8182 
8183  qualite_moyenne_3D+=quall9;
8184  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8185  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8186  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
8187  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
8188  }
8189 
8190  if((quallo9>0.00001) && (check_not_to_creat_tetra!=3))
8191  {
8192  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
8193  check_to_go_further=5;
8194  qualite_moyenne_3D+=quallo9;
8195  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8196  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8197  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
8198  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
8199  }
8200  }
8201  if (((quall10>0.001 || quallo10>0.001) && (quall11>0.001 || quallo11>0.001) && (quall12>0.001 || quallo12>0.001)) && (check_to_go_further==3) && ((quall13+quallo13+quall14+quallo14+quall15+ quallo15)<(quall10+quallo10+quall11+quallo11+quall12+quallo12)) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall10+quallo10+quall11+quallo11+quall12+quallo12)))
8202  {
8203  check_not_to_creat_tetra=0;
8204  LISTE_MG_TRIANGLE::iterator it_tri_existed;
8205  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
8206  {
8207  if(((lst_node_tri41.existe(tri_existed->get_noeud1())) && (lst_node_tri41.existe(tri_existed->get_noeud2())) && (lst_node_tri41.existe(tri_existed->get_noeud3()))) || ((lst_node_tri42.existe(tri_existed->get_noeud1())) && (lst_node_tri42.existe(tri_existed->get_noeud2())) && (lst_node_tri42.existe(tri_existed->get_noeud3()))) || ((lst_node_tri43.existe(tri_existed->get_noeud1())) && (lst_node_tri43.existe(tri_existed->get_noeud2())) && (lst_node_tri43.existe(tri_existed->get_noeud3()))) || ((lst_node_tri44.existe(tri_existed->get_noeud1())) && (lst_node_tri44.existe(tri_existed->get_noeud2())) && (lst_node_tri44.existe(tri_existed->get_noeud3()))) || ((lst_node_tri45.existe(tri_existed->get_noeud1())) && (lst_node_tri45.existe(tri_existed->get_noeud2())) && (lst_node_tri45.existe(tri_existed->get_noeud3()))) || ((lst_node_tri46.existe(tri_existed->get_noeud1())) && (lst_node_tri46.existe(tri_existed->get_noeud2())) && (lst_node_tri46.existe(tri_existed->get_noeud3()))) || ((lst_node_tri47.existe(tri_existed->get_noeud1())) && (lst_node_tri47.existe(tri_existed->get_noeud2())) && (lst_node_tri47.existe(tri_existed->get_noeud3()))) || ((lst_node_tri48.existe(tri_existed->get_noeud1())) && (lst_node_tri48.existe(tri_existed->get_noeud2())) && (lst_node_tri48.existe(tri_existed->get_noeud3()))) || ((lst_node_tri49.existe(tri_existed->get_noeud1())) && (lst_node_tri49.existe(tri_existed->get_noeud2())) && (lst_node_tri49.existe(tri_existed->get_noeud3()))) || ((lst_node_tri410.existe(tri_existed->get_noeud1())) && (lst_node_tri410.existe(tri_existed->get_noeud2())) && (lst_node_tri410.existe(tri_existed->get_noeud3()))))
8208  {
8209 
8210  check_to_creat_tetra=2;
8211 
8212  }
8213 
8214  else
8215 
8216  {
8217  check_not_to_creat_tetra=3;
8218 
8219  }
8220 
8221  }
8222 
8223  if((quall10>0.00001) && (check_not_to_creat_tetra!=3))
8224  {
8225  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8226 
8227  check_to_go_further=5;
8228 
8229 
8230  qualite_moyenne_3D+=quall10;
8231  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8232  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8233  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
8234  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
8235  }
8236  if((quallo10>0.00001) && (check_not_to_creat_tetra!=3))
8237  {
8238  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(4),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8239 
8240  check_to_go_further=5;
8241 
8242 
8243  qualite_moyenne_3D+=quallo10;
8244  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8245  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8246  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
8247  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
8248  }
8249 
8250  if((quall11>0.00001) && (check_not_to_creat_tetra!=3))
8251  {
8252  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(2),tetra_cutt->get_origine()));
8253  check_to_go_further=5;
8254  qualite_moyenne_3D+=quall11;
8255  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8256  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8257  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
8258  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
8259  }
8260  if((quallo11>0.00001) && (check_not_to_creat_tetra!=3))
8261  {
8262  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(2),tetra_cutt->get_origine()));
8263 
8264  check_to_go_further=5;
8265  qualite_moyenne_3D+=quallo11;
8266 
8267  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8268  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8269  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
8270  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
8271  }
8272  if((quall12>0.00001) && (check_not_to_creat_tetra!=3))
8273  {
8274  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8275  check_to_go_further=5;
8276  qualite_moyenne_3D+=quall12;
8277  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8278  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8279  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
8280  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
8281  }
8282  if((quallo12>0.00001) && (check_not_to_creat_tetra!=3))
8283 
8284  {
8285  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(5),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8286  check_to_go_further=5;
8287  qualite_moyenne_3D+=quallo12;
8288  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8289  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8290  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
8291  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
8292  }
8293  }
8294  if (((quall13>0.001 || quallo13>0.001) && (quall14>0.001 || quallo14>0.001) && (quall15>0.001 || quallo15>0.001)) && (check_to_go_further==3) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall13+quallo13+quall14+quallo14+quall15+quallo15)))
8295  {
8296  check_not_to_creat_tetra=0;
8297  LISTE_MG_TRIANGLE::iterator it_tri_existed;
8298  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
8299 
8300  {
8301 
8302  if(((lst_node_tri51.existe(tri_existed->get_noeud1())) && (lst_node_tri51.existe(tri_existed->get_noeud2())) && (lst_node_tri51.existe(tri_existed->get_noeud3()))) || ((lst_node_tri52.existe(tri_existed->get_noeud1())) && (lst_node_tri52.existe(tri_existed->get_noeud2())) && (lst_node_tri52.existe(tri_existed->get_noeud3()))) || ((lst_node_tri53.existe(tri_existed->get_noeud1())) && (lst_node_tri53.existe(tri_existed->get_noeud2())) && (lst_node_tri53.existe(tri_existed->get_noeud3()))) || ((lst_node_tri54.existe(tri_existed->get_noeud1())) && (lst_node_tri54.existe(tri_existed->get_noeud2())) && (lst_node_tri54.existe(tri_existed->get_noeud3()))) || ((lst_node_tri55.existe(tri_existed->get_noeud1())) && (lst_node_tri55.existe(tri_existed->get_noeud2())) && (lst_node_tri55.existe(tri_existed->get_noeud3()))) || ((lst_node_tri56.existe(tri_existed->get_noeud1())) && (lst_node_tri56.existe(tri_existed->get_noeud2())) && (lst_node_tri56.existe(tri_existed->get_noeud3()))) || ((lst_node_tri57.existe(tri_existed->get_noeud1())) && (lst_node_tri57.existe(tri_existed->get_noeud2())) && (lst_node_tri57.existe(tri_existed->get_noeud3()))) || ((lst_node_tri58.existe(tri_existed->get_noeud1())) && (lst_node_tri58.existe(tri_existed->get_noeud2())) && (lst_node_tri58.existe(tri_existed->get_noeud3()))) || ((lst_node_tri59.existe(tri_existed->get_noeud1())) && (lst_node_tri59.existe(tri_existed->get_noeud2())) && (lst_node_tri59.existe(tri_existed->get_noeud3()))) || ((lst_node_tri510.existe(tri_existed->get_noeud1())) && (lst_node_tri510.existe(tri_existed->get_noeud2())) && (lst_node_tri510.existe(tri_existed->get_noeud3()))))
8303  {
8304 
8305  check_to_creat_tetra=2;
8306  }
8307 
8308  else
8309 
8310  {
8311  check_not_to_creat_tetra=3;
8312 
8313  }
8314 
8315  }
8316 
8317 
8318  if((quall13>0.00001) && (check_not_to_creat_tetra!=3))
8319  {
8320  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(5),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8321  check_to_go_further=5;
8322 
8323  qualite_moyenne_3D+=quall13;
8324  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8325  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8326  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
8327 
8328 
8329  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
8330  }
8331 
8332  if((quallo13>0.00001) && (check_not_to_creat_tetra!=3))
8333  {
8334  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(5),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8335  check_to_go_further=5;
8336 
8337  qualite_moyenne_3D+=quallo13;
8338  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8339  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8340  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
8341 
8342  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
8343  }
8344 
8345  if((quall14>0.00001) && (check_not_to_creat_tetra!=3))
8346  {
8347  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(2),tetra_cutt->get_origine()));
8348 
8349  check_to_go_further=5;
8350  qualite_moyenne_3D+=quall14;
8351  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8352  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8353 
8354  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
8355  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
8356  }
8357 
8358  if((quallo14>0.00001) && (check_not_to_creat_tetra!=3))
8359  {
8360  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(2),tetra_cutt->get_origine()));
8361 
8362  check_to_go_further=5;
8363 
8364  qualite_moyenne_3D+=quallo14;
8365  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8366  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8367  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
8368  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
8369  }
8370 
8371  if((quall15>0.00001) && (check_not_to_creat_tetra!=3))
8372  {
8373  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(5),lst_node_in_second.get(4),tetra_cutt->get_origine()));
8374  check_to_go_further=5;
8375  qualite_moyenne_3D+=quall15;
8376  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8377  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8378  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
8379  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
8380  }
8381 
8382  if((quallo15>0.00001) && (check_not_to_creat_tetra!=3))
8383  {
8384 
8385  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(4),tetra_cutt->get_origine()));
8386  check_to_go_further=5;
8387  qualite_moyenne_3D+=quallo15;
8388  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8389  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8390  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
8391  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
8392  }
8393  }
8394 
8395  if ((quall16>0.001 || quallo16>0.001) && (quall17>0.001 || quallo17>0.001) && (quall18>0.001 || quallo18>0.001) && (check_to_go_further==3))
8396  {
8397  check_not_to_creat_tetra=0;
8398  LISTE_MG_TRIANGLE::iterator it_tri_existed;
8399  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
8400 
8401  {
8402 
8403  if(((lst_node_tri61.existe(tri_existed->get_noeud1())) && (lst_node_tri61.existe(tri_existed->get_noeud2())) && (lst_node_tri61.existe(tri_existed->get_noeud3()))) || ((lst_node_tri62.existe(tri_existed->get_noeud1())) && (lst_node_tri62.existe(tri_existed->get_noeud2())) && (lst_node_tri62.existe(tri_existed->get_noeud3()))) || ((lst_node_tri63.existe(tri_existed->get_noeud1())) && (lst_node_tri63.existe(tri_existed->get_noeud2())) && (lst_node_tri63.existe(tri_existed->get_noeud3()))) || ((lst_node_tri64.existe(tri_existed->get_noeud1())) && (lst_node_tri64.existe(tri_existed->get_noeud2())) && (lst_node_tri64.existe(tri_existed->get_noeud3()))) || ((lst_node_tri65.existe(tri_existed->get_noeud1())) && (lst_node_tri65.existe(tri_existed->get_noeud2())) && (lst_node_tri65.existe(tri_existed->get_noeud3()))) || ((lst_node_tri66.existe(tri_existed->get_noeud1())) && (lst_node_tri66.existe(tri_existed->get_noeud2())) && (lst_node_tri66.existe(tri_existed->get_noeud3()))) || ((lst_node_tri67.existe(tri_existed->get_noeud1())) && (lst_node_tri67.existe(tri_existed->get_noeud2())) && (lst_node_tri67.existe(tri_existed->get_noeud3()))) || ((lst_node_tri68.existe(tri_existed->get_noeud1())) && (lst_node_tri68.existe(tri_existed->get_noeud2())) && (lst_node_tri68.existe(tri_existed->get_noeud3()))) || ((lst_node_tri69.existe(tri_existed->get_noeud1())) && (lst_node_tri69.existe(tri_existed->get_noeud2())) && (lst_node_tri69.existe(tri_existed->get_noeud3()))) || ((lst_node_tri610.existe(tri_existed->get_noeud1())) && (lst_node_tri610.existe(tri_existed->get_noeud2())) && (lst_node_tri610.existe(tri_existed->get_noeud3()))))
8404  {
8405 
8406  check_to_creat_tetra=2;
8407  }
8408 
8409 
8410  else
8411 
8412  {
8413  check_not_to_creat_tetra=3;
8414 
8415  }
8416 
8417  }
8418 
8419  if((quall16>0.00001) && (check_not_to_creat_tetra!=3))
8420  {
8421  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8422 
8423 
8424  check_to_go_further=5;
8425  qualite_moyenne_3D+=quall16;
8426  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8427  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8428 
8429  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
8430  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
8431  }
8432  if((quallo16>0.00001) && (check_not_to_creat_tetra!=3))
8433  {
8434  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8435 
8436  check_to_go_further=5;
8437  qualite_moyenne_3D+=quallo16;
8438  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8439  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8440  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
8441  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
8442  }
8443  if((quall17>0.00001) && (check_not_to_creat_tetra!=3))
8444  {
8445  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8446  check_to_go_further=5;
8447  qualite_moyenne_3D+=quall17;
8448  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8449  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8450  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
8451  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
8452  }
8453  if((quallo17>0.00001) && (check_not_to_creat_tetra!=3))
8454  {
8455  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(4),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8456  check_to_go_further=5;
8457  qualite_moyenne_3D+=quallo17;
8458 
8459  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8460  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8461 
8462  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
8463  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
8464  }
8465  if((quall18>0.00001) && (check_not_to_creat_tetra!=3))
8466  {
8467  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8468  check_to_go_further=5;
8469  qualite_moyenne_3D+=quall18;
8470  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8471  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8472  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
8473  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
8474  }
8475  if((quallo18>0.00001) && (check_not_to_creat_tetra!=3))
8476  {
8477  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8478  check_to_go_further=5;
8479  qualite_moyenne_3D+=quallo18;
8480 
8481  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8482  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8483  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
8484  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
8485  }
8486  }
8487  //=========================================Second Loop==================================================================
8488 
8489  if (check_to_go_further==3)
8490  {
8491  if ((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001) && (quall3>0.001 || quallo3>0.001))
8492 
8493  {
8494  check_not_to_creat_tetra=0;
8495  LISTE_MG_TRIANGLE::iterator it_tri_existed;
8496  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
8497 
8498  {
8499 
8500  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))) || ((lst_node_tri18.existe(tri_existed->get_noeud1())) && (lst_node_tri18.existe(tri_existed->get_noeud2())) && (lst_node_tri18.existe(tri_existed->get_noeud3()))) || ((lst_node_tri19.existe(tri_existed->get_noeud1())) && (lst_node_tri19.existe(tri_existed->get_noeud2())) && (lst_node_tri19.existe(tri_existed->get_noeud3()))) || ((lst_node_tri110.existe(tri_existed->get_noeud1())) && (lst_node_tri110.existe(tri_existed->get_noeud2())) && (lst_node_tri110.existe(tri_existed->get_noeud3()))))
8501  {
8502 
8503  check_to_creat_tetra=2;
8504  }
8505 
8506 
8507  else
8508 
8509  {
8510  check_not_to_creat_tetra=3;
8511 
8512  }
8513 
8514  }
8515 
8516 
8517  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
8518  {
8519  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8520  check_to_go_further=5;
8521 
8522  qualite_moyenne_3D+=quall1;
8523  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8524  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8525  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
8526  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
8527  }
8528 
8529  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
8530  {
8531  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(4),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8532  check_to_go_further=5;
8533 
8534  qualite_moyenne_3D+=quallo1;
8535  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
8536  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
8537  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8538  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8539  }
8540 
8541  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
8542  {
8543  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8544  check_to_go_further=5;
8545 
8546  qualite_moyenne_3D+=quall2;
8547  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
8548  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
8549 
8550  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8551  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8552  }
8553  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
8554  {
8555  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8556  check_to_go_further=5;
8557 
8558  qualite_moyenne_3D+=quallo2;
8559  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
8560  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
8561 
8562  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8563  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8564  }
8565 
8566  if ((quall3>0.00001) && (check_not_to_creat_tetra!=3))
8567  {
8568  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8569 
8570  check_to_go_further=5;
8571 
8572  qualite_moyenne_3D+=quall3;
8573  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
8574  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
8575  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8576  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8577  }
8578  if ((quallo3>0.00001) && (check_not_to_creat_tetra!=3))
8579 
8580  {
8581  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8582  check_to_go_further=5;
8583  qualite_moyenne_3D+=quallo3;
8584  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
8585  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
8586  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8587  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8588  }
8589  }
8590  if ((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (quall6>0.001 || quallo6>0.001) && (check_to_go_further==3))
8591  {
8592  check_not_to_creat_tetra=0;
8593  LISTE_MG_TRIANGLE::iterator it_tri_existed;
8594  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
8595 
8596  {
8597 
8598  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))) || ((lst_node_tri28.existe(tri_existed->get_noeud1())) && (lst_node_tri28.existe(tri_existed->get_noeud2())) && (lst_node_tri28.existe(tri_existed->get_noeud3()))) || ((lst_node_tri29.existe(tri_existed->get_noeud1())) && (lst_node_tri29.existe(tri_existed->get_noeud2())) && (lst_node_tri29.existe(tri_existed->get_noeud3()))) || ((lst_node_tri210.existe(tri_existed->get_noeud1())) && (lst_node_tri210.existe(tri_existed->get_noeud2())) && (lst_node_tri210.existe(tri_existed->get_noeud3()))))
8599  {
8600 
8601  check_to_creat_tetra=2;
8602  }
8603 
8604  else
8605 
8606  {
8607  check_not_to_creat_tetra=3;
8608 
8609  }
8610 
8611  }
8612 
8613  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
8614  {
8615  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8616  check_to_go_further=5;
8617 
8618  qualite_moyenne_3D+=quall4;
8619  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8620  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8621  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
8622  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
8623  }
8624 
8625  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
8626  {
8627  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
8628  check_to_go_further=5;
8629  qualite_moyenne_3D+=quall5;
8630  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8631  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8632  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
8633 
8634  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
8635 
8636  }
8637 
8638  if((quall6>0.00001) && (check_not_to_creat_tetra!=3))
8639  {
8640  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8641  check_to_go_further=5;
8642 
8643  qualite_moyenne_3D+=quall6;
8644  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8645  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8646  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
8647  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
8648 
8649  }
8650  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
8651  {
8652  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(4),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8653  check_to_go_further=5;
8654 
8655  qualite_moyenne_3D+=quallo4;
8656  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8657  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8658  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
8659  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
8660 
8661  }
8662 
8663  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
8664  {
8665  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
8666  check_to_go_further=5;
8667  qualite_moyenne_3D+=quallo5;
8668  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8669  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8670  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
8671  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
8672 
8673  }
8674 
8675  if((quallo6>0.00001) && (check_not_to_creat_tetra!=3))
8676  {
8677  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8678  check_to_go_further=5;
8679  qualite_moyenne_3D+=quallo6;
8680  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8681  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8682  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
8683  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
8684 
8685  }
8686  }
8687  if ((quall7>0.001 || quallo7>0.001) && (quall8>0.001 || quallo8>0.001) && (quall9>0.001 || quallo9>0.001) && (check_to_go_further==3))
8688  {
8689  check_not_to_creat_tetra=0;
8690  LISTE_MG_TRIANGLE::iterator it_tri_existed;
8691  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
8692 
8693  {
8694 
8695  if(((lst_node_tri31.existe(tri_existed->get_noeud1())) && (lst_node_tri31.existe(tri_existed->get_noeud2())) && (lst_node_tri31.existe(tri_existed->get_noeud3()))) || ((lst_node_tri32.existe(tri_existed->get_noeud1())) && (lst_node_tri32.existe(tri_existed->get_noeud2())) && (lst_node_tri32.existe(tri_existed->get_noeud3()))) || ((lst_node_tri33.existe(tri_existed->get_noeud1())) && (lst_node_tri33.existe(tri_existed->get_noeud2())) && (lst_node_tri33.existe(tri_existed->get_noeud3()))) || ((lst_node_tri34.existe(tri_existed->get_noeud1())) && (lst_node_tri34.existe(tri_existed->get_noeud2())) && (lst_node_tri34.existe(tri_existed->get_noeud3()))) || ((lst_node_tri35.existe(tri_existed->get_noeud1())) && (lst_node_tri35.existe(tri_existed->get_noeud2())) && (lst_node_tri35.existe(tri_existed->get_noeud3()))) || ((lst_node_tri36.existe(tri_existed->get_noeud1())) && (lst_node_tri36.existe(tri_existed->get_noeud2())) && (lst_node_tri36.existe(tri_existed->get_noeud3()))) || ((lst_node_tri37.existe(tri_existed->get_noeud1())) && (lst_node_tri37.existe(tri_existed->get_noeud2())) && (lst_node_tri37.existe(tri_existed->get_noeud3()))) || ((lst_node_tri38.existe(tri_existed->get_noeud1())) && (lst_node_tri38.existe(tri_existed->get_noeud2())) && (lst_node_tri38.existe(tri_existed->get_noeud3()))) || ((lst_node_tri39.existe(tri_existed->get_noeud1())) && (lst_node_tri39.existe(tri_existed->get_noeud2())) && (lst_node_tri39.existe(tri_existed->get_noeud3()))) || ((lst_node_tri310.existe(tri_existed->get_noeud1())) && (lst_node_tri310.existe(tri_existed->get_noeud2())) && (lst_node_tri310.existe(tri_existed->get_noeud3()))))
8696  {
8697 
8698  check_to_creat_tetra=2;
8699  }
8700 
8701  else
8702 
8703  {
8704  check_not_to_creat_tetra=3;
8705 
8706  }
8707 
8708  }
8709 
8710  if((quall7>0.00001) && (check_not_to_creat_tetra!=3))
8711  {
8712  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(5),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8713  check_to_go_further=5;
8714 
8715  qualite_moyenne_3D+=quall7;
8716  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8717  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8718 
8719  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
8720 
8721  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
8722  }
8723 
8724  if((quallo7>0.00001) && (check_not_to_creat_tetra!=3))
8725 
8726  {
8727  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(5),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8728  check_to_go_further=5;
8729 
8730  qualite_moyenne_3D+=quallo7;
8731  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8732  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8733 
8734  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
8735  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
8736  }
8737 
8738  if((quall8>0.00001) && (check_not_to_creat_tetra!=3))
8739  {
8740  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(5),lst_node_in_second.get(4),tetra_cutt->get_origine()));
8741  check_to_go_further=5;
8742  qualite_moyenne_3D+=quall8;
8743  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8744  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8745  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
8746 
8747  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
8748 
8749  }
8750 
8751  if((quallo8>0.00001) && (check_not_to_creat_tetra!=3))
8752  {
8753  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(4),tetra_cutt->get_origine()));
8754  check_to_go_further=5;
8755  qualite_moyenne_3D+=quallo8;
8756  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8757  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8758  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
8759  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
8760 
8761  }
8762 
8763  if((quall9>0.00001) && (check_not_to_creat_tetra!=3))
8764  {
8765  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
8766  check_to_go_further=5;
8767 
8768  qualite_moyenne_3D+=quall9;
8769  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8770  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8771  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
8772  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
8773  }
8774 
8775  if((quallo9>0.00001) && (check_not_to_creat_tetra!=3))
8776  {
8777  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
8778  check_to_go_further=5;
8779  qualite_moyenne_3D+=quallo9;
8780  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8781  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8782  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
8783  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
8784  }
8785  }
8786  if ((quall10>0.001 || quallo10>0.001) && (quall12>0.001 || quallo12>0.001) && (quall11>0.001 || quallo11>0.001) && (check_to_go_further==3))
8787  {
8788  check_not_to_creat_tetra=0;
8789  LISTE_MG_TRIANGLE::iterator it_tri_existed;
8790  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
8791  {
8792  if(((lst_node_tri41.existe(tri_existed->get_noeud1())) && (lst_node_tri41.existe(tri_existed->get_noeud2())) && (lst_node_tri41.existe(tri_existed->get_noeud3()))) || ((lst_node_tri42.existe(tri_existed->get_noeud1())) && (lst_node_tri42.existe(tri_existed->get_noeud2())) && (lst_node_tri42.existe(tri_existed->get_noeud3()))) || ((lst_node_tri43.existe(tri_existed->get_noeud1())) && (lst_node_tri43.existe(tri_existed->get_noeud2())) && (lst_node_tri43.existe(tri_existed->get_noeud3()))) || ((lst_node_tri44.existe(tri_existed->get_noeud1())) && (lst_node_tri44.existe(tri_existed->get_noeud2())) && (lst_node_tri44.existe(tri_existed->get_noeud3()))) || ((lst_node_tri45.existe(tri_existed->get_noeud1())) && (lst_node_tri45.existe(tri_existed->get_noeud2())) && (lst_node_tri45.existe(tri_existed->get_noeud3()))) || ((lst_node_tri46.existe(tri_existed->get_noeud1())) && (lst_node_tri46.existe(tri_existed->get_noeud2())) && (lst_node_tri46.existe(tri_existed->get_noeud3()))) || ((lst_node_tri47.existe(tri_existed->get_noeud1())) && (lst_node_tri47.existe(tri_existed->get_noeud2())) && (lst_node_tri47.existe(tri_existed->get_noeud3()))) || ((lst_node_tri48.existe(tri_existed->get_noeud1())) && (lst_node_tri48.existe(tri_existed->get_noeud2())) && (lst_node_tri48.existe(tri_existed->get_noeud3()))) || ((lst_node_tri49.existe(tri_existed->get_noeud1())) && (lst_node_tri49.existe(tri_existed->get_noeud2())) && (lst_node_tri49.existe(tri_existed->get_noeud3()))) || ((lst_node_tri410.existe(tri_existed->get_noeud1())) && (lst_node_tri410.existe(tri_existed->get_noeud2())) && (lst_node_tri410.existe(tri_existed->get_noeud3()))))
8793  {
8794 
8795  check_to_creat_tetra=2;
8796 
8797  }
8798 
8799  else
8800 
8801  {
8802  check_not_to_creat_tetra=3;
8803 
8804  }
8805 
8806  }
8807 
8808  if((quall10>0.00001) && (check_not_to_creat_tetra!=3))
8809  {
8810  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8811 
8812  check_to_go_further=5;
8813 
8814 
8815  qualite_moyenne_3D+=quall10;
8816  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8817  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8818  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
8819  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
8820  }
8821  if((quallo10>0.00001) && (check_not_to_creat_tetra!=3))
8822  {
8823  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(4),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8824 
8825  check_to_go_further=5;
8826 
8827 
8828  qualite_moyenne_3D+=quallo10;
8829  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8830  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8831  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
8832  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
8833  }
8834 
8835  if((quall11>0.00001) && (check_not_to_creat_tetra!=3))
8836  {
8837  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(2),tetra_cutt->get_origine()));
8838  check_to_go_further=5;
8839  qualite_moyenne_3D+=quall11;
8840  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8841  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8842  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
8843  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
8844  }
8845  if((quallo11>0.00001) && (check_not_to_creat_tetra!=3))
8846  {
8847  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(2),tetra_cutt->get_origine()));
8848 
8849  check_to_go_further=5;
8850  qualite_moyenne_3D+=quallo11;
8851 
8852  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8853  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8854  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
8855  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
8856  }
8857  if((quall12>0.00001) && (check_not_to_creat_tetra!=3))
8858  {
8859  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8860  check_to_go_further=5;
8861  qualite_moyenne_3D+=quall12;
8862  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8863  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8864  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
8865  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
8866  }
8867  if((quallo12>0.00001) && (check_not_to_creat_tetra!=3))
8868 
8869  {
8870  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(5),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8871  check_to_go_further=5;
8872  qualite_moyenne_3D+=quallo12;
8873  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8874  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8875  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
8876  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
8877  }
8878  }
8879 if ((quall13>0.001 || quallo13>0.001) && (quall14>0.001 || quallo14>0.001) && (quall15>0.001 || quallo15>0.001) && (check_to_go_further==3))
8880  {
8881  check_not_to_creat_tetra=0;
8882  LISTE_MG_TRIANGLE::iterator it_tri_existed;
8883  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
8884 
8885  {
8886 
8887  if(((lst_node_tri51.existe(tri_existed->get_noeud1())) && (lst_node_tri51.existe(tri_existed->get_noeud2())) && (lst_node_tri51.existe(tri_existed->get_noeud3()))) || ((lst_node_tri52.existe(tri_existed->get_noeud1())) && (lst_node_tri52.existe(tri_existed->get_noeud2())) && (lst_node_tri52.existe(tri_existed->get_noeud3()))) || ((lst_node_tri53.existe(tri_existed->get_noeud1())) && (lst_node_tri53.existe(tri_existed->get_noeud2())) && (lst_node_tri53.existe(tri_existed->get_noeud3()))) || ((lst_node_tri54.existe(tri_existed->get_noeud1())) && (lst_node_tri54.existe(tri_existed->get_noeud2())) && (lst_node_tri54.existe(tri_existed->get_noeud3()))) || ((lst_node_tri55.existe(tri_existed->get_noeud1())) && (lst_node_tri55.existe(tri_existed->get_noeud2())) && (lst_node_tri55.existe(tri_existed->get_noeud3()))) || ((lst_node_tri56.existe(tri_existed->get_noeud1())) && (lst_node_tri56.existe(tri_existed->get_noeud2())) && (lst_node_tri56.existe(tri_existed->get_noeud3()))) || ((lst_node_tri57.existe(tri_existed->get_noeud1())) && (lst_node_tri57.existe(tri_existed->get_noeud2())) && (lst_node_tri57.existe(tri_existed->get_noeud3()))) || ((lst_node_tri58.existe(tri_existed->get_noeud1())) && (lst_node_tri58.existe(tri_existed->get_noeud2())) && (lst_node_tri58.existe(tri_existed->get_noeud3()))) || ((lst_node_tri59.existe(tri_existed->get_noeud1())) && (lst_node_tri59.existe(tri_existed->get_noeud2())) && (lst_node_tri59.existe(tri_existed->get_noeud3()))) || ((lst_node_tri510.existe(tri_existed->get_noeud1())) && (lst_node_tri510.existe(tri_existed->get_noeud2())) && (lst_node_tri510.existe(tri_existed->get_noeud3()))))
8888  {
8889 
8890  check_to_creat_tetra=2;
8891  }
8892 
8893  else
8894 
8895  {
8896  check_not_to_creat_tetra=3;
8897 
8898  }
8899 
8900  }
8901 
8902 
8903  if((quall13>0.00001) && (check_not_to_creat_tetra!=3))
8904  {
8905  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(5),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8906  check_to_go_further=5;
8907 
8908  qualite_moyenne_3D+=quall13;
8909  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8910  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8911  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
8912 
8913 
8914  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
8915  }
8916 
8917  if((quallo13>0.00001) && (check_not_to_creat_tetra!=3))
8918  {
8919  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(5),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
8920  check_to_go_further=5;
8921 
8922  qualite_moyenne_3D+=quallo13;
8923  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8924  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8925  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
8926 
8927  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
8928  }
8929 
8930  if((quall14>0.00001) && (check_not_to_creat_tetra!=3))
8931  {
8932  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(2),tetra_cutt->get_origine()));
8933 
8934  check_to_go_further=5;
8935  qualite_moyenne_3D+=quall14;
8936  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8937  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8938 
8939  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
8940  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
8941  }
8942 
8943  if((quallo14>0.00001) && (check_not_to_creat_tetra!=3))
8944  {
8945  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(2),tetra_cutt->get_origine()));
8946 
8947  check_to_go_further=5;
8948 
8949  qualite_moyenne_3D+=quallo14;
8950  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8951  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8952  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
8953  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
8954  }
8955 
8956  if((quall15>0.00001) && (check_not_to_creat_tetra!=3))
8957  {
8958  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(5),lst_node_in_second.get(4),tetra_cutt->get_origine()));
8959  check_to_go_further=5;
8960  qualite_moyenne_3D+=quall15;
8961  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8962  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8963  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
8964  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
8965  }
8966 
8967  if((quallo15>0.00001) && (check_not_to_creat_tetra!=3))
8968  {
8969 
8970  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(4),tetra_cutt->get_origine()));
8971  check_to_go_further=5;
8972  qualite_moyenne_3D+=quallo15;
8973  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8974  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8975  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
8976  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
8977  }
8978 
8979  }
8980 
8981  if ((quall16>0.001 || quallo16>0.001) && (quall17>0.001 || quallo17>0.001) && (quall18>0.001 || quallo18>0.001) && (check_to_go_further==3))
8982  {
8983  check_not_to_creat_tetra=0;
8984  LISTE_MG_TRIANGLE::iterator it_tri_existed;
8985  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
8986 
8987  {
8988 
8989  if(((lst_node_tri61.existe(tri_existed->get_noeud1())) && (lst_node_tri61.existe(tri_existed->get_noeud2())) && (lst_node_tri61.existe(tri_existed->get_noeud3()))) || ((lst_node_tri62.existe(tri_existed->get_noeud1())) && (lst_node_tri62.existe(tri_existed->get_noeud2())) && (lst_node_tri62.existe(tri_existed->get_noeud3()))) || ((lst_node_tri63.existe(tri_existed->get_noeud1())) && (lst_node_tri63.existe(tri_existed->get_noeud2())) && (lst_node_tri63.existe(tri_existed->get_noeud3()))) || ((lst_node_tri64.existe(tri_existed->get_noeud1())) && (lst_node_tri64.existe(tri_existed->get_noeud2())) && (lst_node_tri64.existe(tri_existed->get_noeud3()))) || ((lst_node_tri65.existe(tri_existed->get_noeud1())) && (lst_node_tri65.existe(tri_existed->get_noeud2())) && (lst_node_tri65.existe(tri_existed->get_noeud3()))) || ((lst_node_tri66.existe(tri_existed->get_noeud1())) && (lst_node_tri66.existe(tri_existed->get_noeud2())) && (lst_node_tri66.existe(tri_existed->get_noeud3()))) || ((lst_node_tri67.existe(tri_existed->get_noeud1())) && (lst_node_tri67.existe(tri_existed->get_noeud2())) && (lst_node_tri67.existe(tri_existed->get_noeud3()))) || ((lst_node_tri68.existe(tri_existed->get_noeud1())) && (lst_node_tri68.existe(tri_existed->get_noeud2())) && (lst_node_tri68.existe(tri_existed->get_noeud3()))) || ((lst_node_tri69.existe(tri_existed->get_noeud1())) && (lst_node_tri69.existe(tri_existed->get_noeud2())) && (lst_node_tri69.existe(tri_existed->get_noeud3()))) || ((lst_node_tri610.existe(tri_existed->get_noeud1())) && (lst_node_tri610.existe(tri_existed->get_noeud2())) && (lst_node_tri610.existe(tri_existed->get_noeud3()))))
8990  {
8991 
8992  check_to_creat_tetra=2;
8993  }
8994 
8995 
8996  else
8997 
8998  {
8999  check_not_to_creat_tetra=3;
9000 
9001  }
9002 
9003  }
9004 
9005  if((quall16>0.00001) && (check_not_to_creat_tetra!=3))
9006  {
9007  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9008 
9009 
9010  check_to_go_further=5;
9011  qualite_moyenne_3D+=quall16;
9012  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9013  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9014 
9015  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
9016  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
9017  }
9018  if((quallo16>0.00001) && (check_not_to_creat_tetra!=3))
9019  {
9020  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9021 
9022 
9023  check_to_go_further=5;
9024  qualite_moyenne_3D+=quallo16;
9025  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9026  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9027  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
9028  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
9029  }
9030  if((quall17>0.00001) && (check_not_to_creat_tetra!=3))
9031  {
9032  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9033  check_to_go_further=5;
9034  qualite_moyenne_3D+=quall17;
9035  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9036  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9037  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
9038  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
9039  }
9040  if((quallo17>0.00001) && (check_not_to_creat_tetra!=3))
9041  {
9042  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(4),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9043  check_to_go_further=5;
9044  qualite_moyenne_3D+=quallo17;
9045 
9046  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9047  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9048 
9049  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
9050  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
9051  }
9052  if((quall18>0.00001) && (check_not_to_creat_tetra!=3))
9053  {
9054  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9055  check_to_go_further=5;
9056  qualite_moyenne_3D+=quall18;
9057  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9058  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9059  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
9060  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
9061  }
9062  if((quallo18>0.00001) && (check_not_to_creat_tetra!=3))
9063  {
9064  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9065  check_to_go_further=5;
9066  qualite_moyenne_3D+=quallo18;
9067 
9068  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9069  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9070  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
9071  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
9072  }
9073 
9074  }
9075  }
9076  //============================================Third loop==============================================================
9077  if (check_to_go_further==3)
9078  {
9079  if ((quall1>0.000001 || quallo1>0.000001) && (quall2>0.000001 || quallo2>0.000001) && (quall3>0.000001 || quallo3>0.000001))
9080  {
9081  check_not_to_creat_tetra=0;
9082  LISTE_MG_TRIANGLE::iterator it_tri_existed;
9083  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
9084 
9085  {
9086 
9087  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))) || ((lst_node_tri18.existe(tri_existed->get_noeud1())) && (lst_node_tri18.existe(tri_existed->get_noeud2())) && (lst_node_tri18.existe(tri_existed->get_noeud3()))) || ((lst_node_tri19.existe(tri_existed->get_noeud1())) && (lst_node_tri19.existe(tri_existed->get_noeud2())) && (lst_node_tri19.existe(tri_existed->get_noeud3()))) || ((lst_node_tri110.existe(tri_existed->get_noeud1())) && (lst_node_tri110.existe(tri_existed->get_noeud2())) && (lst_node_tri110.existe(tri_existed->get_noeud3()))))
9088  {
9089 
9090  check_to_creat_tetra=2;
9091  }
9092 
9093 
9094  else
9095 
9096  {
9097  check_not_to_creat_tetra=3;
9098 
9099  }
9100 
9101  }
9102 
9103 
9104  if ((quall1>0.000001) && (check_not_to_creat_tetra!=3))
9105  {
9106  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9107  check_to_go_further=5;
9108 
9109  qualite_moyenne_3D+=quall1;
9110  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9111  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9112  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
9113  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
9114  }
9115 
9116  if ((quallo1>0.000001) && (check_not_to_creat_tetra!=3))
9117  {
9118  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(4),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9119  check_to_go_further=5;
9120 
9121  qualite_moyenne_3D+=quallo1;
9122  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
9123  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
9124  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9125  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9126  }
9127 
9128  if ((quall2>0.000001) && (check_not_to_creat_tetra!=3))
9129  {
9130  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9131  check_to_go_further=5;
9132 
9133  qualite_moyenne_3D+=quall2;
9134  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
9135  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
9136 
9137  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9138  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9139  }
9140  if ((quallo2>0.000001) && (check_not_to_creat_tetra!=3))
9141  {
9142  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9143  check_to_go_further=5;
9144 
9145  qualite_moyenne_3D+=quallo2;
9146  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
9147  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
9148 
9149  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9150  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9151  }
9152 
9153  if ((quall3>0.000001) && (check_not_to_creat_tetra!=3))
9154  {
9155  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9156 
9157  check_to_go_further=5;
9158 
9159  qualite_moyenne_3D+=quall3;
9160  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
9161  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
9162  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9163  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9164  }
9165  if ((quallo3>0.000001) && (check_not_to_creat_tetra!=3))
9166 
9167  {
9168  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9169  check_to_go_further=5;
9170  qualite_moyenne_3D+=quallo3;
9171  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
9172  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
9173  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9174  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9175  }
9176  }
9177  if ((quall4>0.000001 || quallo4>0.000001) && (quall5>0.000001 || quallo5>0.000001) && (quall6>0.000001 || quallo6>0.000001) && (check_to_go_further==3))
9178  {
9179  check_not_to_creat_tetra=0;
9180  LISTE_MG_TRIANGLE::iterator it_tri_existed;
9181  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
9182 
9183  {
9184 
9185  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))) || ((lst_node_tri28.existe(tri_existed->get_noeud1())) && (lst_node_tri28.existe(tri_existed->get_noeud2())) && (lst_node_tri28.existe(tri_existed->get_noeud3()))) || ((lst_node_tri29.existe(tri_existed->get_noeud1())) && (lst_node_tri29.existe(tri_existed->get_noeud2())) && (lst_node_tri29.existe(tri_existed->get_noeud3()))) || ((lst_node_tri210.existe(tri_existed->get_noeud1())) && (lst_node_tri210.existe(tri_existed->get_noeud2())) && (lst_node_tri210.existe(tri_existed->get_noeud3()))))
9186  {
9187 
9188  check_to_creat_tetra=2;
9189  }
9190 
9191  else
9192 
9193  {
9194  check_not_to_creat_tetra=3;
9195 
9196  }
9197 
9198  }
9199 
9200  if((quall4>0.000001) && (check_not_to_creat_tetra!=3))
9201  {
9202  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9203  check_to_go_further=5;
9204 
9205  qualite_moyenne_3D+=quall4;
9206  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9207  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9208  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
9209  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
9210  }
9211 
9212  if((quall5>0.000001) && (check_not_to_creat_tetra!=3))
9213  {
9214  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
9215  check_to_go_further=5;
9216  qualite_moyenne_3D+=quall5;
9217  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9218  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9219  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
9220 
9221  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
9222 
9223  }
9224 
9225  if((quall6>0.000001) && (check_not_to_creat_tetra!=3))
9226  {
9227  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9228  check_to_go_further=5;
9229 
9230  qualite_moyenne_3D+=quall6;
9231  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9232  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9233  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
9234  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
9235 
9236  }
9237  if((quallo4>0.000001) && (check_not_to_creat_tetra!=3))
9238  {
9239  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(4),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9240  check_to_go_further=5;
9241 
9242  qualite_moyenne_3D+=quallo4;
9243  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9244  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9245  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
9246  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
9247 
9248  }
9249 
9250  if((quallo5>0.000001) && (check_not_to_creat_tetra!=3))
9251  {
9252  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
9253  check_to_go_further=5;
9254  qualite_moyenne_3D+=quallo5;
9255  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9256  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9257  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
9258  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
9259 
9260  }
9261 
9262  if((quallo6>0.000001) && (check_not_to_creat_tetra!=3))
9263  {
9264  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9265  check_to_go_further=5;
9266  qualite_moyenne_3D+=quallo6;
9267  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9268  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9269  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
9270  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
9271 
9272  }
9273  }
9274  if ((quall7>0.000001 || quallo7>0.000001) && (quall8>0.000001 || quallo8>0.000001) && (quall9>0.000001 || quallo9>0.000001) && (check_to_go_further==3))
9275  {
9276  check_not_to_creat_tetra=0;
9277  LISTE_MG_TRIANGLE::iterator it_tri_existed;
9278  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
9279 
9280  {
9281 
9282  if(((lst_node_tri31.existe(tri_existed->get_noeud1())) && (lst_node_tri31.existe(tri_existed->get_noeud2())) && (lst_node_tri31.existe(tri_existed->get_noeud3()))) || ((lst_node_tri32.existe(tri_existed->get_noeud1())) && (lst_node_tri32.existe(tri_existed->get_noeud2())) && (lst_node_tri32.existe(tri_existed->get_noeud3()))) || ((lst_node_tri33.existe(tri_existed->get_noeud1())) && (lst_node_tri33.existe(tri_existed->get_noeud2())) && (lst_node_tri33.existe(tri_existed->get_noeud3()))) || ((lst_node_tri34.existe(tri_existed->get_noeud1())) && (lst_node_tri34.existe(tri_existed->get_noeud2())) && (lst_node_tri34.existe(tri_existed->get_noeud3()))) || ((lst_node_tri35.existe(tri_existed->get_noeud1())) && (lst_node_tri35.existe(tri_existed->get_noeud2())) && (lst_node_tri35.existe(tri_existed->get_noeud3()))) || ((lst_node_tri36.existe(tri_existed->get_noeud1())) && (lst_node_tri36.existe(tri_existed->get_noeud2())) && (lst_node_tri36.existe(tri_existed->get_noeud3()))) || ((lst_node_tri37.existe(tri_existed->get_noeud1())) && (lst_node_tri37.existe(tri_existed->get_noeud2())) && (lst_node_tri37.existe(tri_existed->get_noeud3()))) || ((lst_node_tri38.existe(tri_existed->get_noeud1())) && (lst_node_tri38.existe(tri_existed->get_noeud2())) && (lst_node_tri38.existe(tri_existed->get_noeud3()))) || ((lst_node_tri39.existe(tri_existed->get_noeud1())) && (lst_node_tri39.existe(tri_existed->get_noeud2())) && (lst_node_tri39.existe(tri_existed->get_noeud3()))) || ((lst_node_tri310.existe(tri_existed->get_noeud1())) && (lst_node_tri310.existe(tri_existed->get_noeud2())) && (lst_node_tri310.existe(tri_existed->get_noeud3()))))
9283  {
9284 
9285  check_to_creat_tetra=2;
9286  }
9287 
9288  else
9289 
9290  {
9291  check_not_to_creat_tetra=3;
9292 
9293  }
9294 
9295  }
9296 
9297  if((quall7>0.000001) && (check_not_to_creat_tetra!=3))
9298  {
9299  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(5),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9300  check_to_go_further=5;
9301 
9302  qualite_moyenne_3D+=quall7;
9303  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9304  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9305 
9306  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
9307 
9308  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
9309  }
9310 
9311  if((quallo7>0.000001) && (check_not_to_creat_tetra!=3))
9312 
9313  {
9314  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(5),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9315  check_to_go_further=5;
9316 
9317  qualite_moyenne_3D+=quallo7;
9318  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9319  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9320 
9321  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
9322  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
9323  }
9324 
9325  if((quall8>0.000001) && (check_not_to_creat_tetra!=3))
9326  {
9327  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(5),lst_node_in_second.get(4),tetra_cutt->get_origine()));
9328  check_to_go_further=5;
9329  qualite_moyenne_3D+=quall8;
9330  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9331  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9332  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
9333 
9334  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
9335 
9336  }
9337 
9338  if((quallo8>0.000001) && (check_not_to_creat_tetra!=3))
9339  {
9340  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(4),tetra_cutt->get_origine()));
9341  check_to_go_further=5;
9342  qualite_moyenne_3D+=quallo8;
9343  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9344  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9345  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
9346  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
9347 
9348  }
9349 
9350  if((quall9>0.000001) && (check_not_to_creat_tetra!=3))
9351  {
9352  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
9353  check_to_go_further=5;
9354 
9355  qualite_moyenne_3D+=quall9;
9356  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9357  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9358  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
9359  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
9360  }
9361 
9362  if((quallo9>0.000001) && (check_not_to_creat_tetra!=3))
9363  {
9364  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
9365  check_to_go_further=5;
9366  qualite_moyenne_3D+=quallo9;
9367  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9368  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9369  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
9370  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
9371  }
9372  }
9373  if ((quall10>0.000001 || quallo10>0.000001) && (quall12>0.000001 || quallo12>0.000001) && (quall11>0.000001 || quallo11>0.000001) && (check_to_go_further==3))
9374  {
9375  check_not_to_creat_tetra=0;
9376  LISTE_MG_TRIANGLE::iterator it_tri_existed;
9377  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
9378  {
9379  if(((lst_node_tri41.existe(tri_existed->get_noeud1())) && (lst_node_tri41.existe(tri_existed->get_noeud2())) && (lst_node_tri41.existe(tri_existed->get_noeud3()))) || ((lst_node_tri42.existe(tri_existed->get_noeud1())) && (lst_node_tri42.existe(tri_existed->get_noeud2())) && (lst_node_tri42.existe(tri_existed->get_noeud3()))) || ((lst_node_tri43.existe(tri_existed->get_noeud1())) && (lst_node_tri43.existe(tri_existed->get_noeud2())) && (lst_node_tri43.existe(tri_existed->get_noeud3()))) || ((lst_node_tri44.existe(tri_existed->get_noeud1())) && (lst_node_tri44.existe(tri_existed->get_noeud2())) && (lst_node_tri44.existe(tri_existed->get_noeud3()))) || ((lst_node_tri45.existe(tri_existed->get_noeud1())) && (lst_node_tri45.existe(tri_existed->get_noeud2())) && (lst_node_tri45.existe(tri_existed->get_noeud3()))) || ((lst_node_tri46.existe(tri_existed->get_noeud1())) && (lst_node_tri46.existe(tri_existed->get_noeud2())) && (lst_node_tri46.existe(tri_existed->get_noeud3()))) || ((lst_node_tri47.existe(tri_existed->get_noeud1())) && (lst_node_tri47.existe(tri_existed->get_noeud2())) && (lst_node_tri47.existe(tri_existed->get_noeud3()))) || ((lst_node_tri48.existe(tri_existed->get_noeud1())) && (lst_node_tri48.existe(tri_existed->get_noeud2())) && (lst_node_tri48.existe(tri_existed->get_noeud3()))) || ((lst_node_tri49.existe(tri_existed->get_noeud1())) && (lst_node_tri49.existe(tri_existed->get_noeud2())) && (lst_node_tri49.existe(tri_existed->get_noeud3()))) || ((lst_node_tri410.existe(tri_existed->get_noeud1())) && (lst_node_tri410.existe(tri_existed->get_noeud2())) && (lst_node_tri410.existe(tri_existed->get_noeud3()))))
9380  {
9381 
9382  check_to_creat_tetra=2;
9383 
9384  }
9385 
9386  else
9387 
9388  {
9389  check_not_to_creat_tetra=3;
9390 
9391  }
9392 
9393  }
9394 
9395  if((quall10>0.000001) && (check_not_to_creat_tetra!=3))
9396  {
9397  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9398 
9399  check_to_go_further=5;
9400 
9401 
9402  qualite_moyenne_3D+=quall10;
9403  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9404  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9405  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
9406  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
9407  }
9408  if((quallo10>0.000001) && (check_not_to_creat_tetra!=3))
9409  {
9410  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(4),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9411 
9412  check_to_go_further=5;
9413 
9414  qualite_moyenne_3D+=quallo10;
9415  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9416  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9417  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
9418  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
9419  }
9420 
9421  if((quall11>0.000001) && (check_not_to_creat_tetra!=3))
9422  {
9423  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(2),tetra_cutt->get_origine()));
9424  check_to_go_further=5;
9425  qualite_moyenne_3D+=quall11;
9426  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9427  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9428  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
9429  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
9430  }
9431  if((quallo11>0.000001) && (check_not_to_creat_tetra!=3))
9432  {
9433  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(2),tetra_cutt->get_origine()));
9434 
9435  check_to_go_further=5;
9436  qualite_moyenne_3D+=quallo11;
9437 
9438  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9439  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9440  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
9441  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
9442  }
9443  if((quall12>0.000001) && (check_not_to_creat_tetra!=3))
9444  {
9445  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9446  check_to_go_further=5;
9447  qualite_moyenne_3D+=quall12;
9448  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9449  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9450  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
9451  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
9452  }
9453  if((quallo12>0.000001) && (check_not_to_creat_tetra!=3))
9454 
9455  {
9456  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(5),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9457  check_to_go_further=5;
9458  qualite_moyenne_3D+=quallo12;
9459  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9460  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9461  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
9462  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
9463  }
9464 
9465  }
9466  if ((quall13>0.000001 || quallo13>0.000001) && (quall14>0.000001 || quallo14>0.000001) && (quall15>0.000001 || quallo15>0.000001) && (check_to_go_further==3))
9467  {
9468  check_not_to_creat_tetra=0;
9469  LISTE_MG_TRIANGLE::iterator it_tri_existed;
9470  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
9471 
9472  {
9473 
9474  if(((lst_node_tri51.existe(tri_existed->get_noeud1())) && (lst_node_tri51.existe(tri_existed->get_noeud2())) && (lst_node_tri51.existe(tri_existed->get_noeud3()))) || ((lst_node_tri52.existe(tri_existed->get_noeud1())) && (lst_node_tri52.existe(tri_existed->get_noeud2())) && (lst_node_tri52.existe(tri_existed->get_noeud3()))) || ((lst_node_tri53.existe(tri_existed->get_noeud1())) && (lst_node_tri53.existe(tri_existed->get_noeud2())) && (lst_node_tri53.existe(tri_existed->get_noeud3()))) || ((lst_node_tri54.existe(tri_existed->get_noeud1())) && (lst_node_tri54.existe(tri_existed->get_noeud2())) && (lst_node_tri54.existe(tri_existed->get_noeud3()))) || ((lst_node_tri55.existe(tri_existed->get_noeud1())) && (lst_node_tri55.existe(tri_existed->get_noeud2())) && (lst_node_tri55.existe(tri_existed->get_noeud3()))) || ((lst_node_tri56.existe(tri_existed->get_noeud1())) && (lst_node_tri56.existe(tri_existed->get_noeud2())) && (lst_node_tri56.existe(tri_existed->get_noeud3()))) || ((lst_node_tri57.existe(tri_existed->get_noeud1())) && (lst_node_tri57.existe(tri_existed->get_noeud2())) && (lst_node_tri57.existe(tri_existed->get_noeud3()))) || ((lst_node_tri58.existe(tri_existed->get_noeud1())) && (lst_node_tri58.existe(tri_existed->get_noeud2())) && (lst_node_tri58.existe(tri_existed->get_noeud3()))) || ((lst_node_tri59.existe(tri_existed->get_noeud1())) && (lst_node_tri59.existe(tri_existed->get_noeud2())) && (lst_node_tri59.existe(tri_existed->get_noeud3()))) || ((lst_node_tri510.existe(tri_existed->get_noeud1())) && (lst_node_tri510.existe(tri_existed->get_noeud2())) && (lst_node_tri510.existe(tri_existed->get_noeud3()))))
9475  {
9476 
9477  check_to_creat_tetra=2;
9478  }
9479 
9480  else
9481 
9482  {
9483  check_not_to_creat_tetra=3;
9484 
9485  }
9486 
9487  }
9488 
9489 
9490  if((quall13>0.000001) && (check_not_to_creat_tetra!=3))
9491  {
9492  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(5),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9493  check_to_go_further=5;
9494 
9495  qualite_moyenne_3D+=quall13;
9496  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9497  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9498  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
9499 
9500 
9501  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
9502  }
9503 
9504  if((quallo13>0.000001) && (check_not_to_creat_tetra!=3))
9505  {
9506  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(5),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9507  check_to_go_further=5;
9508 
9509  qualite_moyenne_3D+=quallo13;
9510  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9511  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9512  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
9513 
9514  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
9515  }
9516 
9517  if((quall14>0.000001) && (check_not_to_creat_tetra!=3))
9518  {
9519  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(2),tetra_cutt->get_origine()));
9520 
9521  check_to_go_further=5;
9522  qualite_moyenne_3D+=quall14;
9523  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9524  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9525 
9526  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
9527  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
9528  }
9529 
9530  if((quallo14>0.000001) && (check_not_to_creat_tetra!=3))
9531  {
9532  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(2),tetra_cutt->get_origine()));
9533 
9534  check_to_go_further=5;
9535 
9536  qualite_moyenne_3D+=quallo14;
9537  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9538  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9539  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
9540  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
9541  }
9542 
9543  if((quall15>0.000001) && (check_not_to_creat_tetra!=3))
9544  {
9545  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(5),lst_node_in_second.get(4),tetra_cutt->get_origine()));
9546  check_to_go_further=5;
9547  qualite_moyenne_3D+=quall15;
9548  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9549  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9550  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
9551  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
9552  }
9553 
9554  if((quallo15>0.000001) && (check_not_to_creat_tetra!=3))
9555  {
9556 
9557  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(4),tetra_cutt->get_origine()));
9558  check_to_go_further=5;
9559  qualite_moyenne_3D+=quallo15;
9560  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9561  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9562  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
9563  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
9564  }
9565  }
9566 
9567  if ((quall16>0.000001 || quallo16>0.000001) && (quall17>0.000001 || quallo17>0.000001) && (quall18>0.000001 || quallo18>0.000001) && (check_to_go_further==3))
9568  {
9569  check_not_to_creat_tetra=0;
9570  LISTE_MG_TRIANGLE::iterator it_tri_existed;
9571  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
9572 
9573  {
9574 
9575  if(((lst_node_tri61.existe(tri_existed->get_noeud1())) && (lst_node_tri61.existe(tri_existed->get_noeud2())) && (lst_node_tri61.existe(tri_existed->get_noeud3()))) || ((lst_node_tri62.existe(tri_existed->get_noeud1())) && (lst_node_tri62.existe(tri_existed->get_noeud2())) && (lst_node_tri62.existe(tri_existed->get_noeud3()))) || ((lst_node_tri63.existe(tri_existed->get_noeud1())) && (lst_node_tri63.existe(tri_existed->get_noeud2())) && (lst_node_tri63.existe(tri_existed->get_noeud3()))) || ((lst_node_tri64.existe(tri_existed->get_noeud1())) && (lst_node_tri64.existe(tri_existed->get_noeud2())) && (lst_node_tri64.existe(tri_existed->get_noeud3()))) || ((lst_node_tri65.existe(tri_existed->get_noeud1())) && (lst_node_tri65.existe(tri_existed->get_noeud2())) && (lst_node_tri65.existe(tri_existed->get_noeud3()))) || ((lst_node_tri66.existe(tri_existed->get_noeud1())) && (lst_node_tri66.existe(tri_existed->get_noeud2())) && (lst_node_tri66.existe(tri_existed->get_noeud3()))) || ((lst_node_tri67.existe(tri_existed->get_noeud1())) && (lst_node_tri67.existe(tri_existed->get_noeud2())) && (lst_node_tri67.existe(tri_existed->get_noeud3()))) || ((lst_node_tri68.existe(tri_existed->get_noeud1())) && (lst_node_tri68.existe(tri_existed->get_noeud2())) && (lst_node_tri68.existe(tri_existed->get_noeud3()))) || ((lst_node_tri69.existe(tri_existed->get_noeud1())) && (lst_node_tri69.existe(tri_existed->get_noeud2())) && (lst_node_tri69.existe(tri_existed->get_noeud3()))) || ((lst_node_tri610.existe(tri_existed->get_noeud1())) && (lst_node_tri610.existe(tri_existed->get_noeud2())) && (lst_node_tri610.existe(tri_existed->get_noeud3()))))
9576  {
9577 
9578  check_to_creat_tetra=2;
9579  }
9580 
9581 
9582  else
9583 
9584  {
9585  check_not_to_creat_tetra=3;
9586 
9587  }
9588 
9589  }
9590 
9591  if((quall16>0.000001) && (check_not_to_creat_tetra!=3))
9592  {
9593  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9594 
9595  check_to_go_further=5;
9596  qualite_moyenne_3D+=quall16;
9597  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9598  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9599 
9600  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
9601  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
9602  }
9603  if((quallo16>0.000001) && (check_not_to_creat_tetra!=3))
9604  {
9605  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9606 
9607  check_to_go_further=5;
9608  qualite_moyenne_3D+=quallo16;
9609  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9610  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9611  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
9612  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
9613  }
9614  if((quall17>0.000001) && (check_not_to_creat_tetra!=3))
9615  {
9616  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9617  check_to_go_further=5;
9618  qualite_moyenne_3D+=quall17;
9619  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9620  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9621  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
9622  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
9623  }
9624  if((quallo17>0.000001) && (check_not_to_creat_tetra!=3))
9625  {
9626  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(4),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9627  check_to_go_further=5;
9628  qualite_moyenne_3D+=quallo17;
9629 
9630  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9631  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9632 
9633  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
9634  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
9635  }
9636  if((quall18>0.000001) && (check_not_to_creat_tetra!=3))
9637  {
9638  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9639  check_to_go_further=5;
9640  qualite_moyenne_3D+=quall18;
9641  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9642  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9643  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
9644  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
9645  }
9646  if((quallo18>0.000001) && (check_not_to_creat_tetra!=3))
9647  {
9648  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
9649  check_to_go_further=5;
9650  qualite_moyenne_3D+=quallo18;
9651 
9652  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9653  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9654  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
9655  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
9656  }
9657  }
9658  }
9659  }
9660  else
9661  {
9662  //========================================The change of 4 by 6====================================
9663  //============================================Getting the Qualities===============================
9664  //================================================================================================
9665 
9666  quall1=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(6)->get_coord());
9667 
9668  quall2=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord());
9669 
9670  quall3=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
9671 
9672  //----------------------------------------------------
9673  quallo1=OPERATEUR::qualite_tetra(lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(6)->get_coord());
9674 
9675  quallo2=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord());
9676 
9677  quallo3=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
9678 
9679  lst_node_tri11.ajouter(lst_node_in_second.get(5));
9680  lst_node_tri11.ajouter(lst_node_in_second.get(1));
9681  lst_node_tri11.ajouter(lst_node_in_second.get(4));
9682 
9683  lst_node_tri12.ajouter(lst_node_in_second.get(1));
9684  lst_node_tri12.ajouter(lst_node_in_second.get(4));
9685  lst_node_tri12.ajouter(lst_node_in_second.get(6));
9686 
9687  lst_node_tri13.ajouter(lst_node_in_second.get(1));
9688  lst_node_tri13.ajouter(lst_node_in_second.get(5));
9689  lst_node_tri13.ajouter(lst_node_in_second.get(6));
9690 
9691  lst_node_tri14.ajouter(lst_node_in_second.get(4));
9692  lst_node_tri14.ajouter(lst_node_in_second.get(5));
9693  lst_node_tri14.ajouter(lst_node_in_second.get(6));
9694 
9695  lst_node_tri15.ajouter(lst_node_in_second.get(0));
9696  lst_node_tri15.ajouter(lst_node_in_second.get(1));
9697  lst_node_tri15.ajouter(lst_node_in_second.get(2));
9698 
9699  lst_node_tri16.ajouter(lst_node_in_second.get(0));
9700  lst_node_tri16.ajouter(lst_node_in_second.get(1));
9701  lst_node_tri16.ajouter(lst_node_in_second.get(4));
9702 
9703  lst_node_tri17.ajouter(lst_node_in_second.get(0));
9704  lst_node_tri17.ajouter(lst_node_in_second.get(2));
9705  lst_node_tri17.ajouter(lst_node_in_second.get(4));
9706 
9707  lst_node_tri18.ajouter(lst_node_in_second.get(1));
9708  lst_node_tri18.ajouter(lst_node_in_second.get(2));
9709  lst_node_tri18.ajouter(lst_node_in_second.get(4));
9710 
9711  lst_node_tri19.ajouter(lst_node_in_second.get(1));
9712  lst_node_tri19.ajouter(lst_node_in_second.get(6));
9713  lst_node_tri19.ajouter(lst_node_in_second.get(0));
9714 
9715  lst_node_tri110.ajouter(lst_node_in_second.get(0));
9716  lst_node_tri110.ajouter(lst_node_in_second.get(4));
9717  lst_node_tri110.ajouter(lst_node_in_second.get(6));
9718 
9719  //----------------------------------------------------
9720  //----------------------------------------------------
9721  quall4=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(6)->get_coord());
9722 
9723  quall5=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(6)->get_coord());
9724 
9725  quall6=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
9726 
9727  //----------------------------------------------------
9728  quallo4=OPERATEUR::qualite_tetra(lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(6)->get_coord());
9729 
9730  quallo5=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(6)->get_coord());
9731 
9732  quallo6=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
9733 
9734  lst_node_tri21.ajouter(lst_node_in_second.get(1));
9735  lst_node_tri21.ajouter(lst_node_in_second.get(4));
9736  lst_node_tri21.ajouter(lst_node_in_second.get(5));
9737 
9738  lst_node_tri22.ajouter(lst_node_in_second.get(1));
9739  lst_node_tri22.ajouter(lst_node_in_second.get(4));
9740  lst_node_tri22.ajouter(lst_node_in_second.get(6));
9741 
9742  lst_node_tri23.ajouter(lst_node_in_second.get(1));
9743  lst_node_tri23.ajouter(lst_node_in_second.get(5));
9744  lst_node_tri23.ajouter(lst_node_in_second.get(6));
9745 
9746  lst_node_tri24.ajouter(lst_node_in_second.get(4));
9747  lst_node_tri24.ajouter(lst_node_in_second.get(5));
9748  lst_node_tri24.ajouter(lst_node_in_second.get(6));
9749 
9750  lst_node_tri25.ajouter(lst_node_in_second.get(0));
9751  lst_node_tri25.ajouter(lst_node_in_second.get(1));
9752  lst_node_tri25.ajouter(lst_node_in_second.get(2));
9753 
9754  lst_node_tri26.ajouter(lst_node_in_second.get(0));
9755  lst_node_tri26.ajouter(lst_node_in_second.get(1));
9756  lst_node_tri26.ajouter(lst_node_in_second.get(6));
9757 
9758  lst_node_tri27.ajouter(lst_node_in_second.get(0));
9759  lst_node_tri27.ajouter(lst_node_in_second.get(2));
9760  lst_node_tri27.ajouter(lst_node_in_second.get(6));
9761 
9762  lst_node_tri28.ajouter(lst_node_in_second.get(1));
9763  lst_node_tri28.ajouter(lst_node_in_second.get(2));
9764  lst_node_tri28.ajouter(lst_node_in_second.get(6));
9765 
9766  lst_node_tri29.ajouter(lst_node_in_second.get(1));
9767  lst_node_tri29.ajouter(lst_node_in_second.get(2));
9768  lst_node_tri29.ajouter(lst_node_in_second.get(4));
9769 
9770  lst_node_tri210.ajouter(lst_node_in_second.get(2));
9771  lst_node_tri210.ajouter(lst_node_in_second.get(4));
9772  lst_node_tri210.ajouter(lst_node_in_second.get(6));
9773  //----------------------------------------------------
9774  //----------------------------------------------------
9775  quall7=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
9776 
9777  quall8=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(6)->get_coord());
9778 
9779  quall9=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(6)->get_coord());
9780 
9781  //----------------------------------------------------
9782  quallo7=OPERATEUR::qualite_tetra(lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
9783 
9784  quallo8=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(6)->get_coord());
9785 
9786  quallo9=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(6)->get_coord());
9787 
9788  lst_node_tri31.ajouter(lst_node_in_second.get(5));
9789  lst_node_tri31.ajouter(lst_node_in_second.get(2));
9790  lst_node_tri31.ajouter(lst_node_in_second.get(4));
9791 
9792  lst_node_tri32.ajouter(lst_node_in_second.get(2));
9793  lst_node_tri32.ajouter(lst_node_in_second.get(5));
9794  lst_node_tri32.ajouter(lst_node_in_second.get(6));
9795 
9796  lst_node_tri33.ajouter(lst_node_in_second.get(2));
9797  lst_node_tri33.ajouter(lst_node_in_second.get(4));
9798  lst_node_tri33.ajouter(lst_node_in_second.get(6));
9799 
9800  lst_node_tri34.ajouter(lst_node_in_second.get(5));
9801  lst_node_tri34.ajouter(lst_node_in_second.get(4));
9802  lst_node_tri34.ajouter(lst_node_in_second.get(6));
9803 
9804  lst_node_tri35.ajouter(lst_node_in_second.get(2));
9805  lst_node_tri35.ajouter(lst_node_in_second.get(1));
9806  lst_node_tri35.ajouter(lst_node_in_second.get(5));
9807 
9808  lst_node_tri36.ajouter(lst_node_in_second.get(2));
9809  lst_node_tri36.ajouter(lst_node_in_second.get(1));
9810  lst_node_tri36.ajouter(lst_node_in_second.get(6));
9811 
9812  lst_node_tri37.ajouter(lst_node_in_second.get(1));
9813  lst_node_tri37.ajouter(lst_node_in_second.get(5));
9814  lst_node_tri37.ajouter(lst_node_in_second.get(6));
9815 
9816  lst_node_tri38.ajouter(lst_node_in_second.get(0));
9817  lst_node_tri38.ajouter(lst_node_in_second.get(1));
9818  lst_node_tri38.ajouter(lst_node_in_second.get(2));
9819 
9820  lst_node_tri39.ajouter(lst_node_in_second.get(0));
9821  lst_node_tri39.ajouter(lst_node_in_second.get(2));
9822  lst_node_tri39.ajouter(lst_node_in_second.get(6));
9823 
9824  lst_node_tri310.ajouter(lst_node_in_second.get(0));
9825  lst_node_tri310.ajouter(lst_node_in_second.get(1));
9826  lst_node_tri310.ajouter(lst_node_in_second.get(6));
9827  //----------------------------------------------------
9828  //----------------------------------------------------
9829  quall10=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(6)->get_coord());
9830 
9831  quall11=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(2)->get_coord());
9832 
9833  quall12=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord());
9834 
9835 
9836  //----------------------------------------------------
9837  quallo10=OPERATEUR::qualite_tetra(lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(6)->get_coord());
9838 
9839  quallo11=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(2)->get_coord());
9840 
9841  quallo12=OPERATEUR::qualite_tetra(lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord());
9842 
9843  lst_node_tri41.ajouter(lst_node_in_second.get(0));
9844  lst_node_tri41.ajouter(lst_node_in_second.get(4));
9845  lst_node_tri41.ajouter(lst_node_in_second.get(5));
9846 
9847  lst_node_tri48.ajouter(lst_node_in_second.get(0));
9848  lst_node_tri48.ajouter(lst_node_in_second.get(4));
9849  lst_node_tri48.ajouter(lst_node_in_second.get(6));
9850 
9851 
9852  lst_node_tri42.ajouter(lst_node_in_second.get(0));
9853  lst_node_tri42.ajouter(lst_node_in_second.get(5));
9854  lst_node_tri42.ajouter(lst_node_in_second.get(6));
9855 
9856  lst_node_tri43.ajouter(lst_node_in_second.get(4));
9857  lst_node_tri43.ajouter(lst_node_in_second.get(5));
9858  lst_node_tri43.ajouter(lst_node_in_second.get(6));
9859 
9860  lst_node_tri44.ajouter(lst_node_in_second.get(0));
9861  lst_node_tri44.ajouter(lst_node_in_second.get(1));
9862  lst_node_tri44.ajouter(lst_node_in_second.get(5));
9863 
9864  lst_node_tri45.ajouter(lst_node_in_second.get(0));
9865  lst_node_tri45.ajouter(lst_node_in_second.get(1));
9866  lst_node_tri45.ajouter(lst_node_in_second.get(2));
9867 
9868  lst_node_tri46.ajouter(lst_node_in_second.get(0));
9869  lst_node_tri46.ajouter(lst_node_in_second.get(5));
9870  lst_node_tri46.ajouter(lst_node_in_second.get(2));
9871 
9872  lst_node_tri47.ajouter(lst_node_in_second.get(1));
9873  lst_node_tri47.ajouter(lst_node_in_second.get(5));
9874  lst_node_tri47.ajouter(lst_node_in_second.get(2));
9875 
9876  lst_node_tri49.ajouter(lst_node_in_second.get(0));
9877  lst_node_tri49.ajouter(lst_node_in_second.get(2));
9878  lst_node_tri49.ajouter(lst_node_in_second.get(4));
9879 
9880  lst_node_tri410.ajouter(lst_node_in_second.get(5));
9881  lst_node_tri410.ajouter(lst_node_in_second.get(2));
9882  lst_node_tri410.ajouter(lst_node_in_second.get(4));
9883  //----------------------------------------------------
9884  //----------------------------------------------------
9885  quall13=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
9886 
9887  quall14=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(2)->get_coord());
9888 
9889  quall15=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(6)->get_coord());
9890 
9891 
9892  //----------------------------------------------------
9893  quallo13=OPERATEUR::qualite_tetra(lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
9894 
9895  quallo14=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(2)->get_coord());
9896 
9897  quallo15=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(6)->get_coord());
9898 
9899  lst_node_tri51.ajouter(lst_node_in_second.get(5));
9900  lst_node_tri51.ajouter(lst_node_in_second.get(2));
9901  lst_node_tri51.ajouter(lst_node_in_second.get(4));
9902 
9903  lst_node_tri52.ajouter(lst_node_in_second.get(2));
9904  lst_node_tri52.ajouter(lst_node_in_second.get(5));
9905  lst_node_tri52.ajouter(lst_node_in_second.get(6));
9906 
9907  lst_node_tri53.ajouter(lst_node_in_second.get(2));
9908  lst_node_tri53.ajouter(lst_node_in_second.get(4));
9909  lst_node_tri53.ajouter(lst_node_in_second.get(6));
9910 
9911  lst_node_tri54.ajouter(lst_node_in_second.get(5));
9912  lst_node_tri54.ajouter(lst_node_in_second.get(4));
9913  lst_node_tri54.ajouter(lst_node_in_second.get(6));
9914 
9915  lst_node_tri55.ajouter(lst_node_in_second.get(1));
9916  lst_node_tri55.ajouter(lst_node_in_second.get(0));
9917  lst_node_tri55.ajouter(lst_node_in_second.get(5));
9918 
9919  lst_node_tri56.ajouter(lst_node_in_second.get(0));
9920  lst_node_tri56.ajouter(lst_node_in_second.get(1));
9921  lst_node_tri56.ajouter(lst_node_in_second.get(2));
9922 
9923  lst_node_tri57.ajouter(lst_node_in_second.get(0));
9924  lst_node_tri57.ajouter(lst_node_in_second.get(5));
9925  lst_node_tri57.ajouter(lst_node_in_second.get(2));
9926 
9927  lst_node_tri58.ajouter(lst_node_in_second.get(1));
9928  lst_node_tri58.ajouter(lst_node_in_second.get(5));
9929  lst_node_tri58.ajouter(lst_node_in_second.get(2));
9930 
9931  lst_node_tri59.ajouter(lst_node_in_second.get(0));
9932  lst_node_tri59.ajouter(lst_node_in_second.get(6));
9933  lst_node_tri59.ajouter(lst_node_in_second.get(5));
9934 
9935  lst_node_tri510.ajouter(lst_node_in_second.get(0));
9936  lst_node_tri510.ajouter(lst_node_in_second.get(2));
9937  lst_node_tri510.ajouter(lst_node_in_second.get(6));
9938 
9939  //----------------------------------------------------
9940  //----------------------------------------------------
9941  quall16=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord());
9942 
9943  quall17=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(6)->get_coord());
9944 
9945  quall18=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(4)->get_coord());
9946 
9947  //----------------------------------------------------
9948  quallo16=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord());
9949 
9950  quallo17=OPERATEUR::qualite_tetra(lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(6)->get_coord());
9951 
9952  quallo18=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(5)->get_coord(),lst_node_in_second.get(4)->get_coord());
9953 
9954  lst_node_tri61.ajouter(lst_node_in_second.get(0));
9955  lst_node_tri61.ajouter(lst_node_in_second.get(1));
9956  lst_node_tri61.ajouter(lst_node_in_second.get(2));
9957 
9958  lst_node_tri62.ajouter(lst_node_in_second.get(0));
9959  lst_node_tri62.ajouter(lst_node_in_second.get(1));
9960  lst_node_tri62.ajouter(lst_node_in_second.get(4));
9961 
9962  lst_node_tri63.ajouter(lst_node_in_second.get(0));
9963  lst_node_tri63.ajouter(lst_node_in_second.get(2));
9964  lst_node_tri63.ajouter(lst_node_in_second.get(4));
9965 
9966  lst_node_tri64.ajouter(lst_node_in_second.get(1));
9967  lst_node_tri64.ajouter(lst_node_in_second.get(4));
9968  lst_node_tri64.ajouter(lst_node_in_second.get(2));
9969 
9970  lst_node_tri65.ajouter(lst_node_in_second.get(0));
9971  lst_node_tri65.ajouter(lst_node_in_second.get(4));
9972  lst_node_tri65.ajouter(lst_node_in_second.get(5));
9973 
9974  lst_node_tri66.ajouter(lst_node_in_second.get(0));
9975  lst_node_tri66.ajouter(lst_node_in_second.get(4));
9976  lst_node_tri66.ajouter(lst_node_in_second.get(6));
9977 
9978  lst_node_tri67.ajouter(lst_node_in_second.get(4));
9979  lst_node_tri67.ajouter(lst_node_in_second.get(5));
9980  lst_node_tri67.ajouter(lst_node_in_second.get(6));
9981 
9982  lst_node_tri68.ajouter(lst_node_in_second.get(0));
9983  lst_node_tri68.ajouter(lst_node_in_second.get(5));
9984  lst_node_tri68.ajouter(lst_node_in_second.get(6));
9985 
9986  lst_node_tri69.ajouter(lst_node_in_second.get(0));
9987  lst_node_tri69.ajouter(lst_node_in_second.get(5));
9988  lst_node_tri69.ajouter(lst_node_in_second.get(1));
9989 
9990  lst_node_tri610.ajouter(lst_node_in_second.get(1));
9991  lst_node_tri610.ajouter(lst_node_in_second.get(4));
9992  lst_node_tri610.ajouter(lst_node_in_second.get(5));
9993  //----------------------------------------------------
9994  //----------------------------------------------------
9995  if (((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001) && (quall3>0.001 || quallo3>0.001)) && ((quall4+quallo4+quall5+quallo5+quall6+quallo6)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)) && ((quall7+ quallo7+quall8+quallo8+quall9+quallo9)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)) && ((quall10+ quallo10+quall12+ quallo12+quall11+ quallo11)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)) && ((quall13+quallo13+quall14+quallo14+quall15+ quallo15)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)))
9996 
9997  {
9998  check_not_to_creat_tetra=0;
9999  LISTE_MG_TRIANGLE::iterator it_tri_existed;
10000  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
10001 
10002  {
10003 
10004  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))) || ((lst_node_tri18.existe(tri_existed->get_noeud1())) && (lst_node_tri18.existe(tri_existed->get_noeud2())) && (lst_node_tri18.existe(tri_existed->get_noeud3()))) || ((lst_node_tri19.existe(tri_existed->get_noeud1())) && (lst_node_tri19.existe(tri_existed->get_noeud2())) && (lst_node_tri19.existe(tri_existed->get_noeud3()))) || ((lst_node_tri110.existe(tri_existed->get_noeud1())) && (lst_node_tri110.existe(tri_existed->get_noeud2())) && (lst_node_tri110.existe(tri_existed->get_noeud3()))))
10005  {
10006 
10007  check_to_creat_tetra=2;
10008  }
10009 
10010 
10011  else
10012 
10013  {
10014  check_not_to_creat_tetra=3;
10015 
10016  }
10017 
10018  }
10019 
10020 
10021  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
10022  {
10023  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10024  check_to_go_further=5;
10025  qualite_moyenne_3D+=quall1;
10026  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10027  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10028  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
10029  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
10030  }
10031 
10032  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
10033  {
10034  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(4),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10035  check_to_go_further=5;
10036  qualite_moyenne_3D+=quallo1;
10037  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
10038  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
10039  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10040  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10041  }
10042 
10043  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
10044  {
10045  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
10046  check_to_go_further=5;
10047 
10048  qualite_moyenne_3D+=quall2;
10049  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
10050  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
10051 
10052  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10053  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10054  }
10055  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
10056  {
10057  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
10058  check_to_go_further=5;
10059 
10060  qualite_moyenne_3D+=quallo2;
10061  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
10062  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
10063 
10064  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10065  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10066  }
10067 
10068  if ((quall3>0.00001) && (check_not_to_creat_tetra!=3))
10069  {
10070  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10071 
10072  check_to_go_further=5;
10073 
10074  qualite_moyenne_3D+=quall3;
10075  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
10076  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
10077  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10078  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10079  }
10080  if ((quallo3>0.00001) && (check_not_to_creat_tetra!=3))
10081 
10082  {
10083  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10084  check_to_go_further=5;
10085  qualite_moyenne_3D+=quallo3;
10086  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
10087  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
10088  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10089  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10090  }
10091 
10092  }
10093  if (((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (quall6>0.001 || quallo6>0.001)) && (check_to_go_further==3) && ((quall7+ quallo7+quall8+quallo8+quall9+quallo9)<(quall4+quallo4+quall5+quallo5+quall6+quallo6)) && ((quall10+ quallo10+quall12+ quallo12+quall11+ quallo11)<(quall4+quallo4+quall5+quallo5+quall6+quallo6)) && ((quall13+quallo13+quall14+quallo14+quall15+ quallo15)<(quall4+quallo4+quall5+quallo5+quall6+quallo6)) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall4+quallo4+quall5+quallo5+quall6+quallo6)))
10094  {
10095  check_not_to_creat_tetra=0;
10096  LISTE_MG_TRIANGLE::iterator it_tri_existed;
10097  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
10098 
10099  {
10100 
10101  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))) || ((lst_node_tri28.existe(tri_existed->get_noeud1())) && (lst_node_tri28.existe(tri_existed->get_noeud2())) && (lst_node_tri28.existe(tri_existed->get_noeud3()))) || ((lst_node_tri29.existe(tri_existed->get_noeud1())) && (lst_node_tri29.existe(tri_existed->get_noeud2())) && (lst_node_tri29.existe(tri_existed->get_noeud3()))) || ((lst_node_tri210.existe(tri_existed->get_noeud1())) && (lst_node_tri210.existe(tri_existed->get_noeud2())) && (lst_node_tri210.existe(tri_existed->get_noeud3()))))
10102  {
10103 
10104  check_to_creat_tetra=2;
10105  }
10106 
10107  else
10108 
10109  {
10110  check_not_to_creat_tetra=3;
10111 
10112  }
10113 
10114  }
10115 
10116  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
10117  {
10118  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10119  check_to_go_further=5;
10120  qualite_moyenne_3D+=quall4;
10121  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10122  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10123  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
10124  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
10125  }
10126 
10127  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
10128  {
10129  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10130  check_to_go_further=5;
10131  qualite_moyenne_3D+=quall5;
10132  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10133  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10134  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
10135 
10136  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
10137 
10138  }
10139 
10140  if((quall6>0.00001) && (check_not_to_creat_tetra!=3))
10141  {
10142  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10143  check_to_go_further=5;
10144 
10145  qualite_moyenne_3D+=quall6;
10146  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10147  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10148  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
10149  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
10150 
10151  }
10152  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
10153  {
10154  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(4),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10155  check_to_go_further=5;
10156  qualite_moyenne_3D+=quallo4;
10157  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10158  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10159  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
10160  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
10161 
10162  }
10163 
10164  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
10165  {
10166  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10167  check_to_go_further=5;
10168  qualite_moyenne_3D+=quallo5;
10169  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10170  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10171  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
10172  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
10173 
10174  }
10175 
10176  if((quallo6>0.00001) && (check_not_to_creat_tetra!=3))
10177  {
10178  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10179  check_to_go_further=5;
10180  qualite_moyenne_3D+=quallo6;
10181  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10182  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10183  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
10184  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
10185 
10186  }
10187  }
10188  if (((quall7>0.001 || quallo7>0.001) && (quall8>0.001 || quallo8>0.001) && (quall9>0.001 || quallo9>0.001)) && (check_to_go_further==3) && ((quall10+ quallo10+quall12+ quallo12+quall11+ quallo11)<(quall7+quallo7+quall8+quallo8+quall9+quallo9)) && ((quall13+quallo13+quall14+quallo14+quall15+ quallo15)<(quall7+quallo7+quall8+quallo8+quall9+quallo9)) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall7+quallo7+quall8+quallo8+quall9+quallo9)))
10189  {
10190  check_not_to_creat_tetra=0;
10191  LISTE_MG_TRIANGLE::iterator it_tri_existed;
10192  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
10193 
10194  {
10195 
10196  if(((lst_node_tri31.existe(tri_existed->get_noeud1())) && (lst_node_tri31.existe(tri_existed->get_noeud2())) && (lst_node_tri31.existe(tri_existed->get_noeud3()))) || ((lst_node_tri32.existe(tri_existed->get_noeud1())) && (lst_node_tri32.existe(tri_existed->get_noeud2())) && (lst_node_tri32.existe(tri_existed->get_noeud3()))) || ((lst_node_tri33.existe(tri_existed->get_noeud1())) && (lst_node_tri33.existe(tri_existed->get_noeud2())) && (lst_node_tri33.existe(tri_existed->get_noeud3()))) || ((lst_node_tri34.existe(tri_existed->get_noeud1())) && (lst_node_tri34.existe(tri_existed->get_noeud2())) && (lst_node_tri34.existe(tri_existed->get_noeud3()))) || ((lst_node_tri35.existe(tri_existed->get_noeud1())) && (lst_node_tri35.existe(tri_existed->get_noeud2())) && (lst_node_tri35.existe(tri_existed->get_noeud3()))) || ((lst_node_tri36.existe(tri_existed->get_noeud1())) && (lst_node_tri36.existe(tri_existed->get_noeud2())) && (lst_node_tri36.existe(tri_existed->get_noeud3()))) || ((lst_node_tri37.existe(tri_existed->get_noeud1())) && (lst_node_tri37.existe(tri_existed->get_noeud2())) && (lst_node_tri37.existe(tri_existed->get_noeud3()))) || ((lst_node_tri38.existe(tri_existed->get_noeud1())) && (lst_node_tri38.existe(tri_existed->get_noeud2())) && (lst_node_tri38.existe(tri_existed->get_noeud3()))) || ((lst_node_tri39.existe(tri_existed->get_noeud1())) && (lst_node_tri39.existe(tri_existed->get_noeud2())) && (lst_node_tri39.existe(tri_existed->get_noeud3()))) || ((lst_node_tri310.existe(tri_existed->get_noeud1())) && (lst_node_tri310.existe(tri_existed->get_noeud2())) && (lst_node_tri310.existe(tri_existed->get_noeud3()))))
10197  {
10198 
10199  check_to_creat_tetra=2;
10200  }
10201 
10202  else
10203 
10204  {
10205  check_not_to_creat_tetra=3;
10206 
10207  }
10208 
10209  }
10210 
10211  if((quall7>0.00001) && (check_not_to_creat_tetra!=3))
10212  {
10213  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(5),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10214  check_to_go_further=5;
10215  qualite_moyenne_3D+=quall7;
10216  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10217  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10218 
10219  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
10220 
10221  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
10222  }
10223 
10224  if((quallo7>0.00001) && (check_not_to_creat_tetra!=3))
10225 
10226  {
10227  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(5),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10228  check_to_go_further=5;
10229  qualite_moyenne_3D+=quallo7;
10230  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10231  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10232 
10233  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
10234  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
10235  }
10236 
10237  if((quall8>0.00001) && (check_not_to_creat_tetra!=3))
10238  {
10239  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10240  check_to_go_further=5;
10241  qualite_moyenne_3D+=quall8;
10242  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10243  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10244  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
10245 
10246  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
10247 
10248  }
10249 
10250  if((quallo8>0.00001) && (check_not_to_creat_tetra!=3))
10251  {
10252  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10253  check_to_go_further=5;
10254  qualite_moyenne_3D+=quallo8;
10255  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10256  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10257  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
10258  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
10259 
10260  }
10261 
10262  if((quall9>0.00001) && (check_not_to_creat_tetra!=3))
10263  {
10264  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10265  check_to_go_further=5;
10266 
10267  qualite_moyenne_3D+=quall9;
10268  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10269  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10270  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
10271  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
10272  }
10273 
10274  if((quallo9>0.00001) && (check_not_to_creat_tetra!=3))
10275  {
10276  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10277  check_to_go_further=5;
10278  qualite_moyenne_3D+=quallo9;
10279  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10280  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10281  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
10282  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
10283  }
10284  }
10285  if (((quall10>0.001 || quallo10>0.001) && (quall11>0.001 || quallo11>0.001) && (quall12>0.001 || quallo12>0.001)) && (check_to_go_further==3) && ((quall13+quallo13+quall14+quallo14+quall15+ quallo15)<(quall10+quallo10+quall11+quallo11+quall12+quallo12)) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall10+quallo10+quall11+quallo11+quall12+quallo12)))
10286  {
10287  check_not_to_creat_tetra=0;
10288  LISTE_MG_TRIANGLE::iterator it_tri_existed;
10289  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
10290  {
10291  if(((lst_node_tri41.existe(tri_existed->get_noeud1())) && (lst_node_tri41.existe(tri_existed->get_noeud2())) && (lst_node_tri41.existe(tri_existed->get_noeud3()))) || ((lst_node_tri42.existe(tri_existed->get_noeud1())) && (lst_node_tri42.existe(tri_existed->get_noeud2())) && (lst_node_tri42.existe(tri_existed->get_noeud3()))) || ((lst_node_tri43.existe(tri_existed->get_noeud1())) && (lst_node_tri43.existe(tri_existed->get_noeud2())) && (lst_node_tri43.existe(tri_existed->get_noeud3()))) || ((lst_node_tri44.existe(tri_existed->get_noeud1())) && (lst_node_tri44.existe(tri_existed->get_noeud2())) && (lst_node_tri44.existe(tri_existed->get_noeud3()))) || ((lst_node_tri45.existe(tri_existed->get_noeud1())) && (lst_node_tri45.existe(tri_existed->get_noeud2())) && (lst_node_tri45.existe(tri_existed->get_noeud3()))) || ((lst_node_tri46.existe(tri_existed->get_noeud1())) && (lst_node_tri46.existe(tri_existed->get_noeud2())) && (lst_node_tri46.existe(tri_existed->get_noeud3()))) || ((lst_node_tri47.existe(tri_existed->get_noeud1())) && (lst_node_tri47.existe(tri_existed->get_noeud2())) && (lst_node_tri47.existe(tri_existed->get_noeud3()))) || ((lst_node_tri48.existe(tri_existed->get_noeud1())) && (lst_node_tri48.existe(tri_existed->get_noeud2())) && (lst_node_tri48.existe(tri_existed->get_noeud3()))) || ((lst_node_tri49.existe(tri_existed->get_noeud1())) && (lst_node_tri49.existe(tri_existed->get_noeud2())) && (lst_node_tri49.existe(tri_existed->get_noeud3()))) || ((lst_node_tri410.existe(tri_existed->get_noeud1())) && (lst_node_tri410.existe(tri_existed->get_noeud2())) && (lst_node_tri410.existe(tri_existed->get_noeud3()))))
10292  {
10293 
10294  check_to_creat_tetra=2;
10295 
10296  }
10297 
10298  else
10299 
10300  {
10301  check_not_to_creat_tetra=3;
10302 
10303  }
10304 
10305  }
10306 
10307  if((quall10>0.00001) && (check_not_to_creat_tetra!=3))
10308  {
10309  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10310 
10311  check_to_go_further=5;
10312 
10313 
10314  qualite_moyenne_3D+=quall10;
10315  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10316  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10317  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
10318  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
10319  }
10320  if((quallo10>0.00001) && (check_not_to_creat_tetra!=3))
10321  {
10322  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(4),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10323 
10324  check_to_go_further=5;
10325 
10326 
10327  qualite_moyenne_3D+=quallo10;
10328  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10329  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10330  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
10331  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
10332  }
10333 
10334  if((quall11>0.00001) && (check_not_to_creat_tetra!=3))
10335  {
10336  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(2),tetra_cutt->get_origine()));
10337  check_to_go_further=5;
10338  qualite_moyenne_3D+=quall11;
10339  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10340  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10341  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
10342  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
10343  }
10344  if((quallo11>0.00001) && (check_not_to_creat_tetra!=3))
10345  {
10346  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(2),tetra_cutt->get_origine()));
10347 
10348  check_to_go_further=5;
10349  qualite_moyenne_3D+=quallo11;
10350 
10351  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10352  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10353  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
10354  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
10355  }
10356  if((quall12>0.00001) && (check_not_to_creat_tetra!=3))
10357  {
10358  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
10359  check_to_go_further=5;
10360  qualite_moyenne_3D+=quall12;
10361  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10362  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10363  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
10364  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
10365  }
10366  if((quallo12>0.00001) && (check_not_to_creat_tetra!=3))
10367 
10368  {
10369  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(5),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
10370  check_to_go_further=5;
10371  qualite_moyenne_3D+=quallo12;
10372  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10373  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10374  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
10375  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
10376  }
10377  }
10378  if (((quall13>0.001 || quallo13>0.001) && (quall14>0.001 || quallo14>0.001) && (quall15>0.001 || quallo15>0.001)) && (check_to_go_further==3) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall13+quallo13+quall14+quallo14+quall15+quallo15)))
10379  {
10380  check_not_to_creat_tetra=0;
10381  LISTE_MG_TRIANGLE::iterator it_tri_existed;
10382  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
10383 
10384  {
10385 
10386  if(((lst_node_tri51.existe(tri_existed->get_noeud1())) && (lst_node_tri51.existe(tri_existed->get_noeud2())) && (lst_node_tri51.existe(tri_existed->get_noeud3()))) || ((lst_node_tri52.existe(tri_existed->get_noeud1())) && (lst_node_tri52.existe(tri_existed->get_noeud2())) && (lst_node_tri52.existe(tri_existed->get_noeud3()))) || ((lst_node_tri53.existe(tri_existed->get_noeud1())) && (lst_node_tri53.existe(tri_existed->get_noeud2())) && (lst_node_tri53.existe(tri_existed->get_noeud3()))) || ((lst_node_tri54.existe(tri_existed->get_noeud1())) && (lst_node_tri54.existe(tri_existed->get_noeud2())) && (lst_node_tri54.existe(tri_existed->get_noeud3()))) || ((lst_node_tri55.existe(tri_existed->get_noeud1())) && (lst_node_tri55.existe(tri_existed->get_noeud2())) && (lst_node_tri55.existe(tri_existed->get_noeud3()))) || ((lst_node_tri56.existe(tri_existed->get_noeud1())) && (lst_node_tri56.existe(tri_existed->get_noeud2())) && (lst_node_tri56.existe(tri_existed->get_noeud3()))) || ((lst_node_tri57.existe(tri_existed->get_noeud1())) && (lst_node_tri57.existe(tri_existed->get_noeud2())) && (lst_node_tri57.existe(tri_existed->get_noeud3()))) || ((lst_node_tri58.existe(tri_existed->get_noeud1())) && (lst_node_tri58.existe(tri_existed->get_noeud2())) && (lst_node_tri58.existe(tri_existed->get_noeud3()))) || ((lst_node_tri59.existe(tri_existed->get_noeud1())) && (lst_node_tri59.existe(tri_existed->get_noeud2())) && (lst_node_tri59.existe(tri_existed->get_noeud3()))) || ((lst_node_tri510.existe(tri_existed->get_noeud1())) && (lst_node_tri510.existe(tri_existed->get_noeud2())) && (lst_node_tri510.existe(tri_existed->get_noeud3()))))
10387  {
10388 
10389  check_to_creat_tetra=2;
10390  }
10391 
10392  else
10393 
10394  {
10395  check_not_to_creat_tetra=3;
10396 
10397  }
10398 
10399  }
10400 
10401 
10402  if((quall13>0.00001) && (check_not_to_creat_tetra!=3))
10403  {
10404  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(5),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10405  check_to_go_further=5;
10406 
10407  qualite_moyenne_3D+=quall13;
10408  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10409  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10410  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
10411 
10412 
10413  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
10414  }
10415 
10416  if((quallo13>0.00001) && (check_not_to_creat_tetra!=3))
10417  {
10418  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(5),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10419  check_to_go_further=5;
10420 
10421  qualite_moyenne_3D+=quallo13;
10422  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10423  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10424  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
10425 
10426  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
10427  }
10428 
10429  if((quall14>0.00001) && (check_not_to_creat_tetra!=3))
10430  {
10431  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(2),tetra_cutt->get_origine()));
10432 
10433  check_to_go_further=5;
10434  qualite_moyenne_3D+=quall14;
10435  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10436  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10437 
10438  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
10439  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
10440  }
10441 
10442  if((quallo14>0.00001) && (check_not_to_creat_tetra!=3))
10443  {
10444  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(2),tetra_cutt->get_origine()));
10445 
10446  check_to_go_further=5;
10447 
10448  qualite_moyenne_3D+=quallo14;
10449  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10450  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10451  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
10452  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
10453  }
10454 
10455  if((quall15>0.00001) && (check_not_to_creat_tetra!=3))
10456  {
10457  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10458  check_to_go_further=5;
10459  qualite_moyenne_3D+=quall15;
10460  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10461  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10462  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
10463  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
10464  }
10465 
10466  if((quallo15>0.00001) && (check_not_to_creat_tetra!=3))
10467  {
10468 
10469  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10470  check_to_go_further=5;
10471  qualite_moyenne_3D+=quallo15;
10472  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10473  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10474  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
10475  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
10476  }
10477  }
10478 
10479  if ((quall16>0.001 || quallo16>0.001) && (quall17>0.001 || quallo17>0.001) && (quall18>0.001 || quallo18>0.001) && (check_to_go_further==3))
10480  {
10481  check_not_to_creat_tetra=0;
10482  LISTE_MG_TRIANGLE::iterator it_tri_existed;
10483  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
10484 
10485  {
10486 
10487  if(((lst_node_tri61.existe(tri_existed->get_noeud1())) && (lst_node_tri61.existe(tri_existed->get_noeud2())) && (lst_node_tri61.existe(tri_existed->get_noeud3()))) || ((lst_node_tri62.existe(tri_existed->get_noeud1())) && (lst_node_tri62.existe(tri_existed->get_noeud2())) && (lst_node_tri62.existe(tri_existed->get_noeud3()))) || ((lst_node_tri63.existe(tri_existed->get_noeud1())) && (lst_node_tri63.existe(tri_existed->get_noeud2())) && (lst_node_tri63.existe(tri_existed->get_noeud3()))) || ((lst_node_tri64.existe(tri_existed->get_noeud1())) && (lst_node_tri64.existe(tri_existed->get_noeud2())) && (lst_node_tri64.existe(tri_existed->get_noeud3()))) || ((lst_node_tri65.existe(tri_existed->get_noeud1())) && (lst_node_tri65.existe(tri_existed->get_noeud2())) && (lst_node_tri65.existe(tri_existed->get_noeud3()))) || ((lst_node_tri66.existe(tri_existed->get_noeud1())) && (lst_node_tri66.existe(tri_existed->get_noeud2())) && (lst_node_tri66.existe(tri_existed->get_noeud3()))) || ((lst_node_tri67.existe(tri_existed->get_noeud1())) && (lst_node_tri67.existe(tri_existed->get_noeud2())) && (lst_node_tri67.existe(tri_existed->get_noeud3()))) || ((lst_node_tri68.existe(tri_existed->get_noeud1())) && (lst_node_tri68.existe(tri_existed->get_noeud2())) && (lst_node_tri68.existe(tri_existed->get_noeud3()))) || ((lst_node_tri69.existe(tri_existed->get_noeud1())) && (lst_node_tri69.existe(tri_existed->get_noeud2())) && (lst_node_tri69.existe(tri_existed->get_noeud3()))) || ((lst_node_tri610.existe(tri_existed->get_noeud1())) && (lst_node_tri610.existe(tri_existed->get_noeud2())) && (lst_node_tri610.existe(tri_existed->get_noeud3()))))
10488  {
10489 
10490  check_to_creat_tetra=2;
10491  }
10492 
10493 
10494  else
10495 
10496  {
10497  check_not_to_creat_tetra=3;
10498 
10499  }
10500 
10501  }
10502 
10503  if((quall16>0.00001) && (check_not_to_creat_tetra!=3))
10504  {
10505  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
10506 
10507 
10508  check_to_go_further=5;
10509  qualite_moyenne_3D+=quall16;
10510  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10511  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10512 
10513  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
10514  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
10515  }
10516  if((quallo16>0.00001) && (check_not_to_creat_tetra!=3))
10517  {
10518  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
10519 
10520  check_to_go_further=5;
10521  qualite_moyenne_3D+=quallo16;
10522  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10523  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10524  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
10525  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
10526  }
10527  if((quall17>0.00001) && (check_not_to_creat_tetra!=3))
10528  {
10529  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10530  check_to_go_further=5;
10531  qualite_moyenne_3D+=quall17;
10532  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10533  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10534  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
10535  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
10536  }
10537  if((quallo17>0.00001) && (check_not_to_creat_tetra!=3))
10538  {
10539  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(4),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10540  check_to_go_further=5;
10541  qualite_moyenne_3D+=quallo17;
10542 
10543  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10544  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10545 
10546  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
10547  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
10548  }
10549  if((quall18>0.00001) && (check_not_to_creat_tetra!=3))
10550  {
10551  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(4),tetra_cutt->get_origine()));
10552  check_to_go_further=5;
10553  qualite_moyenne_3D+=quall18;
10554  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10555  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10556  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
10557  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
10558  }
10559  if((quallo18>0.00001) && (check_not_to_creat_tetra!=3))
10560  {
10561  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(4),tetra_cutt->get_origine()));
10562  check_to_go_further=5;
10563  qualite_moyenne_3D+=quallo18;
10564 
10565  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10566  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10567  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
10568  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
10569  }
10570  }
10571 
10572  //=========================================Second Loop==================================================================
10573 
10574  if (check_to_go_further==3)
10575  {
10576  if ((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001) && (quall3>0.001 || quallo3>0.001))
10577 
10578  {
10579  check_not_to_creat_tetra=0;
10580  LISTE_MG_TRIANGLE::iterator it_tri_existed;
10581  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
10582 
10583  {
10584 
10585  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))) || ((lst_node_tri18.existe(tri_existed->get_noeud1())) && (lst_node_tri18.existe(tri_existed->get_noeud2())) && (lst_node_tri18.existe(tri_existed->get_noeud3()))) || ((lst_node_tri19.existe(tri_existed->get_noeud1())) && (lst_node_tri19.existe(tri_existed->get_noeud2())) && (lst_node_tri19.existe(tri_existed->get_noeud3()))) || ((lst_node_tri110.existe(tri_existed->get_noeud1())) && (lst_node_tri110.existe(tri_existed->get_noeud2())) && (lst_node_tri110.existe(tri_existed->get_noeud3()))))
10586  {
10587 
10588  check_to_creat_tetra=2;
10589  }
10590 
10591 
10592  else
10593 
10594  {
10595  check_not_to_creat_tetra=3;
10596 
10597  }
10598 
10599  }
10600 
10601 
10602  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
10603  {
10604  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10605  check_to_go_further=5;
10606 
10607  qualite_moyenne_3D+=quall1;
10608  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10609  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10610  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
10611  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
10612  }
10613 
10614  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
10615  {
10616  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(4),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10617  check_to_go_further=5;
10618 
10619  qualite_moyenne_3D+=quallo1;
10620  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
10621  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
10622  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10623  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10624  }
10625 
10626  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
10627  {
10628  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
10629  check_to_go_further=5;
10630 
10631  qualite_moyenne_3D+=quall2;
10632  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
10633  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
10634 
10635  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10636  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10637  }
10638  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
10639  {
10640  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
10641  check_to_go_further=5;
10642 
10643  qualite_moyenne_3D+=quallo2;
10644  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
10645  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
10646 
10647  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10648  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10649  }
10650 
10651  if ((quall3>0.00001) && (check_not_to_creat_tetra!=3))
10652  {
10653  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10654 
10655  check_to_go_further=5;
10656 
10657  qualite_moyenne_3D+=quall3;
10658  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
10659  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
10660  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10661  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10662  }
10663  if ((quallo3>0.00001) && (check_not_to_creat_tetra!=3))
10664 
10665  {
10666  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10667  check_to_go_further=5;
10668  qualite_moyenne_3D+=quallo3;
10669  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
10670  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
10671  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10672  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10673  }
10674  }
10675  if ((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (quall6>0.001 || quallo6>0.001) && (check_to_go_further==3))
10676  {
10677  check_not_to_creat_tetra=0;
10678  LISTE_MG_TRIANGLE::iterator it_tri_existed;
10679  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
10680 
10681  {
10682 
10683  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))) || ((lst_node_tri28.existe(tri_existed->get_noeud1())) && (lst_node_tri28.existe(tri_existed->get_noeud2())) && (lst_node_tri28.existe(tri_existed->get_noeud3()))) || ((lst_node_tri29.existe(tri_existed->get_noeud1())) && (lst_node_tri29.existe(tri_existed->get_noeud2())) && (lst_node_tri29.existe(tri_existed->get_noeud3()))) || ((lst_node_tri210.existe(tri_existed->get_noeud1())) && (lst_node_tri210.existe(tri_existed->get_noeud2())) && (lst_node_tri210.existe(tri_existed->get_noeud3()))))
10684  {
10685 
10686  check_to_creat_tetra=2;
10687  }
10688 
10689  else
10690 
10691  {
10692  check_not_to_creat_tetra=3;
10693 
10694  }
10695 
10696  }
10697 
10698  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
10699  {
10700  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10701  check_to_go_further=5;
10702 
10703  qualite_moyenne_3D+=quall4;
10704  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10705  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10706  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
10707  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
10708  }
10709 
10710  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
10711  {
10712  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10713  check_to_go_further=5;
10714  qualite_moyenne_3D+=quall5;
10715  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10716  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10717  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
10718 
10719  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
10720 
10721  }
10722 
10723  if((quall6>0.00001) && (check_not_to_creat_tetra!=3))
10724  {
10725  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10726  check_to_go_further=5;
10727 
10728  qualite_moyenne_3D+=quall6;
10729  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10730  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10731  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
10732  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
10733 
10734  }
10735  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
10736  {
10737  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(4),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10738  check_to_go_further=5;
10739 
10740  qualite_moyenne_3D+=quallo4;
10741  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10742  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10743  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
10744  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
10745 
10746  }
10747 
10748  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
10749  {
10750  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10751  check_to_go_further=5;
10752  qualite_moyenne_3D+=quallo5;
10753  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10754  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10755  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
10756  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
10757 
10758  }
10759 
10760  if((quallo6>0.00001) && (check_not_to_creat_tetra!=3))
10761  {
10762  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10763  check_to_go_further=5;
10764  qualite_moyenne_3D+=quallo6;
10765  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10766  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10767  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
10768  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
10769 
10770  }
10771  }
10772  if ((quall7>0.001 || quallo7>0.001) && (quall8>0.001 || quallo8>0.001) && (quall9>0.001 || quallo9>0.001) && (check_to_go_further==3))
10773  {
10774  check_not_to_creat_tetra=0;
10775  LISTE_MG_TRIANGLE::iterator it_tri_existed;
10776  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
10777 
10778  {
10779 
10780  if(((lst_node_tri31.existe(tri_existed->get_noeud1())) && (lst_node_tri31.existe(tri_existed->get_noeud2())) && (lst_node_tri31.existe(tri_existed->get_noeud3()))) || ((lst_node_tri32.existe(tri_existed->get_noeud1())) && (lst_node_tri32.existe(tri_existed->get_noeud2())) && (lst_node_tri32.existe(tri_existed->get_noeud3()))) || ((lst_node_tri33.existe(tri_existed->get_noeud1())) && (lst_node_tri33.existe(tri_existed->get_noeud2())) && (lst_node_tri33.existe(tri_existed->get_noeud3()))) || ((lst_node_tri34.existe(tri_existed->get_noeud1())) && (lst_node_tri34.existe(tri_existed->get_noeud2())) && (lst_node_tri34.existe(tri_existed->get_noeud3()))) || ((lst_node_tri35.existe(tri_existed->get_noeud1())) && (lst_node_tri35.existe(tri_existed->get_noeud2())) && (lst_node_tri35.existe(tri_existed->get_noeud3()))) || ((lst_node_tri36.existe(tri_existed->get_noeud1())) && (lst_node_tri36.existe(tri_existed->get_noeud2())) && (lst_node_tri36.existe(tri_existed->get_noeud3()))) || ((lst_node_tri37.existe(tri_existed->get_noeud1())) && (lst_node_tri37.existe(tri_existed->get_noeud2())) && (lst_node_tri37.existe(tri_existed->get_noeud3()))) || ((lst_node_tri38.existe(tri_existed->get_noeud1())) && (lst_node_tri38.existe(tri_existed->get_noeud2())) && (lst_node_tri38.existe(tri_existed->get_noeud3()))) || ((lst_node_tri39.existe(tri_existed->get_noeud1())) && (lst_node_tri39.existe(tri_existed->get_noeud2())) && (lst_node_tri39.existe(tri_existed->get_noeud3()))) || ((lst_node_tri310.existe(tri_existed->get_noeud1())) && (lst_node_tri310.existe(tri_existed->get_noeud2())) && (lst_node_tri310.existe(tri_existed->get_noeud3()))))
10781  {
10782 
10783  check_to_creat_tetra=2;
10784  }
10785 
10786  else
10787 
10788  {
10789  check_not_to_creat_tetra=3;
10790 
10791  }
10792 
10793  }
10794 
10795  if((quall7>0.00001) && (check_not_to_creat_tetra!=3))
10796  {
10797  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(5),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10798  check_to_go_further=5;
10799 
10800  qualite_moyenne_3D+=quall7;
10801  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10802  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10803 
10804  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
10805 
10806  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
10807  }
10808 
10809  if((quallo7>0.00001) && (check_not_to_creat_tetra!=3))
10810 
10811  {
10812  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(5),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10813  check_to_go_further=5;
10814 
10815  qualite_moyenne_3D+=quallo7;
10816  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10817  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10818 
10819  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
10820  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
10821  }
10822 
10823  if((quall8>0.00001) && (check_not_to_creat_tetra!=3))
10824  {
10825  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10826  check_to_go_further=5;
10827  qualite_moyenne_3D+=quall8;
10828  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10829  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10830  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
10831 
10832  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
10833 
10834  }
10835 
10836  if((quallo8>0.00001) && (check_not_to_creat_tetra!=3))
10837  {
10838  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10839  check_to_go_further=5;
10840  qualite_moyenne_3D+=quallo8;
10841  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10842  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10843  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
10844  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
10845 
10846  }
10847 
10848  if((quall9>0.00001) && (check_not_to_creat_tetra!=3))
10849  {
10850  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10851  check_to_go_further=5;
10852 
10853  qualite_moyenne_3D+=quall9;
10854  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10855  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10856  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
10857  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
10858  }
10859 
10860  if((quallo9>0.00001) && (check_not_to_creat_tetra!=3))
10861  {
10862  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10863  check_to_go_further=5;
10864  qualite_moyenne_3D+=quallo9;
10865  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10866  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10867  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
10868  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
10869  }
10870  }
10871  if ((quall10>0.001 || quallo10>0.001) && (quall12>0.001 || quallo12>0.001) && (quall11>0.001 || quallo11>0.001) && (check_to_go_further==3))
10872  {
10873  check_not_to_creat_tetra=0;
10874  LISTE_MG_TRIANGLE::iterator it_tri_existed;
10875  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
10876  {
10877  if(((lst_node_tri41.existe(tri_existed->get_noeud1())) && (lst_node_tri41.existe(tri_existed->get_noeud2())) && (lst_node_tri41.existe(tri_existed->get_noeud3()))) || ((lst_node_tri42.existe(tri_existed->get_noeud1())) && (lst_node_tri42.existe(tri_existed->get_noeud2())) && (lst_node_tri42.existe(tri_existed->get_noeud3()))) || ((lst_node_tri43.existe(tri_existed->get_noeud1())) && (lst_node_tri43.existe(tri_existed->get_noeud2())) && (lst_node_tri43.existe(tri_existed->get_noeud3()))) || ((lst_node_tri44.existe(tri_existed->get_noeud1())) && (lst_node_tri44.existe(tri_existed->get_noeud2())) && (lst_node_tri44.existe(tri_existed->get_noeud3()))) || ((lst_node_tri45.existe(tri_existed->get_noeud1())) && (lst_node_tri45.existe(tri_existed->get_noeud2())) && (lst_node_tri45.existe(tri_existed->get_noeud3()))) || ((lst_node_tri46.existe(tri_existed->get_noeud1())) && (lst_node_tri46.existe(tri_existed->get_noeud2())) && (lst_node_tri46.existe(tri_existed->get_noeud3()))) || ((lst_node_tri47.existe(tri_existed->get_noeud1())) && (lst_node_tri47.existe(tri_existed->get_noeud2())) && (lst_node_tri47.existe(tri_existed->get_noeud3()))) || ((lst_node_tri48.existe(tri_existed->get_noeud1())) && (lst_node_tri48.existe(tri_existed->get_noeud2())) && (lst_node_tri48.existe(tri_existed->get_noeud3()))) || ((lst_node_tri49.existe(tri_existed->get_noeud1())) && (lst_node_tri49.existe(tri_existed->get_noeud2())) && (lst_node_tri49.existe(tri_existed->get_noeud3()))) || ((lst_node_tri410.existe(tri_existed->get_noeud1())) && (lst_node_tri410.existe(tri_existed->get_noeud2())) && (lst_node_tri410.existe(tri_existed->get_noeud3()))))
10878  {
10879 
10880  check_to_creat_tetra=2;
10881 
10882  }
10883 
10884  else
10885 
10886  {
10887  check_not_to_creat_tetra=3;
10888 
10889  }
10890 
10891  }
10892 
10893  if((quall10>0.00001) && (check_not_to_creat_tetra!=3))
10894  {
10895  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10896 
10897  check_to_go_further=5;
10898 
10899 
10900  qualite_moyenne_3D+=quall10;
10901  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10902  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10903  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
10904  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
10905  }
10906  if((quallo10>0.00001) && (check_not_to_creat_tetra!=3))
10907  {
10908  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(4),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10909 
10910  check_to_go_further=5;
10911 
10912 
10913  qualite_moyenne_3D+=quallo10;
10914  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10915  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10916  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
10917  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
10918  }
10919 
10920  if((quall11>0.00001) && (check_not_to_creat_tetra!=3))
10921  {
10922  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(2),tetra_cutt->get_origine()));
10923  check_to_go_further=5;
10924  qualite_moyenne_3D+=quall11;
10925  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10926  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10927  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
10928  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
10929  }
10930  if((quallo11>0.00001) && (check_not_to_creat_tetra!=3))
10931  {
10932  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(2),tetra_cutt->get_origine()));
10933 
10934  check_to_go_further=5;
10935  qualite_moyenne_3D+=quallo11;
10936 
10937  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10938  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10939  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
10940  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
10941  }
10942  if((quall12>0.00001) && (check_not_to_creat_tetra!=3))
10943  {
10944  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
10945  check_to_go_further=5;
10946  qualite_moyenne_3D+=quall12;
10947  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10948  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10949  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
10950  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
10951  }
10952  if((quallo12>0.00001) && (check_not_to_creat_tetra!=3))
10953 
10954  {
10955  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(5),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
10956  check_to_go_further=5;
10957  qualite_moyenne_3D+=quallo12;
10958  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10959  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10960  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
10961  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
10962  }
10963  }
10964 if ((quall13>0.001 || quallo13>0.001) && (quall14>0.001 || quallo14>0.001) && (quall15>0.001 || quallo15>0.001) && (check_to_go_further==3))
10965  {
10966  check_not_to_creat_tetra=0;
10967  LISTE_MG_TRIANGLE::iterator it_tri_existed;
10968  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
10969 
10970  {
10971 
10972  if(((lst_node_tri51.existe(tri_existed->get_noeud1())) && (lst_node_tri51.existe(tri_existed->get_noeud2())) && (lst_node_tri51.existe(tri_existed->get_noeud3()))) || ((lst_node_tri52.existe(tri_existed->get_noeud1())) && (lst_node_tri52.existe(tri_existed->get_noeud2())) && (lst_node_tri52.existe(tri_existed->get_noeud3()))) || ((lst_node_tri53.existe(tri_existed->get_noeud1())) && (lst_node_tri53.existe(tri_existed->get_noeud2())) && (lst_node_tri53.existe(tri_existed->get_noeud3()))) || ((lst_node_tri54.existe(tri_existed->get_noeud1())) && (lst_node_tri54.existe(tri_existed->get_noeud2())) && (lst_node_tri54.existe(tri_existed->get_noeud3()))) || ((lst_node_tri55.existe(tri_existed->get_noeud1())) && (lst_node_tri55.existe(tri_existed->get_noeud2())) && (lst_node_tri55.existe(tri_existed->get_noeud3()))) || ((lst_node_tri56.existe(tri_existed->get_noeud1())) && (lst_node_tri56.existe(tri_existed->get_noeud2())) && (lst_node_tri56.existe(tri_existed->get_noeud3()))) || ((lst_node_tri57.existe(tri_existed->get_noeud1())) && (lst_node_tri57.existe(tri_existed->get_noeud2())) && (lst_node_tri57.existe(tri_existed->get_noeud3()))) || ((lst_node_tri58.existe(tri_existed->get_noeud1())) && (lst_node_tri58.existe(tri_existed->get_noeud2())) && (lst_node_tri58.existe(tri_existed->get_noeud3()))) || ((lst_node_tri59.existe(tri_existed->get_noeud1())) && (lst_node_tri59.existe(tri_existed->get_noeud2())) && (lst_node_tri59.existe(tri_existed->get_noeud3()))) || ((lst_node_tri510.existe(tri_existed->get_noeud1())) && (lst_node_tri510.existe(tri_existed->get_noeud2())) && (lst_node_tri510.existe(tri_existed->get_noeud3()))))
10973  {
10974 
10975  check_to_creat_tetra=2;
10976  }
10977 
10978  else
10979 
10980  {
10981  check_not_to_creat_tetra=3;
10982 
10983  }
10984 
10985  }
10986 
10987 
10988  if((quall13>0.00001) && (check_not_to_creat_tetra!=3))
10989  {
10990  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(5),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
10991  check_to_go_further=5;
10992 
10993  qualite_moyenne_3D+=quall13;
10994  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10995  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10996  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
10997 
10998 
10999  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
11000  }
11001 
11002  if((quallo13>0.00001) && (check_not_to_creat_tetra!=3))
11003  {
11004  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(5),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11005  check_to_go_further=5;
11006 
11007  qualite_moyenne_3D+=quallo13;
11008  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11009  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11010  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
11011 
11012  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
11013  }
11014 
11015  if((quall14>0.00001) && (check_not_to_creat_tetra!=3))
11016  {
11017  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(2),tetra_cutt->get_origine()));
11018 
11019  check_to_go_further=5;
11020  qualite_moyenne_3D+=quall14;
11021  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11022  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11023 
11024  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
11025  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
11026  }
11027 
11028  if((quallo14>0.00001) && (check_not_to_creat_tetra!=3))
11029  {
11030  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(2),tetra_cutt->get_origine()));
11031 
11032  check_to_go_further=5;
11033 
11034  qualite_moyenne_3D+=quallo14;
11035  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11036  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11037  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
11038  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
11039  }
11040 
11041  if((quall15>0.00001) && (check_not_to_creat_tetra!=3))
11042  {
11043  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11044  check_to_go_further=5;
11045  qualite_moyenne_3D+=quall15;
11046  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11047  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11048  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
11049  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
11050  }
11051 
11052  if((quallo15>0.00001) && (check_not_to_creat_tetra!=3))
11053  {
11054 
11055  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11056  check_to_go_further=5;
11057  qualite_moyenne_3D+=quallo15;
11058  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11059  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11060  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
11061  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
11062  }
11063 
11064  }
11065 
11066  if ((quall16>0.001 || quallo16>0.001) && (quall17>0.001 || quallo17>0.001) && (quall18>0.001 || quallo18>0.001) && (check_to_go_further==3))
11067  {
11068  check_not_to_creat_tetra=0;
11069  LISTE_MG_TRIANGLE::iterator it_tri_existed;
11070  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
11071 
11072  {
11073 
11074  if(((lst_node_tri61.existe(tri_existed->get_noeud1())) && (lst_node_tri61.existe(tri_existed->get_noeud2())) && (lst_node_tri61.existe(tri_existed->get_noeud3()))) || ((lst_node_tri62.existe(tri_existed->get_noeud1())) && (lst_node_tri62.existe(tri_existed->get_noeud2())) && (lst_node_tri62.existe(tri_existed->get_noeud3()))) || ((lst_node_tri63.existe(tri_existed->get_noeud1())) && (lst_node_tri63.existe(tri_existed->get_noeud2())) && (lst_node_tri63.existe(tri_existed->get_noeud3()))) || ((lst_node_tri64.existe(tri_existed->get_noeud1())) && (lst_node_tri64.existe(tri_existed->get_noeud2())) && (lst_node_tri64.existe(tri_existed->get_noeud3()))) || ((lst_node_tri65.existe(tri_existed->get_noeud1())) && (lst_node_tri65.existe(tri_existed->get_noeud2())) && (lst_node_tri65.existe(tri_existed->get_noeud3()))) || ((lst_node_tri66.existe(tri_existed->get_noeud1())) && (lst_node_tri66.existe(tri_existed->get_noeud2())) && (lst_node_tri66.existe(tri_existed->get_noeud3()))) || ((lst_node_tri67.existe(tri_existed->get_noeud1())) && (lst_node_tri67.existe(tri_existed->get_noeud2())) && (lst_node_tri67.existe(tri_existed->get_noeud3()))) || ((lst_node_tri68.existe(tri_existed->get_noeud1())) && (lst_node_tri68.existe(tri_existed->get_noeud2())) && (lst_node_tri68.existe(tri_existed->get_noeud3()))) || ((lst_node_tri69.existe(tri_existed->get_noeud1())) && (lst_node_tri69.existe(tri_existed->get_noeud2())) && (lst_node_tri69.existe(tri_existed->get_noeud3()))) || ((lst_node_tri610.existe(tri_existed->get_noeud1())) && (lst_node_tri610.existe(tri_existed->get_noeud2())) && (lst_node_tri610.existe(tri_existed->get_noeud3()))))
11075  {
11076 
11077  check_to_creat_tetra=2;
11078  }
11079 
11080 
11081  else
11082 
11083  {
11084  check_not_to_creat_tetra=3;
11085 
11086  }
11087 
11088  }
11089 
11090  if((quall16>0.00001) && (check_not_to_creat_tetra!=3))
11091  {
11092  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
11093 
11094 
11095  check_to_go_further=5;
11096  qualite_moyenne_3D+=quall16;
11097  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11098  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11099 
11100  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
11101  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
11102  }
11103  if((quallo16>0.00001) && (check_not_to_creat_tetra!=3))
11104  {
11105  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
11106 
11107 
11108  check_to_go_further=5;
11109  qualite_moyenne_3D+=quallo16;
11110  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11111  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11112  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
11113  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
11114  }
11115  if((quall17>0.00001) && (check_not_to_creat_tetra!=3))
11116  {
11117  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11118  check_to_go_further=5;
11119  qualite_moyenne_3D+=quall17;
11120  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11121  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11122  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
11123  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
11124  }
11125  if((quallo17>0.00001) && (check_not_to_creat_tetra!=3))
11126  {
11127  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(4),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11128  check_to_go_further=5;
11129  qualite_moyenne_3D+=quallo17;
11130 
11131  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11132  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11133 
11134  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
11135  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
11136  }
11137  if((quall18>0.00001) && (check_not_to_creat_tetra!=3))
11138  {
11139  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(4),tetra_cutt->get_origine()));
11140  check_to_go_further=5;
11141  qualite_moyenne_3D+=quall18;
11142  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11143  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11144  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
11145  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
11146  }
11147  if((quallo18>0.00001) && (check_not_to_creat_tetra!=3))
11148  {
11149  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(4),tetra_cutt->get_origine()));
11150  check_to_go_further=5;
11151  qualite_moyenne_3D+=quallo18;
11152 
11153  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11154  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11155  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
11156  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
11157  }
11158 
11159  }
11160  }
11161  //============================================Third loop==============================================================
11162  if (check_to_go_further==3)
11163  {
11164  if ((quall1>0.000001 || quallo1>0.000001) && (quall2>0.000001 || quallo2>0.000001) && (quall3>0.000001 || quallo3>0.000001))
11165  {
11166  check_not_to_creat_tetra=0;
11167  LISTE_MG_TRIANGLE::iterator it_tri_existed;
11168  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
11169 
11170  {
11171 
11172  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))) || ((lst_node_tri18.existe(tri_existed->get_noeud1())) && (lst_node_tri18.existe(tri_existed->get_noeud2())) && (lst_node_tri18.existe(tri_existed->get_noeud3()))) || ((lst_node_tri19.existe(tri_existed->get_noeud1())) && (lst_node_tri19.existe(tri_existed->get_noeud2())) && (lst_node_tri19.existe(tri_existed->get_noeud3()))) || ((lst_node_tri110.existe(tri_existed->get_noeud1())) && (lst_node_tri110.existe(tri_existed->get_noeud2())) && (lst_node_tri110.existe(tri_existed->get_noeud3()))))
11173  {
11174 
11175  check_to_creat_tetra=2;
11176  }
11177 
11178 
11179  else
11180 
11181  {
11182  check_not_to_creat_tetra=3;
11183 
11184  }
11185 
11186  }
11187 
11188 
11189  if ((quall1>0.000001) && (check_not_to_creat_tetra!=3))
11190  {
11191  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11192  check_to_go_further=5;
11193 
11194  qualite_moyenne_3D+=quall1;
11195  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11196  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11197  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
11198  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
11199  }
11200 
11201  if ((quallo1>0.000001) && (check_not_to_creat_tetra!=3))
11202  {
11203  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(4),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11204  check_to_go_further=5;
11205 
11206  qualite_moyenne_3D+=quallo1;
11207  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
11208  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
11209  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11210  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11211  }
11212 
11213  if ((quall2>0.000001) && (check_not_to_creat_tetra!=3))
11214  {
11215  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
11216  check_to_go_further=5;
11217 
11218  qualite_moyenne_3D+=quall2;
11219  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
11220  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
11221 
11222  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11223  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11224  }
11225  if ((quallo2>0.000001) && (check_not_to_creat_tetra!=3))
11226  {
11227  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
11228  check_to_go_further=5;
11229 
11230  qualite_moyenne_3D+=quallo2;
11231  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
11232  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
11233 
11234  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11235  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11236  }
11237 
11238  if ((quall3>0.000001) && (check_not_to_creat_tetra!=3))
11239  {
11240  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11241 
11242  check_to_go_further=5;
11243 
11244  qualite_moyenne_3D+=quall3;
11245  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
11246  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
11247  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11248  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11249  }
11250  if ((quallo3>0.000001) && (check_not_to_creat_tetra!=3))
11251 
11252  {
11253  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11254  check_to_go_further=5;
11255  qualite_moyenne_3D+=quallo3;
11256  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
11257  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
11258  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11259  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11260  }
11261  }
11262  if ((quall4>0.000001 || quallo4>0.000001) && (quall5>0.000001 || quallo5>0.000001) && (quall6>0.000001 || quallo6>0.000001) && (check_to_go_further==3))
11263  {
11264  check_not_to_creat_tetra=0;
11265  LISTE_MG_TRIANGLE::iterator it_tri_existed;
11266  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
11267 
11268  {
11269 
11270  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))) || ((lst_node_tri28.existe(tri_existed->get_noeud1())) && (lst_node_tri28.existe(tri_existed->get_noeud2())) && (lst_node_tri28.existe(tri_existed->get_noeud3()))) || ((lst_node_tri29.existe(tri_existed->get_noeud1())) && (lst_node_tri29.existe(tri_existed->get_noeud2())) && (lst_node_tri29.existe(tri_existed->get_noeud3()))) || ((lst_node_tri210.existe(tri_existed->get_noeud1())) && (lst_node_tri210.existe(tri_existed->get_noeud2())) && (lst_node_tri210.existe(tri_existed->get_noeud3()))))
11271  {
11272 
11273  check_to_creat_tetra=2;
11274  }
11275 
11276  else
11277 
11278  {
11279  check_not_to_creat_tetra=3;
11280 
11281  }
11282 
11283  }
11284 
11285  if((quall4>0.000001) && (check_not_to_creat_tetra!=3))
11286  {
11287  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11288  check_to_go_further=5;
11289 
11290  qualite_moyenne_3D+=quall4;
11291  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11292  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11293  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
11294  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
11295  }
11296 
11297  if((quall5>0.000001) && (check_not_to_creat_tetra!=3))
11298  {
11299  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11300  check_to_go_further=5;
11301  qualite_moyenne_3D+=quall5;
11302  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11303  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11304  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
11305 
11306  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
11307 
11308  }
11309 
11310  if((quall6>0.000001) && (check_not_to_creat_tetra!=3))
11311  {
11312  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11313  check_to_go_further=5;
11314 
11315  qualite_moyenne_3D+=quall6;
11316  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11317  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11318  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
11319  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
11320 
11321  }
11322  if((quallo4>0.000001) && (check_not_to_creat_tetra!=3))
11323  {
11324  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(4),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11325  check_to_go_further=5;
11326 
11327  qualite_moyenne_3D+=quallo4;
11328  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11329  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11330  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
11331  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
11332 
11333  }
11334 
11335  if((quallo5>0.000001) && (check_not_to_creat_tetra!=3))
11336  {
11337  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11338  check_to_go_further=5;
11339  qualite_moyenne_3D+=quallo5;
11340  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11341  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11342  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
11343  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
11344 
11345  }
11346 
11347  if((quallo6>0.000001) && (check_not_to_creat_tetra!=3))
11348  {
11349  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11350  check_to_go_further=5;
11351  qualite_moyenne_3D+=quallo6;
11352  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11353  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11354  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
11355  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
11356 
11357  }
11358  }
11359  if ((quall7>0.000001 || quallo7>0.000001) && (quall8>0.000001 || quallo8>0.000001) && (quall9>0.000001 || quallo9>0.000001) && (check_to_go_further==3))
11360  {
11361  check_not_to_creat_tetra=0;
11362  LISTE_MG_TRIANGLE::iterator it_tri_existed;
11363  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
11364 
11365  {
11366 
11367  if(((lst_node_tri31.existe(tri_existed->get_noeud1())) && (lst_node_tri31.existe(tri_existed->get_noeud2())) && (lst_node_tri31.existe(tri_existed->get_noeud3()))) || ((lst_node_tri32.existe(tri_existed->get_noeud1())) && (lst_node_tri32.existe(tri_existed->get_noeud2())) && (lst_node_tri32.existe(tri_existed->get_noeud3()))) || ((lst_node_tri33.existe(tri_existed->get_noeud1())) && (lst_node_tri33.existe(tri_existed->get_noeud2())) && (lst_node_tri33.existe(tri_existed->get_noeud3()))) || ((lst_node_tri34.existe(tri_existed->get_noeud1())) && (lst_node_tri34.existe(tri_existed->get_noeud2())) && (lst_node_tri34.existe(tri_existed->get_noeud3()))) || ((lst_node_tri35.existe(tri_existed->get_noeud1())) && (lst_node_tri35.existe(tri_existed->get_noeud2())) && (lst_node_tri35.existe(tri_existed->get_noeud3()))) || ((lst_node_tri36.existe(tri_existed->get_noeud1())) && (lst_node_tri36.existe(tri_existed->get_noeud2())) && (lst_node_tri36.existe(tri_existed->get_noeud3()))) || ((lst_node_tri37.existe(tri_existed->get_noeud1())) && (lst_node_tri37.existe(tri_existed->get_noeud2())) && (lst_node_tri37.existe(tri_existed->get_noeud3()))) || ((lst_node_tri38.existe(tri_existed->get_noeud1())) && (lst_node_tri38.existe(tri_existed->get_noeud2())) && (lst_node_tri38.existe(tri_existed->get_noeud3()))) || ((lst_node_tri39.existe(tri_existed->get_noeud1())) && (lst_node_tri39.existe(tri_existed->get_noeud2())) && (lst_node_tri39.existe(tri_existed->get_noeud3()))) || ((lst_node_tri310.existe(tri_existed->get_noeud1())) && (lst_node_tri310.existe(tri_existed->get_noeud2())) && (lst_node_tri310.existe(tri_existed->get_noeud3()))))
11368  {
11369 
11370  check_to_creat_tetra=2;
11371  }
11372 
11373  else
11374 
11375  {
11376  check_not_to_creat_tetra=3;
11377 
11378  }
11379 
11380  }
11381 
11382  if((quall7>0.000001) && (check_not_to_creat_tetra!=3))
11383  {
11384  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(5),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11385  check_to_go_further=5;
11386 
11387  qualite_moyenne_3D+=quall7;
11388  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11389  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11390 
11391  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
11392 
11393  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
11394  }
11395 
11396  if((quallo7>0.000001) && (check_not_to_creat_tetra!=3))
11397 
11398  {
11399  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(5),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11400  check_to_go_further=5;
11401 
11402  qualite_moyenne_3D+=quallo7;
11403  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11404  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11405 
11406  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
11407  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
11408  }
11409 
11410  if((quall8>0.000001) && (check_not_to_creat_tetra!=3))
11411  {
11412  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11413  check_to_go_further=5;
11414  qualite_moyenne_3D+=quall8;
11415  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11416  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11417  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
11418 
11419  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
11420 
11421  }
11422 
11423  if((quallo8>0.000001) && (check_not_to_creat_tetra!=3))
11424  {
11425  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11426  check_to_go_further=5;
11427  qualite_moyenne_3D+=quallo8;
11428  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11429  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11430  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
11431  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
11432 
11433  }
11434 
11435  if((quall9>0.000001) && (check_not_to_creat_tetra!=3))
11436  {
11437  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11438  check_to_go_further=5;
11439 
11440  qualite_moyenne_3D+=quall9;
11441  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11442  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11443  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
11444  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
11445  }
11446 
11447  if((quallo9>0.000001) && (check_not_to_creat_tetra!=3))
11448  {
11449  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11450  check_to_go_further=5;
11451  qualite_moyenne_3D+=quallo9;
11452  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11453  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11454  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
11455  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
11456  }
11457  }
11458  if ((quall10>0.000001 || quallo10>0.000001) && (quall12>0.000001 || quallo12>0.000001) && (quall11>0.000001 || quallo11>0.000001) && (check_to_go_further==3))
11459  {
11460  check_not_to_creat_tetra=0;
11461  LISTE_MG_TRIANGLE::iterator it_tri_existed;
11462  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
11463  {
11464  if(((lst_node_tri41.existe(tri_existed->get_noeud1())) && (lst_node_tri41.existe(tri_existed->get_noeud2())) && (lst_node_tri41.existe(tri_existed->get_noeud3()))) || ((lst_node_tri42.existe(tri_existed->get_noeud1())) && (lst_node_tri42.existe(tri_existed->get_noeud2())) && (lst_node_tri42.existe(tri_existed->get_noeud3()))) || ((lst_node_tri43.existe(tri_existed->get_noeud1())) && (lst_node_tri43.existe(tri_existed->get_noeud2())) && (lst_node_tri43.existe(tri_existed->get_noeud3()))) || ((lst_node_tri44.existe(tri_existed->get_noeud1())) && (lst_node_tri44.existe(tri_existed->get_noeud2())) && (lst_node_tri44.existe(tri_existed->get_noeud3()))) || ((lst_node_tri45.existe(tri_existed->get_noeud1())) && (lst_node_tri45.existe(tri_existed->get_noeud2())) && (lst_node_tri45.existe(tri_existed->get_noeud3()))) || ((lst_node_tri46.existe(tri_existed->get_noeud1())) && (lst_node_tri46.existe(tri_existed->get_noeud2())) && (lst_node_tri46.existe(tri_existed->get_noeud3()))) || ((lst_node_tri47.existe(tri_existed->get_noeud1())) && (lst_node_tri47.existe(tri_existed->get_noeud2())) && (lst_node_tri47.existe(tri_existed->get_noeud3()))) || ((lst_node_tri48.existe(tri_existed->get_noeud1())) && (lst_node_tri48.existe(tri_existed->get_noeud2())) && (lst_node_tri48.existe(tri_existed->get_noeud3()))) || ((lst_node_tri49.existe(tri_existed->get_noeud1())) && (lst_node_tri49.existe(tri_existed->get_noeud2())) && (lst_node_tri49.existe(tri_existed->get_noeud3()))) || ((lst_node_tri410.existe(tri_existed->get_noeud1())) && (lst_node_tri410.existe(tri_existed->get_noeud2())) && (lst_node_tri410.existe(tri_existed->get_noeud3()))))
11465  {
11466 
11467  check_to_creat_tetra=2;
11468 
11469  }
11470 
11471  else
11472 
11473  {
11474  check_not_to_creat_tetra=3;
11475 
11476 
11477  }
11478 
11479  }
11480 
11481  if((quall10>0.000001) && (check_not_to_creat_tetra!=3))
11482  {
11483  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11484 
11485  check_to_go_further=5;
11486 
11487 
11488  qualite_moyenne_3D+=quall10;
11489  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11490  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11491  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
11492  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
11493  }
11494  if((quallo10>0.000001) && (check_not_to_creat_tetra!=3))
11495  {
11496  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(4),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11497 
11498  check_to_go_further=5;
11499 
11500  qualite_moyenne_3D+=quallo10;
11501  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11502  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11503  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
11504  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
11505  }
11506 
11507  if((quall11>0.000001) && (check_not_to_creat_tetra!=3))
11508  {
11509  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(2),tetra_cutt->get_origine()));
11510  check_to_go_further=5;
11511  qualite_moyenne_3D+=quall11;
11512  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11513  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11514  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
11515  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
11516  }
11517  if((quallo11>0.000001) && (check_not_to_creat_tetra!=3))
11518  {
11519  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(2),tetra_cutt->get_origine()));
11520 
11521  check_to_go_further=5;
11522  qualite_moyenne_3D+=quallo11;
11523 
11524  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11525  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11526  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
11527  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
11528  }
11529  if((quall12>0.000001) && (check_not_to_creat_tetra!=3))
11530  {
11531  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
11532  check_to_go_further=5;
11533  qualite_moyenne_3D+=quall12;
11534  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11535  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11536  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
11537  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
11538  }
11539  if((quallo12>0.000001) && (check_not_to_creat_tetra!=3))
11540 
11541  {
11542  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(5),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
11543  check_to_go_further=5;
11544  qualite_moyenne_3D+=quallo12;
11545  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11546  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11547  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
11548  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
11549  }
11550 
11551  }
11552  if ((quall13>0.000001 || quallo13>0.000001) && (quall14>0.000001 || quallo14>0.000001) && (quall15>0.000001 || quallo15>0.000001) && (check_to_go_further==3))
11553  {
11554  check_not_to_creat_tetra=0;
11555  LISTE_MG_TRIANGLE::iterator it_tri_existed;
11556  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
11557 
11558  {
11559 
11560  if(((lst_node_tri51.existe(tri_existed->get_noeud1())) && (lst_node_tri51.existe(tri_existed->get_noeud2())) && (lst_node_tri51.existe(tri_existed->get_noeud3()))) || ((lst_node_tri52.existe(tri_existed->get_noeud1())) && (lst_node_tri52.existe(tri_existed->get_noeud2())) && (lst_node_tri52.existe(tri_existed->get_noeud3()))) || ((lst_node_tri53.existe(tri_existed->get_noeud1())) && (lst_node_tri53.existe(tri_existed->get_noeud2())) && (lst_node_tri53.existe(tri_existed->get_noeud3()))) || ((lst_node_tri54.existe(tri_existed->get_noeud1())) && (lst_node_tri54.existe(tri_existed->get_noeud2())) && (lst_node_tri54.existe(tri_existed->get_noeud3()))) || ((lst_node_tri55.existe(tri_existed->get_noeud1())) && (lst_node_tri55.existe(tri_existed->get_noeud2())) && (lst_node_tri55.existe(tri_existed->get_noeud3()))) || ((lst_node_tri56.existe(tri_existed->get_noeud1())) && (lst_node_tri56.existe(tri_existed->get_noeud2())) && (lst_node_tri56.existe(tri_existed->get_noeud3()))) || ((lst_node_tri57.existe(tri_existed->get_noeud1())) && (lst_node_tri57.existe(tri_existed->get_noeud2())) && (lst_node_tri57.existe(tri_existed->get_noeud3()))) || ((lst_node_tri58.existe(tri_existed->get_noeud1())) && (lst_node_tri58.existe(tri_existed->get_noeud2())) && (lst_node_tri58.existe(tri_existed->get_noeud3()))) || ((lst_node_tri59.existe(tri_existed->get_noeud1())) && (lst_node_tri59.existe(tri_existed->get_noeud2())) && (lst_node_tri59.existe(tri_existed->get_noeud3()))) || ((lst_node_tri510.existe(tri_existed->get_noeud1())) && (lst_node_tri510.existe(tri_existed->get_noeud2())) && (lst_node_tri510.existe(tri_existed->get_noeud3()))))
11561  {
11562 
11563  check_to_creat_tetra=2;
11564  }
11565 
11566  else
11567 
11568  {
11569  check_not_to_creat_tetra=3;
11570 
11571  }
11572 
11573  }
11574 
11575 
11576  if((quall13>0.000001) && (check_not_to_creat_tetra!=3))
11577  {
11578  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(5),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11579  check_to_go_further=5;
11580 
11581  qualite_moyenne_3D+=quall13;
11582  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11583  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11584  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
11585 
11586 
11587  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
11588  }
11589 
11590  if((quallo13>0.000001) && (check_not_to_creat_tetra!=3))
11591  {
11592  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(5),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11593  check_to_go_further=5;
11594 
11595  qualite_moyenne_3D+=quallo13;
11596  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11597  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11598  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
11599 
11600  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
11601  }
11602 
11603  if((quall14>0.000001) && (check_not_to_creat_tetra!=3))
11604  {
11605  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(2),tetra_cutt->get_origine()));
11606 
11607  check_to_go_further=5;
11608  qualite_moyenne_3D+=quall14;
11609  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11610  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11611 
11612  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
11613  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
11614  }
11615 
11616  if((quallo14>0.000001) && (check_not_to_creat_tetra!=3))
11617  {
11618  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(2),tetra_cutt->get_origine()));
11619 
11620  check_to_go_further=5;
11621 
11622  qualite_moyenne_3D+=quallo14;
11623  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11624  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11625  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
11626  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
11627  }
11628 
11629  if((quall15>0.000001) && (check_not_to_creat_tetra!=3))
11630  {
11631  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11632  check_to_go_further=5;
11633  qualite_moyenne_3D+=quall15;
11634  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11635  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11636  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
11637  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
11638  }
11639 
11640  if((quallo15>0.000001) && (check_not_to_creat_tetra!=3))
11641  {
11642 
11643  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11644  check_to_go_further=5;
11645  qualite_moyenne_3D+=quallo15;
11646  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11647  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11648  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
11649  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
11650  }
11651  }
11652 
11653  if ((quall16>0.000001 || quallo16>0.000001) && (quall17>0.000001 || quallo17>0.000001) && (quall18>0.000001 || quallo18>0.000001) && (check_to_go_further==3))
11654  {
11655  check_not_to_creat_tetra=0;
11656  LISTE_MG_TRIANGLE::iterator it_tri_existed;
11657  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
11658 
11659  {
11660 
11661  if(((lst_node_tri61.existe(tri_existed->get_noeud1())) && (lst_node_tri61.existe(tri_existed->get_noeud2())) && (lst_node_tri61.existe(tri_existed->get_noeud3()))) || ((lst_node_tri62.existe(tri_existed->get_noeud1())) && (lst_node_tri62.existe(tri_existed->get_noeud2())) && (lst_node_tri62.existe(tri_existed->get_noeud3()))) || ((lst_node_tri63.existe(tri_existed->get_noeud1())) && (lst_node_tri63.existe(tri_existed->get_noeud2())) && (lst_node_tri63.existe(tri_existed->get_noeud3()))) || ((lst_node_tri64.existe(tri_existed->get_noeud1())) && (lst_node_tri64.existe(tri_existed->get_noeud2())) && (lst_node_tri64.existe(tri_existed->get_noeud3()))) || ((lst_node_tri65.existe(tri_existed->get_noeud1())) && (lst_node_tri65.existe(tri_existed->get_noeud2())) && (lst_node_tri65.existe(tri_existed->get_noeud3()))) || ((lst_node_tri66.existe(tri_existed->get_noeud1())) && (lst_node_tri66.existe(tri_existed->get_noeud2())) && (lst_node_tri66.existe(tri_existed->get_noeud3()))) || ((lst_node_tri67.existe(tri_existed->get_noeud1())) && (lst_node_tri67.existe(tri_existed->get_noeud2())) && (lst_node_tri67.existe(tri_existed->get_noeud3()))) || ((lst_node_tri68.existe(tri_existed->get_noeud1())) && (lst_node_tri68.existe(tri_existed->get_noeud2())) && (lst_node_tri68.existe(tri_existed->get_noeud3()))) || ((lst_node_tri69.existe(tri_existed->get_noeud1())) && (lst_node_tri69.existe(tri_existed->get_noeud2())) && (lst_node_tri69.existe(tri_existed->get_noeud3()))) || ((lst_node_tri610.existe(tri_existed->get_noeud1())) && (lst_node_tri610.existe(tri_existed->get_noeud2())) && (lst_node_tri610.existe(tri_existed->get_noeud3()))))
11662  {
11663 
11664  check_to_creat_tetra=2;
11665  }
11666 
11667 
11668  else
11669 
11670  {
11671  check_not_to_creat_tetra=3;
11672 
11673  }
11674 
11675  }
11676 
11677  if((quall16>0.000001) && (check_not_to_creat_tetra!=3))
11678  {
11679  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
11680 
11681  check_to_go_further=5;
11682  qualite_moyenne_3D+=quall16;
11683  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11684  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11685 
11686  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
11687  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
11688  }
11689  if((quallo16>0.000001) && (check_not_to_creat_tetra!=3))
11690  {
11691  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
11692 
11693  check_to_go_further=5;
11694  qualite_moyenne_3D+=quallo16;
11695  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11696  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11697  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
11698  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
11699  }
11700  if((quall17>0.000001) && (check_not_to_creat_tetra!=3))
11701  {
11702  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11703  check_to_go_further=5;
11704  qualite_moyenne_3D+=quall17;
11705  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11706  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11707  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
11708  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
11709  }
11710  if((quallo17>0.000001) && (check_not_to_creat_tetra!=3))
11711  {
11712  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(4),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(6),tetra_cutt->get_origine()));
11713  check_to_go_further=5;
11714  qualite_moyenne_3D+=quallo17;
11715 
11716  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11717  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11718 
11719  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
11720  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
11721  }
11722  if((quall18>0.000001) && (check_not_to_creat_tetra!=3))
11723  {
11724  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(5),lst_node_in_second.get(4),tetra_cutt->get_origine()));
11725  check_to_go_further=5;
11726  qualite_moyenne_3D+=quall18;
11727  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11728  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11729  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
11730  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
11731  }
11732  if((quallo18>0.000001) && (check_not_to_creat_tetra!=3))
11733  {
11734  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(5),lst_node_in_second.get(4),tetra_cutt->get_origine()));
11735  check_to_go_further=5;
11736  qualite_moyenne_3D+=quallo18;
11737 
11738  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11739  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11740  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
11741  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
11742  }
11743  }
11744  }
11745  }
11746 
11747  }
11748  if (identi111 == identi777)
11749  {
11750  int id_node_common0=(map_correspondance_node_node_out.find(lst_node_in_second.get(0))->second)->get_id();
11751  int id_node_common2=(map_correspondance_node_node_out.find(lst_node_in_second.get(2))->second)->get_id();
11752 
11753 
11754  if(id_node_common0==id_node_common2)
11755  {
11756  //============================================Getting the Qualities============================
11757  //==============================================================================================
11758 
11759  quall1=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
11760 
11761  quall2=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
11762 
11763  quall3=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord());
11764 
11765  //----------------------------------------------------
11766  quallo1=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
11767 
11768  quallo2=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
11769 
11770  quallo3=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord());
11771 
11772  lst_node_tri11.ajouter(lst_node_in_second.get(3));
11773  lst_node_tri11.ajouter(lst_node_in_second.get(1));
11774  lst_node_tri11.ajouter(lst_node_in_second.get(2));
11775 
11776  lst_node_tri12.ajouter(lst_node_in_second.get(1));
11777  lst_node_tri12.ajouter(lst_node_in_second.get(2));
11778  lst_node_tri12.ajouter(lst_node_in_second.get(4));
11779 
11780  lst_node_tri13.ajouter(lst_node_in_second.get(1));
11781  lst_node_tri13.ajouter(lst_node_in_second.get(3));
11782  lst_node_tri13.ajouter(lst_node_in_second.get(4));
11783 
11784  lst_node_tri14.ajouter(lst_node_in_second.get(2));
11785  lst_node_tri14.ajouter(lst_node_in_second.get(3));
11786  lst_node_tri14.ajouter(lst_node_in_second.get(4));
11787 
11788  lst_node_tri15.ajouter(lst_node_in_second.get(0));
11789  lst_node_tri15.ajouter(lst_node_in_second.get(1));
11790  lst_node_tri15.ajouter(lst_node_in_second.get(4));
11791 
11792  lst_node_tri16.ajouter(lst_node_in_second.get(0));
11793  lst_node_tri16.ajouter(lst_node_in_second.get(1));
11794  lst_node_tri16.ajouter(lst_node_in_second.get(6));
11795 
11796  lst_node_tri17.ajouter(lst_node_in_second.get(0));
11797  lst_node_tri17.ajouter(lst_node_in_second.get(4));
11798  lst_node_tri17.ajouter(lst_node_in_second.get(6));
11799 
11800  lst_node_tri18.ajouter(lst_node_in_second.get(1));
11801  lst_node_tri18.ajouter(lst_node_in_second.get(4));
11802  lst_node_tri18.ajouter(lst_node_in_second.get(6));
11803 
11804  lst_node_tri19.ajouter(lst_node_in_second.get(1));
11805  lst_node_tri19.ajouter(lst_node_in_second.get(2));
11806  lst_node_tri19.ajouter(lst_node_in_second.get(0));
11807 
11808  lst_node_tri110.ajouter(lst_node_in_second.get(0));
11809  lst_node_tri110.ajouter(lst_node_in_second.get(2));
11810  lst_node_tri110.ajouter(lst_node_in_second.get(4));
11811 
11812  //----------------------------------------------------
11813  //----------------------------------------------------
11814  quall4=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
11815 
11816  quall5=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(6)->get_coord());
11817 
11818  quall6=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
11819 
11820  //----------------------------------------------------
11821  quallo4=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
11822 
11823  quallo5=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(6)->get_coord());
11824 
11825  quallo6=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
11826 
11827  lst_node_tri21.ajouter(lst_node_in_second.get(1));
11828  lst_node_tri21.ajouter(lst_node_in_second.get(2));
11829  lst_node_tri21.ajouter(lst_node_in_second.get(3));
11830 
11831  lst_node_tri22.ajouter(lst_node_in_second.get(1));
11832  lst_node_tri22.ajouter(lst_node_in_second.get(2));
11833  lst_node_tri22.ajouter(lst_node_in_second.get(4));
11834 
11835  lst_node_tri23.ajouter(lst_node_in_second.get(1));
11836  lst_node_tri23.ajouter(lst_node_in_second.get(3));
11837  lst_node_tri23.ajouter(lst_node_in_second.get(4));
11838 
11839  lst_node_tri24.ajouter(lst_node_in_second.get(2));
11840  lst_node_tri24.ajouter(lst_node_in_second.get(3));
11841  lst_node_tri24.ajouter(lst_node_in_second.get(4));
11842 
11843  lst_node_tri25.ajouter(lst_node_in_second.get(0));
11844  lst_node_tri25.ajouter(lst_node_in_second.get(1));
11845  lst_node_tri25.ajouter(lst_node_in_second.get(2));
11846 
11847  lst_node_tri26.ajouter(lst_node_in_second.get(0));
11848  lst_node_tri26.ajouter(lst_node_in_second.get(1));
11849  lst_node_tri26.ajouter(lst_node_in_second.get(6));
11850 
11851  lst_node_tri27.ajouter(lst_node_in_second.get(0));
11852  lst_node_tri27.ajouter(lst_node_in_second.get(2));
11853  lst_node_tri27.ajouter(lst_node_in_second.get(6));
11854 
11855  lst_node_tri28.ajouter(lst_node_in_second.get(1));
11856  lst_node_tri28.ajouter(lst_node_in_second.get(2));
11857  lst_node_tri28.ajouter(lst_node_in_second.get(6));
11858 
11859  lst_node_tri29.ajouter(lst_node_in_second.get(1));
11860  lst_node_tri29.ajouter(lst_node_in_second.get(4));
11861  lst_node_tri29.ajouter(lst_node_in_second.get(6));
11862 
11863  lst_node_tri210.ajouter(lst_node_in_second.get(2));
11864  lst_node_tri210.ajouter(lst_node_in_second.get(4));
11865  lst_node_tri210.ajouter(lst_node_in_second.get(6));
11866  //----------------------------------------------------
11867  //----------------------------------------------------
11868  quall7=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
11869 
11870  quall8=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
11871 
11872  quall9=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(6)->get_coord());
11873 
11874  //----------------------------------------------------
11875  quallo7=OPERATEUR::qualite_tetra(lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
11876 
11877  quallo8=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
11878 
11879  quallo9=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(6)->get_coord());
11880 
11881  lst_node_tri31.ajouter(lst_node_in_second.get(3));
11882  lst_node_tri31.ajouter(lst_node_in_second.get(2));
11883  lst_node_tri31.ajouter(lst_node_in_second.get(4));
11884 
11885  lst_node_tri32.ajouter(lst_node_in_second.get(2));
11886  lst_node_tri32.ajouter(lst_node_in_second.get(3));
11887  lst_node_tri32.ajouter(lst_node_in_second.get(6));
11888 
11889  lst_node_tri33.ajouter(lst_node_in_second.get(2));
11890  lst_node_tri33.ajouter(lst_node_in_second.get(4));
11891  lst_node_tri33.ajouter(lst_node_in_second.get(6));
11892 
11893  lst_node_tri34.ajouter(lst_node_in_second.get(3));
11894  lst_node_tri34.ajouter(lst_node_in_second.get(4));
11895  lst_node_tri34.ajouter(lst_node_in_second.get(6));
11896 
11897  lst_node_tri35.ajouter(lst_node_in_second.get(2));
11898  lst_node_tri35.ajouter(lst_node_in_second.get(1));
11899  lst_node_tri35.ajouter(lst_node_in_second.get(3));
11900 
11901  lst_node_tri36.ajouter(lst_node_in_second.get(2));
11902  lst_node_tri36.ajouter(lst_node_in_second.get(1));
11903  lst_node_tri36.ajouter(lst_node_in_second.get(6));
11904 
11905  lst_node_tri37.ajouter(lst_node_in_second.get(1));
11906  lst_node_tri37.ajouter(lst_node_in_second.get(3));
11907  lst_node_tri37.ajouter(lst_node_in_second.get(6));
11908 
11909  lst_node_tri38.ajouter(lst_node_in_second.get(0));
11910  lst_node_tri38.ajouter(lst_node_in_second.get(1));
11911  lst_node_tri38.ajouter(lst_node_in_second.get(2));
11912 
11913  lst_node_tri39.ajouter(lst_node_in_second.get(0));
11914  lst_node_tri39.ajouter(lst_node_in_second.get(2));
11915  lst_node_tri39.ajouter(lst_node_in_second.get(6));
11916 
11917  lst_node_tri310.ajouter(lst_node_in_second.get(0));
11918  lst_node_tri310.ajouter(lst_node_in_second.get(1));
11919  lst_node_tri310.ajouter(lst_node_in_second.get(6));
11920  //----------------------------------------------------
11921  //----------------------------------------------------
11922  quall10=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
11923 
11924  quall11=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
11925 
11926  quall12=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
11927 
11928  //----------------------------------------------------
11929  quallo10=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
11930 
11931  quallo11=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
11932 
11933  quallo12=OPERATEUR::qualite_tetra(lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
11934 
11935  lst_node_tri41.ajouter(lst_node_in_second.get(0));
11936  lst_node_tri41.ajouter(lst_node_in_second.get(2));
11937  lst_node_tri41.ajouter(lst_node_in_second.get(3));
11938 
11939  lst_node_tri48.ajouter(lst_node_in_second.get(0));
11940  lst_node_tri48.ajouter(lst_node_in_second.get(2));
11941  lst_node_tri48.ajouter(lst_node_in_second.get(4));
11942 
11943 
11944  lst_node_tri42.ajouter(lst_node_in_second.get(0));
11945  lst_node_tri42.ajouter(lst_node_in_second.get(3));
11946  lst_node_tri42.ajouter(lst_node_in_second.get(4));
11947 
11948  lst_node_tri43.ajouter(lst_node_in_second.get(2));
11949  lst_node_tri43.ajouter(lst_node_in_second.get(3));
11950  lst_node_tri43.ajouter(lst_node_in_second.get(4));
11951 
11952  lst_node_tri44.ajouter(lst_node_in_second.get(0));
11953  lst_node_tri44.ajouter(lst_node_in_second.get(1));
11954  lst_node_tri44.ajouter(lst_node_in_second.get(3));
11955 
11956  lst_node_tri45.ajouter(lst_node_in_second.get(0));
11957  lst_node_tri45.ajouter(lst_node_in_second.get(1));
11958  lst_node_tri45.ajouter(lst_node_in_second.get(6));
11959 
11960  lst_node_tri46.ajouter(lst_node_in_second.get(0));
11961  lst_node_tri46.ajouter(lst_node_in_second.get(3));
11962  lst_node_tri46.ajouter(lst_node_in_second.get(6));
11963 
11964  lst_node_tri47.ajouter(lst_node_in_second.get(1));
11965  lst_node_tri47.ajouter(lst_node_in_second.get(3));
11966  lst_node_tri47.ajouter(lst_node_in_second.get(6));
11967 
11968  lst_node_tri49.ajouter(lst_node_in_second.get(0));
11969  lst_node_tri49.ajouter(lst_node_in_second.get(4));
11970  lst_node_tri49.ajouter(lst_node_in_second.get(6));
11971 
11972  lst_node_tri410.ajouter(lst_node_in_second.get(3));
11973  lst_node_tri410.ajouter(lst_node_in_second.get(4));
11974  lst_node_tri410.ajouter(lst_node_in_second.get(6));
11975  //----------------------------------------------------
11976  //----------------------------------------------------
11977  quall13=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
11978 
11979  quall14=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
11980 
11981  quall15=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
11982 
11983 
11984  //----------------------------------------------------
11985  quallo13=OPERATEUR::qualite_tetra(lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
11986 
11987  quallo14=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
11988 
11989  quallo15=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
11990 
11991  lst_node_tri51.ajouter(lst_node_in_second.get(3));
11992  lst_node_tri51.ajouter(lst_node_in_second.get(2));
11993  lst_node_tri51.ajouter(lst_node_in_second.get(4));
11994 
11995  lst_node_tri52.ajouter(lst_node_in_second.get(2));
11996  lst_node_tri52.ajouter(lst_node_in_second.get(3));
11997  lst_node_tri52.ajouter(lst_node_in_second.get(6));
11998 
11999  lst_node_tri53.ajouter(lst_node_in_second.get(2));
12000  lst_node_tri53.ajouter(lst_node_in_second.get(4));
12001  lst_node_tri53.ajouter(lst_node_in_second.get(6));
12002 
12003  lst_node_tri54.ajouter(lst_node_in_second.get(3));
12004  lst_node_tri54.ajouter(lst_node_in_second.get(4));
12005  lst_node_tri54.ajouter(lst_node_in_second.get(6));
12006 
12007  lst_node_tri55.ajouter(lst_node_in_second.get(1));
12008  lst_node_tri55.ajouter(lst_node_in_second.get(0));
12009  lst_node_tri55.ajouter(lst_node_in_second.get(3));
12010 
12011  lst_node_tri56.ajouter(lst_node_in_second.get(0));
12012  lst_node_tri56.ajouter(lst_node_in_second.get(1));
12013  lst_node_tri56.ajouter(lst_node_in_second.get(6));
12014 
12015  lst_node_tri57.ajouter(lst_node_in_second.get(0));
12016  lst_node_tri57.ajouter(lst_node_in_second.get(3));
12017  lst_node_tri57.ajouter(lst_node_in_second.get(6));
12018 
12019  lst_node_tri58.ajouter(lst_node_in_second.get(1));
12020  lst_node_tri58.ajouter(lst_node_in_second.get(3));
12021  lst_node_tri58.ajouter(lst_node_in_second.get(6));
12022 
12023  lst_node_tri59.ajouter(lst_node_in_second.get(0));
12024  lst_node_tri59.ajouter(lst_node_in_second.get(2));
12025  lst_node_tri59.ajouter(lst_node_in_second.get(3));
12026 
12027  lst_node_tri510.ajouter(lst_node_in_second.get(0));
12028  lst_node_tri510.ajouter(lst_node_in_second.get(2));
12029  lst_node_tri510.ajouter(lst_node_in_second.get(6));
12030 
12031  //----------------------------------------------------
12032  //----------------------------------------------------
12033  quall16=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
12034 
12035  quall17=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
12036 
12037  quall18=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
12038 
12039  //----------------------------------------------------
12040  quallo16=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
12041 
12042  quallo17=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
12043 
12044  quallo18=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
12045 
12046  lst_node_tri61.ajouter(lst_node_in_second.get(0));
12047  lst_node_tri61.ajouter(lst_node_in_second.get(1));
12048  lst_node_tri61.ajouter(lst_node_in_second.get(4));
12049 
12050  lst_node_tri62.ajouter(lst_node_in_second.get(0));
12051  lst_node_tri62.ajouter(lst_node_in_second.get(1));
12052  lst_node_tri62.ajouter(lst_node_in_second.get(6));
12053 
12054  lst_node_tri63.ajouter(lst_node_in_second.get(0));
12055  lst_node_tri63.ajouter(lst_node_in_second.get(4));
12056  lst_node_tri63.ajouter(lst_node_in_second.get(6));
12057 
12058  lst_node_tri64.ajouter(lst_node_in_second.get(1));
12059  lst_node_tri64.ajouter(lst_node_in_second.get(6));
12060  lst_node_tri64.ajouter(lst_node_in_second.get(4));
12061 
12062  lst_node_tri65.ajouter(lst_node_in_second.get(0));
12063  lst_node_tri65.ajouter(lst_node_in_second.get(2));
12064  lst_node_tri65.ajouter(lst_node_in_second.get(3));
12065 
12066  lst_node_tri66.ajouter(lst_node_in_second.get(0));
12067  lst_node_tri66.ajouter(lst_node_in_second.get(2));
12068  lst_node_tri66.ajouter(lst_node_in_second.get(4));
12069 
12070  lst_node_tri67.ajouter(lst_node_in_second.get(2));
12071  lst_node_tri67.ajouter(lst_node_in_second.get(3));
12072  lst_node_tri67.ajouter(lst_node_in_second.get(4));
12073 
12074  lst_node_tri68.ajouter(lst_node_in_second.get(0));
12075  lst_node_tri68.ajouter(lst_node_in_second.get(3));
12076  lst_node_tri68.ajouter(lst_node_in_second.get(4));
12077 
12078  lst_node_tri69.ajouter(lst_node_in_second.get(0));
12079  lst_node_tri69.ajouter(lst_node_in_second.get(3));
12080  lst_node_tri69.ajouter(lst_node_in_second.get(1));
12081 
12082  lst_node_tri610.ajouter(lst_node_in_second.get(1));
12083  lst_node_tri610.ajouter(lst_node_in_second.get(4));
12084  lst_node_tri610.ajouter(lst_node_in_second.get(3));
12085  //----------------------------------------------------
12086  //---------------------------------------------------
12087 
12088  if (((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001) && (quall3>0.001 || quallo3>0.001)) && ((quall4+quallo4+quall5+quallo5+quall6+quallo6)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)) && ((quall7+ quallo7+quall8+quallo8+quall9+quallo9)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)) && ((quall10+ quallo10+quall12+ quallo12+quall11+ quallo11)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)) && ((quall13+quallo13+quall14+quallo14+quall15+ quallo15)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)))
12089  {
12090  check_not_to_creat_tetra=0;
12091  LISTE_MG_TRIANGLE::iterator it_tri_existed;
12092  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
12093  {
12094  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))) || ((lst_node_tri18.existe(tri_existed->get_noeud1())) && (lst_node_tri18.existe(tri_existed->get_noeud2())) && (lst_node_tri18.existe(tri_existed->get_noeud3()))) || ((lst_node_tri19.existe(tri_existed->get_noeud1())) && (lst_node_tri19.existe(tri_existed->get_noeud2())) && (lst_node_tri19.existe(tri_existed->get_noeud3()))) || ((lst_node_tri110.existe(tri_existed->get_noeud1())) && (lst_node_tri110.existe(tri_existed->get_noeud2())) && (lst_node_tri110.existe(tri_existed->get_noeud3()))))
12095  {
12096 
12097  check_to_creat_tetra=2;
12098  }
12099  else
12100 
12101  {
12102  check_not_to_creat_tetra=3;
12103 
12104  }
12105 
12106  }
12107 
12108 
12109  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
12110  {
12111  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
12112  check_to_go_further=5;
12113  qualite_moyenne_3D+=quall1;
12114  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12115  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12116  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
12117  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
12118  }
12119 
12120  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
12121  {
12122  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
12123  check_to_go_further=5;
12124  qualite_moyenne_3D+=quallo1;
12125  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
12126  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
12127  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12128  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12129  }
12130 
12131  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
12132  {
12133  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12134  check_to_go_further=5;
12135 
12136  qualite_moyenne_3D+=quall2;
12137  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
12138  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
12139 
12140  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12141  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12142  }
12143  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
12144  {
12145  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12146  check_to_go_further=5;
12147 
12148  qualite_moyenne_3D+=quallo2;
12149  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
12150  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
12151 
12152  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12153  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12154  }
12155 
12156  if ((quall3>0.00001) && (check_not_to_creat_tetra!=3))
12157  {
12158  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
12159 
12160  check_to_go_further=5;
12161 
12162  qualite_moyenne_3D+=quall3;
12163  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
12164  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
12165  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12166  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12167  }
12168  if ((quallo3>0.00001) && (check_not_to_creat_tetra!=3))
12169 
12170  {
12171  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
12172  check_to_go_further=5;
12173  qualite_moyenne_3D+=quallo3;
12174  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
12175  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
12176  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12177  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12178  }
12179  }
12180  if (((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (quall6>0.001 || quallo6>0.001)) && (check_to_go_further==3) && ((quall7+ quallo7+quall8+quallo8+quall9+quallo9)<(quall4+quallo4+quall5+quallo5+quall6+quallo6)) && ((quall10+ quallo10+quall12+ quallo12+quall11+ quallo11)<(quall4+quallo4+quall5+quallo5+quall6+quallo6)) && ((quall13+quallo13+quall14+quallo14+quall15+ quallo15)<(quall4+quallo4+quall5+quallo5+quall6+quallo6)) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall4+quallo4+quall5+quallo5+quall6+quallo6)))
12181  {
12182  check_not_to_creat_tetra=0;
12183  LISTE_MG_TRIANGLE::iterator it_tri_existed;
12184  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
12185  {
12186  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))) || ((lst_node_tri28.existe(tri_existed->get_noeud1())) && (lst_node_tri28.existe(tri_existed->get_noeud2())) && (lst_node_tri28.existe(tri_existed->get_noeud3()))) || ((lst_node_tri29.existe(tri_existed->get_noeud1())) && (lst_node_tri29.existe(tri_existed->get_noeud2())) && (lst_node_tri29.existe(tri_existed->get_noeud3()))) || ((lst_node_tri210.existe(tri_existed->get_noeud1())) && (lst_node_tri210.existe(tri_existed->get_noeud2())) && (lst_node_tri210.existe(tri_existed->get_noeud3()))))
12187  {
12188  check_to_creat_tetra=2;
12189  }
12190  else
12191  {
12192  check_not_to_creat_tetra=3;
12193  }
12194  }
12195 
12196  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
12197  {
12198  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
12199  check_to_go_further=5;
12200  qualite_moyenne_3D+=quall4;
12201  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12202  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12203  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
12204  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
12205  }
12206 
12207  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
12208  {
12209  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12210  check_to_go_further=5;
12211  qualite_moyenne_3D+=quall5;
12212  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12213  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12214  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
12215 
12216  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
12217 
12218  }
12219 
12220  if((quall6>0.00001) && (check_not_to_creat_tetra!=3))
12221  {
12222  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12223  check_to_go_further=5;
12224 
12225  qualite_moyenne_3D+=quall6;
12226  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12227  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12228  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
12229  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
12230 
12231  }
12232  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
12233  {
12234  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
12235  check_to_go_further=5;
12236  qualite_moyenne_3D+=quallo4;
12237  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12238  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12239  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
12240  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
12241 
12242  }
12243 
12244  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
12245  {
12246  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12247  check_to_go_further=5;
12248  qualite_moyenne_3D+=quallo5;
12249  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12250  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12251  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
12252  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
12253 
12254  }
12255 
12256  if((quallo6>0.00001) && (check_not_to_creat_tetra!=3))
12257  {
12258  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12259  check_to_go_further=5;
12260  qualite_moyenne_3D+=quallo6;
12261  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12262  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12263  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
12264  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
12265 
12266  }
12267  }
12268  if (((quall7>0.001 || quallo7>0.001) && (quall8>0.001 || quallo8>0.001) && (quall9>0.001 || quallo9>0.001)) && (check_to_go_further==3) && ((quall10+ quallo10+quall12+ quallo12+quall11+ quallo11)<(quall7+quallo7+quall8+quallo8+quall9+quallo9)) && ((quall13+quallo13+quall14+quallo14+quall15+ quallo15)<(quall7+quallo7+quall8+quallo8+quall9+quallo9)) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall7+quallo7+quall8+quallo8+quall9+quallo9)))
12269  {
12270  check_not_to_creat_tetra=0;
12271  LISTE_MG_TRIANGLE::iterator it_tri_existed;
12272  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
12273  {
12274  if(((lst_node_tri31.existe(tri_existed->get_noeud1())) && (lst_node_tri31.existe(tri_existed->get_noeud2())) && (lst_node_tri31.existe(tri_existed->get_noeud3()))) || ((lst_node_tri32.existe(tri_existed->get_noeud1())) && (lst_node_tri32.existe(tri_existed->get_noeud2())) && (lst_node_tri32.existe(tri_existed->get_noeud3()))) || ((lst_node_tri33.existe(tri_existed->get_noeud1())) && (lst_node_tri33.existe(tri_existed->get_noeud2())) && (lst_node_tri33.existe(tri_existed->get_noeud3()))) || ((lst_node_tri34.existe(tri_existed->get_noeud1())) && (lst_node_tri34.existe(tri_existed->get_noeud2())) && (lst_node_tri34.existe(tri_existed->get_noeud3()))) || ((lst_node_tri35.existe(tri_existed->get_noeud1())) && (lst_node_tri35.existe(tri_existed->get_noeud2())) && (lst_node_tri35.existe(tri_existed->get_noeud3()))) || ((lst_node_tri36.existe(tri_existed->get_noeud1())) && (lst_node_tri36.existe(tri_existed->get_noeud2())) && (lst_node_tri36.existe(tri_existed->get_noeud3()))) || ((lst_node_tri37.existe(tri_existed->get_noeud1())) && (lst_node_tri37.existe(tri_existed->get_noeud2())) && (lst_node_tri37.existe(tri_existed->get_noeud3()))) || ((lst_node_tri38.existe(tri_existed->get_noeud1())) && (lst_node_tri38.existe(tri_existed->get_noeud2())) && (lst_node_tri38.existe(tri_existed->get_noeud3()))) || ((lst_node_tri39.existe(tri_existed->get_noeud1())) && (lst_node_tri39.existe(tri_existed->get_noeud2())) && (lst_node_tri39.existe(tri_existed->get_noeud3()))) || ((lst_node_tri310.existe(tri_existed->get_noeud1())) && (lst_node_tri310.existe(tri_existed->get_noeud2())) && (lst_node_tri310.existe(tri_existed->get_noeud3()))))
12275  {
12276 
12277  check_to_creat_tetra=2;
12278  }
12279 
12280  else
12281 
12282  {
12283  check_not_to_creat_tetra=3;
12284 
12285  }
12286 
12287  }
12288 
12289  if((quall7>0.00001) && (check_not_to_creat_tetra!=3))
12290  {
12291  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12292  check_to_go_further=5;
12293  qualite_moyenne_3D+=quall7;
12294  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12295  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12296 
12297  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
12298 
12299  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
12300  }
12301 
12302  if((quallo7>0.00001) && (check_not_to_creat_tetra!=3))
12303 
12304  {
12305  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12306  check_to_go_further=5;
12307  qualite_moyenne_3D+=quallo7;
12308  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12309  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12310 
12311  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
12312  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
12313  }
12314 
12315  if((quall8>0.00001) && (check_not_to_creat_tetra!=3))
12316  {
12317  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12318  check_to_go_further=5;
12319  qualite_moyenne_3D+=quall8;
12320  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12321  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12322  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
12323 
12324  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
12325 
12326  }
12327 
12328  if((quallo8>0.00001) && (check_not_to_creat_tetra!=3))
12329  {
12330  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12331  check_to_go_further=5;
12332  qualite_moyenne_3D+=quallo8;
12333  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12334  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12335  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
12336  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
12337 
12338  }
12339 
12340  if((quall9>0.00001) && (check_not_to_creat_tetra!=3))
12341  {
12342  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12343  check_to_go_further=5;
12344 
12345  qualite_moyenne_3D+=quall9;
12346  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12347  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12348  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
12349  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
12350  }
12351 
12352  if((quallo9>0.00001) && (check_not_to_creat_tetra!=3))
12353  {
12354  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12355  check_to_go_further=5;
12356  qualite_moyenne_3D+=quallo9;
12357  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12358  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12359  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
12360  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
12361  }
12362  }
12363  if (((quall10>0.001 || quallo10>0.001) && (quall11>0.001 || quallo11>0.001) && (quall12>0.001 || quallo12>0.001)) && (check_to_go_further==3) && ((quall13+quallo13+quall14+quallo14+quall15+ quallo15)<(quall10+quallo10+quall11+quallo11+quall12+quallo12)) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall10+quallo10+quall11+quallo11+quall12+quallo12)))
12364  {
12365  check_not_to_creat_tetra=0;
12366  LISTE_MG_TRIANGLE::iterator it_tri_existed;
12367  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
12368  {
12369  if(((lst_node_tri41.existe(tri_existed->get_noeud1())) && (lst_node_tri41.existe(tri_existed->get_noeud2())) && (lst_node_tri41.existe(tri_existed->get_noeud3()))) || ((lst_node_tri42.existe(tri_existed->get_noeud1())) && (lst_node_tri42.existe(tri_existed->get_noeud2())) && (lst_node_tri42.existe(tri_existed->get_noeud3()))) || ((lst_node_tri43.existe(tri_existed->get_noeud1())) && (lst_node_tri43.existe(tri_existed->get_noeud2())) && (lst_node_tri43.existe(tri_existed->get_noeud3()))) || ((lst_node_tri44.existe(tri_existed->get_noeud1())) && (lst_node_tri44.existe(tri_existed->get_noeud2())) && (lst_node_tri44.existe(tri_existed->get_noeud3()))) || ((lst_node_tri45.existe(tri_existed->get_noeud1())) && (lst_node_tri45.existe(tri_existed->get_noeud2())) && (lst_node_tri45.existe(tri_existed->get_noeud3()))) || ((lst_node_tri46.existe(tri_existed->get_noeud1())) && (lst_node_tri46.existe(tri_existed->get_noeud2())) && (lst_node_tri46.existe(tri_existed->get_noeud3()))) || ((lst_node_tri47.existe(tri_existed->get_noeud1())) && (lst_node_tri47.existe(tri_existed->get_noeud2())) && (lst_node_tri47.existe(tri_existed->get_noeud3()))) || ((lst_node_tri48.existe(tri_existed->get_noeud1())) && (lst_node_tri48.existe(tri_existed->get_noeud2())) && (lst_node_tri48.existe(tri_existed->get_noeud3()))) || ((lst_node_tri49.existe(tri_existed->get_noeud1())) && (lst_node_tri49.existe(tri_existed->get_noeud2())) && (lst_node_tri49.existe(tri_existed->get_noeud3()))) || ((lst_node_tri410.existe(tri_existed->get_noeud1())) && (lst_node_tri410.existe(tri_existed->get_noeud2())) && (lst_node_tri410.existe(tri_existed->get_noeud3()))))
12370  {
12371  check_to_creat_tetra=2;
12372  }
12373  else
12374  {
12375  check_not_to_creat_tetra=3;
12376  }
12377  }
12378 
12379  if((quall10>0.00001) && (check_not_to_creat_tetra!=3))
12380  {
12381  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
12382 
12383  check_to_go_further=5;
12384  qualite_moyenne_3D+=quall10;
12385  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12386  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12387  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
12388  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
12389  }
12390  if((quallo10>0.00001) && (check_not_to_creat_tetra!=3))
12391  {
12392  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
12393 
12394  check_to_go_further=5;
12395 
12396  qualite_moyenne_3D+=quallo10;
12397  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12398  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12399  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
12400  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
12401  }
12402 
12403  if((quall11>0.00001) && (check_not_to_creat_tetra!=3))
12404  {
12405  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12406  check_to_go_further=5;
12407  qualite_moyenne_3D+=quall11;
12408  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12409  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12410  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
12411  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
12412  }
12413  if((quallo11>0.00001) && (check_not_to_creat_tetra!=3))
12414  {
12415  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12416 
12417  check_to_go_further=5;
12418  qualite_moyenne_3D+=quallo11;
12419 
12420  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12421  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12422  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
12423  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
12424  }
12425  if((quall12>0.00001) && (check_not_to_creat_tetra!=3))
12426  {
12427  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12428  check_to_go_further=5;
12429  qualite_moyenne_3D+=quall12;
12430  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12431  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12432  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
12433  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
12434  }
12435  if((quallo12>0.00001) && (check_not_to_creat_tetra!=3))
12436 
12437  {
12438  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12439  check_to_go_further=5;
12440  qualite_moyenne_3D+=quallo12;
12441  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12442  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12443  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
12444  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
12445  }
12446  }
12447  if (((quall13>0.001 || quallo13>0.001) && (quall14>0.001 || quallo14>0.001) && (quall15>0.001 || quallo15>0.001)) && (check_to_go_further==3) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall13+quallo13+quall14+quallo14+quall15+quallo15)))
12448  {
12449  check_not_to_creat_tetra=0;
12450  LISTE_MG_TRIANGLE::iterator it_tri_existed;
12451  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
12452  {
12453 
12454  if(((lst_node_tri51.existe(tri_existed->get_noeud1())) && (lst_node_tri51.existe(tri_existed->get_noeud2())) && (lst_node_tri51.existe(tri_existed->get_noeud3()))) || ((lst_node_tri52.existe(tri_existed->get_noeud1())) && (lst_node_tri52.existe(tri_existed->get_noeud2())) && (lst_node_tri52.existe(tri_existed->get_noeud3()))) || ((lst_node_tri53.existe(tri_existed->get_noeud1())) && (lst_node_tri53.existe(tri_existed->get_noeud2())) && (lst_node_tri53.existe(tri_existed->get_noeud3()))) || ((lst_node_tri54.existe(tri_existed->get_noeud1())) && (lst_node_tri54.existe(tri_existed->get_noeud2())) && (lst_node_tri54.existe(tri_existed->get_noeud3()))) || ((lst_node_tri55.existe(tri_existed->get_noeud1())) && (lst_node_tri55.existe(tri_existed->get_noeud2())) && (lst_node_tri55.existe(tri_existed->get_noeud3()))) || ((lst_node_tri56.existe(tri_existed->get_noeud1())) && (lst_node_tri56.existe(tri_existed->get_noeud2())) && (lst_node_tri56.existe(tri_existed->get_noeud3()))) || ((lst_node_tri57.existe(tri_existed->get_noeud1())) && (lst_node_tri57.existe(tri_existed->get_noeud2())) && (lst_node_tri57.existe(tri_existed->get_noeud3()))) || ((lst_node_tri58.existe(tri_existed->get_noeud1())) && (lst_node_tri58.existe(tri_existed->get_noeud2())) && (lst_node_tri58.existe(tri_existed->get_noeud3()))) || ((lst_node_tri59.existe(tri_existed->get_noeud1())) && (lst_node_tri59.existe(tri_existed->get_noeud2())) && (lst_node_tri59.existe(tri_existed->get_noeud3()))) || ((lst_node_tri510.existe(tri_existed->get_noeud1())) && (lst_node_tri510.existe(tri_existed->get_noeud2())) && (lst_node_tri510.existe(tri_existed->get_noeud3()))))
12455  {
12456  check_to_creat_tetra=2;
12457  }
12458  else
12459  {
12460  check_not_to_creat_tetra=3;
12461  }
12462  }
12463  if((quall13>0.00001) && (check_not_to_creat_tetra!=3))
12464  {
12465  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12466  check_to_go_further=5;
12467  qualite_moyenne_3D+=quall13;
12468  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12469  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12470  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
12471 
12472 
12473  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
12474  }
12475 
12476  if((quallo13>0.00001) && (check_not_to_creat_tetra!=3))
12477  {
12478  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12479  check_to_go_further=5;
12480  qualite_moyenne_3D+=quallo13;
12481  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12482  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12483  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
12484 
12485  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
12486  }
12487 
12488  if((quall14>0.00001) && (check_not_to_creat_tetra!=3))
12489  {
12490  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12491 
12492  check_to_go_further=5;
12493  qualite_moyenne_3D+=quall14;
12494  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12495  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12496 
12497  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
12498  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
12499  }
12500 
12501  if((quallo14>0.00001) && (check_not_to_creat_tetra!=3))
12502  {
12503  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12504 
12505  check_to_go_further=5;
12506 
12507  qualite_moyenne_3D+=quallo14;
12508  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12509  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12510  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
12511  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
12512  }
12513 
12514  if((quall15>0.00001) && (check_not_to_creat_tetra!=3))
12515  {
12516  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12517  check_to_go_further=5;
12518  qualite_moyenne_3D+=quall15;
12519  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12520  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12521  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
12522  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
12523  }
12524 
12525  if((quallo15>0.00001) && (check_not_to_creat_tetra!=3))
12526  {
12527 
12528  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12529  check_to_go_further=5;
12530  qualite_moyenne_3D+=quallo15;
12531  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12532  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12533  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
12534  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
12535  }
12536  }
12537  if ((quall16>0.001 || quallo16>0.001) && (quall17>0.001 || quallo17>0.001) && (quall18>0.001 || quallo18>0.001) && (check_to_go_further==3))
12538  {
12539  check_not_to_creat_tetra=0;
12540  LISTE_MG_TRIANGLE::iterator it_tri_existed;
12541  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
12542  {
12543  if(((lst_node_tri61.existe(tri_existed->get_noeud1())) && (lst_node_tri61.existe(tri_existed->get_noeud2())) && (lst_node_tri61.existe(tri_existed->get_noeud3()))) || ((lst_node_tri62.existe(tri_existed->get_noeud1())) && (lst_node_tri62.existe(tri_existed->get_noeud2())) && (lst_node_tri62.existe(tri_existed->get_noeud3()))) || ((lst_node_tri63.existe(tri_existed->get_noeud1())) && (lst_node_tri63.existe(tri_existed->get_noeud2())) && (lst_node_tri63.existe(tri_existed->get_noeud3()))) || ((lst_node_tri64.existe(tri_existed->get_noeud1())) && (lst_node_tri64.existe(tri_existed->get_noeud2())) && (lst_node_tri64.existe(tri_existed->get_noeud3()))) || ((lst_node_tri65.existe(tri_existed->get_noeud1())) && (lst_node_tri65.existe(tri_existed->get_noeud2())) && (lst_node_tri65.existe(tri_existed->get_noeud3()))) || ((lst_node_tri66.existe(tri_existed->get_noeud1())) && (lst_node_tri66.existe(tri_existed->get_noeud2())) && (lst_node_tri66.existe(tri_existed->get_noeud3()))) || ((lst_node_tri67.existe(tri_existed->get_noeud1())) && (lst_node_tri67.existe(tri_existed->get_noeud2())) && (lst_node_tri67.existe(tri_existed->get_noeud3()))) || ((lst_node_tri68.existe(tri_existed->get_noeud1())) && (lst_node_tri68.existe(tri_existed->get_noeud2())) && (lst_node_tri68.existe(tri_existed->get_noeud3()))) || ((lst_node_tri69.existe(tri_existed->get_noeud1())) && (lst_node_tri69.existe(tri_existed->get_noeud2())) && (lst_node_tri69.existe(tri_existed->get_noeud3()))) || ((lst_node_tri610.existe(tri_existed->get_noeud1())) && (lst_node_tri610.existe(tri_existed->get_noeud2())) && (lst_node_tri610.existe(tri_existed->get_noeud3()))))
12544  {
12545  check_to_creat_tetra=2;
12546  }
12547  else
12548  {
12549  check_not_to_creat_tetra=3;
12550  }
12551  }
12552 
12553  if((quall16>0.00001) && (check_not_to_creat_tetra!=3))
12554  {
12555  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12556 
12557  check_to_go_further=5;
12558  qualite_moyenne_3D+=quall16;
12559  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12560  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12561 
12562  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
12563  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
12564  }
12565  if((quallo16>0.00001) && (check_not_to_creat_tetra!=3))
12566  {
12567  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12568  check_to_go_further=5;
12569  qualite_moyenne_3D+=quallo16;
12570  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12571  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12572  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
12573  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
12574  }
12575  if((quall17>0.00001) && (check_not_to_creat_tetra!=3))
12576  {
12577  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
12578  check_to_go_further=5;
12579  qualite_moyenne_3D+=quall17;
12580  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12581  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12582  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
12583  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
12584  }
12585  if((quallo17>0.00001) && (check_not_to_creat_tetra!=3))
12586  {
12587  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
12588  check_to_go_further=5;
12589  qualite_moyenne_3D+=quallo17;
12590 
12591  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12592  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12593 
12594  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
12595  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
12596  }
12597  if((quall18>0.00001) && (check_not_to_creat_tetra!=3))
12598  {
12599  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
12600  check_to_go_further=5;
12601  qualite_moyenne_3D+=quall18;
12602  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12603  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12604  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
12605  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
12606  }
12607  if((quallo18>0.00001) && (check_not_to_creat_tetra!=3))
12608  {
12609  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
12610  check_to_go_further=5;
12611  qualite_moyenne_3D+=quallo18;
12612 
12613  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12614  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12615  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
12616  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
12617  }
12618  }
12619 
12620  //============================================Second loop==============================================================
12621  if (check_to_go_further==3)
12622  {
12623  if ((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001) && (quall3>0.001 || quallo3>0.001))
12624  {
12625  check_not_to_creat_tetra=0;
12626  LISTE_MG_TRIANGLE::iterator it_tri_existed;
12627  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
12628 
12629  {
12630 
12631  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))) || ((lst_node_tri18.existe(tri_existed->get_noeud1())) && (lst_node_tri18.existe(tri_existed->get_noeud2())) && (lst_node_tri18.existe(tri_existed->get_noeud3()))) || ((lst_node_tri19.existe(tri_existed->get_noeud1())) && (lst_node_tri19.existe(tri_existed->get_noeud2())) && (lst_node_tri19.existe(tri_existed->get_noeud3()))) || ((lst_node_tri110.existe(tri_existed->get_noeud1())) && (lst_node_tri110.existe(tri_existed->get_noeud2())) && (lst_node_tri110.existe(tri_existed->get_noeud3()))))
12632  {
12633 
12634  check_to_creat_tetra=2;
12635  }
12636 
12637 
12638  else
12639 
12640  {
12641  check_not_to_creat_tetra=3;
12642 
12643  }
12644 
12645  }
12646 
12647 
12648  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
12649  {
12650  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
12651  check_to_go_further=5;
12652  qualite_moyenne_3D+=quall1;
12653  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12654  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12655  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
12656  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
12657  }
12658 
12659  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
12660  {
12661  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
12662  check_to_go_further=5;
12663  qualite_moyenne_3D+=quallo1;
12664  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
12665  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
12666  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12667  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12668  }
12669 
12670  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
12671  {
12672  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12673  check_to_go_further=5;
12674 
12675  qualite_moyenne_3D+=quall2;
12676  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
12677  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
12678 
12679  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12680  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12681  }
12682  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
12683  {
12684  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12685  check_to_go_further=5;
12686 
12687  qualite_moyenne_3D+=quallo2;
12688  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
12689  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
12690 
12691  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12692  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12693  }
12694 
12695  if ((quall3>0.00001) && (check_not_to_creat_tetra!=3))
12696  {
12697  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
12698 
12699  check_to_go_further=5;
12700 
12701  qualite_moyenne_3D+=quall3;
12702  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
12703  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
12704  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12705  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12706  }
12707  if ((quallo3>0.00001) && (check_not_to_creat_tetra!=3))
12708 
12709  {
12710  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
12711  check_to_go_further=5;
12712  qualite_moyenne_3D+=quallo3;
12713  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
12714  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
12715  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12716  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12717  }
12718 
12719 
12720  }
12721  if ((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (quall6>0.001 || quallo6>0.001) && (check_to_go_further==3))
12722  {
12723  check_not_to_creat_tetra=0;
12724  LISTE_MG_TRIANGLE::iterator it_tri_existed;
12725  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
12726 
12727  {
12728 
12729  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))) || ((lst_node_tri28.existe(tri_existed->get_noeud1())) && (lst_node_tri28.existe(tri_existed->get_noeud2())) && (lst_node_tri28.existe(tri_existed->get_noeud3()))) || ((lst_node_tri29.existe(tri_existed->get_noeud1())) && (lst_node_tri29.existe(tri_existed->get_noeud2())) && (lst_node_tri29.existe(tri_existed->get_noeud3()))) || ((lst_node_tri210.existe(tri_existed->get_noeud1())) && (lst_node_tri210.existe(tri_existed->get_noeud2())) && (lst_node_tri210.existe(tri_existed->get_noeud3()))))
12730  {
12731 
12732  check_to_creat_tetra=2;
12733  }
12734 
12735  else
12736 
12737  {
12738  check_not_to_creat_tetra=3;
12739 
12740  }
12741 
12742  }
12743 
12744  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
12745  {
12746  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
12747  check_to_go_further=5;
12748  qualite_moyenne_3D+=quall4;
12749  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12750  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12751  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
12752  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
12753  }
12754 
12755  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
12756  {
12757  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12758  check_to_go_further=5;
12759  qualite_moyenne_3D+=quall5;
12760  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12761  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12762  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
12763 
12764  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
12765 
12766  }
12767 
12768  if((quall6>0.00001) && (check_not_to_creat_tetra!=3))
12769  {
12770  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12771  check_to_go_further=5;
12772 
12773  qualite_moyenne_3D+=quall6;
12774  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12775  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12776  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
12777  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
12778 
12779  }
12780  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
12781  {
12782  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
12783  check_to_go_further=5;
12784  qualite_moyenne_3D+=quallo4;
12785  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12786  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12787  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
12788  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
12789 
12790  }
12791 
12792  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
12793  {
12794  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12795  check_to_go_further=5;
12796  qualite_moyenne_3D+=quallo5;
12797  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12798  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12799  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
12800  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
12801 
12802  }
12803 
12804  if((quallo6>0.00001) && (check_not_to_creat_tetra!=3))
12805  {
12806  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12807  check_to_go_further=5;
12808  qualite_moyenne_3D+=quallo6;
12809  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12810  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12811  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
12812  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
12813 
12814  }
12815 
12816  }
12817  if ((quall7>0.001 || quallo7>0.001) && (quall8>0.001 || quallo8>0.001) && (quall9>0.001 || quallo9>0.001) && (check_to_go_further==3))
12818  {
12819  check_not_to_creat_tetra=0;
12820  LISTE_MG_TRIANGLE::iterator it_tri_existed;
12821  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
12822 
12823  {
12824 
12825  if(((lst_node_tri31.existe(tri_existed->get_noeud1())) && (lst_node_tri31.existe(tri_existed->get_noeud2())) && (lst_node_tri31.existe(tri_existed->get_noeud3()))) || ((lst_node_tri32.existe(tri_existed->get_noeud1())) && (lst_node_tri32.existe(tri_existed->get_noeud2())) && (lst_node_tri32.existe(tri_existed->get_noeud3()))) || ((lst_node_tri33.existe(tri_existed->get_noeud1())) && (lst_node_tri33.existe(tri_existed->get_noeud2())) && (lst_node_tri33.existe(tri_existed->get_noeud3()))) || ((lst_node_tri34.existe(tri_existed->get_noeud1())) && (lst_node_tri34.existe(tri_existed->get_noeud2())) && (lst_node_tri34.existe(tri_existed->get_noeud3()))) || ((lst_node_tri35.existe(tri_existed->get_noeud1())) && (lst_node_tri35.existe(tri_existed->get_noeud2())) && (lst_node_tri35.existe(tri_existed->get_noeud3()))) || ((lst_node_tri36.existe(tri_existed->get_noeud1())) && (lst_node_tri36.existe(tri_existed->get_noeud2())) && (lst_node_tri36.existe(tri_existed->get_noeud3()))) || ((lst_node_tri37.existe(tri_existed->get_noeud1())) && (lst_node_tri37.existe(tri_existed->get_noeud2())) && (lst_node_tri37.existe(tri_existed->get_noeud3()))) || ((lst_node_tri38.existe(tri_existed->get_noeud1())) && (lst_node_tri38.existe(tri_existed->get_noeud2())) && (lst_node_tri38.existe(tri_existed->get_noeud3()))) || ((lst_node_tri39.existe(tri_existed->get_noeud1())) && (lst_node_tri39.existe(tri_existed->get_noeud2())) && (lst_node_tri39.existe(tri_existed->get_noeud3()))) || ((lst_node_tri310.existe(tri_existed->get_noeud1())) && (lst_node_tri310.existe(tri_existed->get_noeud2())) && (lst_node_tri310.existe(tri_existed->get_noeud3()))))
12826  {
12827 
12828  check_to_creat_tetra=2;
12829  }
12830 
12831  else
12832 
12833  {
12834  check_not_to_creat_tetra=3;
12835 
12836  }
12837 
12838  }
12839 
12840  if((quall7>0.00001) && (check_not_to_creat_tetra!=3))
12841  {
12842  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12843  check_to_go_further=5;
12844  qualite_moyenne_3D+=quall7;
12845  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12846  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12847 
12848  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
12849 
12850  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
12851  }
12852 
12853  if((quallo7>0.00001) && (check_not_to_creat_tetra!=3))
12854 
12855  {
12856  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12857  check_to_go_further=5;
12858  qualite_moyenne_3D+=quallo7;
12859  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12860  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12861 
12862  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
12863  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
12864  }
12865 
12866  if((quall8>0.00001) && (check_not_to_creat_tetra!=3))
12867  {
12868  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12869  check_to_go_further=5;
12870  qualite_moyenne_3D+=quall8;
12871  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12872  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12873  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
12874 
12875  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
12876 
12877  }
12878 
12879  if((quallo8>0.00001) && (check_not_to_creat_tetra!=3))
12880  {
12881  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12882  check_to_go_further=5;
12883  qualite_moyenne_3D+=quallo8;
12884  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12885  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12886  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
12887  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
12888 
12889  }
12890 
12891  if((quall9>0.00001) && (check_not_to_creat_tetra!=3))
12892  {
12893  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12894  check_to_go_further=5;
12895 
12896  qualite_moyenne_3D+=quall9;
12897  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12898  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12899  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
12900  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
12901  }
12902 
12903  if((quallo9>0.00001) && (check_not_to_creat_tetra!=3))
12904  {
12905  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12906  check_to_go_further=5;
12907  qualite_moyenne_3D+=quallo9;
12908  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12909  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12910  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
12911  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
12912  }
12913  }
12914  if ((quall10>0.001 || quallo10>0.001) && (quall12>0.001 || quallo12>0.001) && (quall11>0.001 || quallo11>0.001) && (check_to_go_further==3))
12915  {
12916  check_not_to_creat_tetra=0;
12917  LISTE_MG_TRIANGLE::iterator it_tri_existed;
12918  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
12919  {
12920  if(((lst_node_tri41.existe(tri_existed->get_noeud1())) && (lst_node_tri41.existe(tri_existed->get_noeud2())) && (lst_node_tri41.existe(tri_existed->get_noeud3()))) || ((lst_node_tri42.existe(tri_existed->get_noeud1())) && (lst_node_tri42.existe(tri_existed->get_noeud2())) && (lst_node_tri42.existe(tri_existed->get_noeud3()))) || ((lst_node_tri43.existe(tri_existed->get_noeud1())) && (lst_node_tri43.existe(tri_existed->get_noeud2())) && (lst_node_tri43.existe(tri_existed->get_noeud3()))) || ((lst_node_tri44.existe(tri_existed->get_noeud1())) && (lst_node_tri44.existe(tri_existed->get_noeud2())) && (lst_node_tri44.existe(tri_existed->get_noeud3()))) || ((lst_node_tri45.existe(tri_existed->get_noeud1())) && (lst_node_tri45.existe(tri_existed->get_noeud2())) && (lst_node_tri45.existe(tri_existed->get_noeud3()))) || ((lst_node_tri46.existe(tri_existed->get_noeud1())) && (lst_node_tri46.existe(tri_existed->get_noeud2())) && (lst_node_tri46.existe(tri_existed->get_noeud3()))) || ((lst_node_tri47.existe(tri_existed->get_noeud1())) && (lst_node_tri47.existe(tri_existed->get_noeud2())) && (lst_node_tri47.existe(tri_existed->get_noeud3()))) || ((lst_node_tri48.existe(tri_existed->get_noeud1())) && (lst_node_tri48.existe(tri_existed->get_noeud2())) && (lst_node_tri48.existe(tri_existed->get_noeud3()))) || ((lst_node_tri49.existe(tri_existed->get_noeud1())) && (lst_node_tri49.existe(tri_existed->get_noeud2())) && (lst_node_tri49.existe(tri_existed->get_noeud3()))) || ((lst_node_tri410.existe(tri_existed->get_noeud1())) && (lst_node_tri410.existe(tri_existed->get_noeud2())) && (lst_node_tri410.existe(tri_existed->get_noeud3()))))
12921  {
12922 
12923  check_to_creat_tetra=2;
12924 
12925  }
12926 
12927  else
12928 
12929  {
12930  check_not_to_creat_tetra=3;
12931 
12932  }
12933 
12934  }
12935 
12936  if((quall10>0.00001) && (check_not_to_creat_tetra!=3))
12937  {
12938  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
12939 
12940  check_to_go_further=5;
12941 
12942  qualite_moyenne_3D+=quall10;
12943  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12944  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12945  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
12946  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
12947  }
12948  if((quallo10>0.00001) && (check_not_to_creat_tetra!=3))
12949  {
12950  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
12951 
12952  check_to_go_further=5;
12953  qualite_moyenne_3D+=quallo10;
12954  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12955  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12956  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
12957  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
12958  }
12959 
12960  if((quall11>0.00001) && (check_not_to_creat_tetra!=3))
12961  {
12962  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12963  check_to_go_further=5;
12964  qualite_moyenne_3D+=quall11;
12965  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12966  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12967  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
12968  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
12969  }
12970  if((quallo11>0.00001) && (check_not_to_creat_tetra!=3))
12971  {
12972  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12973 
12974  check_to_go_further=5;
12975  qualite_moyenne_3D+=quallo11;
12976 
12977  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12978  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12979  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
12980  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
12981  }
12982  if((quall12>0.00001) && (check_not_to_creat_tetra!=3))
12983  {
12984  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12985  check_to_go_further=5;
12986  qualite_moyenne_3D+=quall12;
12987  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12988  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12989  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
12990  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
12991  }
12992  if((quallo12>0.00001) && (check_not_to_creat_tetra!=3))
12993 
12994  {
12995  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
12996  check_to_go_further=5;
12997  qualite_moyenne_3D+=quallo12;
12998  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12999  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13000  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
13001  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
13002  }
13003  }
13004  if ((quall13>0.001 || quallo13>0.001) && (quall14>0.001 || quallo14>0.001) && (quall15>0.001 || quallo15>0.001) && (check_to_go_further==3))
13005  {
13006  check_not_to_creat_tetra=0;
13007  LISTE_MG_TRIANGLE::iterator it_tri_existed;
13008  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
13009 
13010  {
13011 
13012  if(((lst_node_tri51.existe(tri_existed->get_noeud1())) && (lst_node_tri51.existe(tri_existed->get_noeud2())) && (lst_node_tri51.existe(tri_existed->get_noeud3()))) || ((lst_node_tri52.existe(tri_existed->get_noeud1())) && (lst_node_tri52.existe(tri_existed->get_noeud2())) && (lst_node_tri52.existe(tri_existed->get_noeud3()))) || ((lst_node_tri53.existe(tri_existed->get_noeud1())) && (lst_node_tri53.existe(tri_existed->get_noeud2())) && (lst_node_tri53.existe(tri_existed->get_noeud3()))) || ((lst_node_tri54.existe(tri_existed->get_noeud1())) && (lst_node_tri54.existe(tri_existed->get_noeud2())) && (lst_node_tri54.existe(tri_existed->get_noeud3()))) || ((lst_node_tri55.existe(tri_existed->get_noeud1())) && (lst_node_tri55.existe(tri_existed->get_noeud2())) && (lst_node_tri55.existe(tri_existed->get_noeud3()))) || ((lst_node_tri56.existe(tri_existed->get_noeud1())) && (lst_node_tri56.existe(tri_existed->get_noeud2())) && (lst_node_tri56.existe(tri_existed->get_noeud3()))) || ((lst_node_tri57.existe(tri_existed->get_noeud1())) && (lst_node_tri57.existe(tri_existed->get_noeud2())) && (lst_node_tri57.existe(tri_existed->get_noeud3()))) || ((lst_node_tri58.existe(tri_existed->get_noeud1())) && (lst_node_tri58.existe(tri_existed->get_noeud2())) && (lst_node_tri58.existe(tri_existed->get_noeud3()))) || ((lst_node_tri59.existe(tri_existed->get_noeud1())) && (lst_node_tri59.existe(tri_existed->get_noeud2())) && (lst_node_tri59.existe(tri_existed->get_noeud3()))) || ((lst_node_tri510.existe(tri_existed->get_noeud1())) && (lst_node_tri510.existe(tri_existed->get_noeud2())) && (lst_node_tri510.existe(tri_existed->get_noeud3()))))
13013  {
13014 
13015  check_to_creat_tetra=2;
13016  }
13017 
13018  else
13019 
13020  {
13021  check_not_to_creat_tetra=3;
13022 
13023  }
13024 
13025  }
13026 
13027 
13028  if((quall13>0.00001) && (check_not_to_creat_tetra!=3))
13029  {
13030  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13031  check_to_go_further=5;
13032  qualite_moyenne_3D+=quall13;
13033  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13034  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13035  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
13036 
13037 
13038  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
13039  }
13040 
13041  if((quallo13>0.00001) && (check_not_to_creat_tetra!=3))
13042  {
13043  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13044  check_to_go_further=5;
13045  qualite_moyenne_3D+=quallo13;
13046  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13047  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13048  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
13049 
13050  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
13051  }
13052 
13053  if((quall14>0.00001) && (check_not_to_creat_tetra!=3))
13054  {
13055  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13056 
13057  check_to_go_further=5;
13058  qualite_moyenne_3D+=quall14;
13059  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13060  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13061 
13062  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
13063  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
13064  }
13065 
13066  if((quallo14>0.00001) && (check_not_to_creat_tetra!=3))
13067  {
13068  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13069 
13070  check_to_go_further=5;
13071 
13072  qualite_moyenne_3D+=quallo14;
13073  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13074  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13075  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
13076  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
13077  }
13078 
13079  if((quall15>0.00001) && (check_not_to_creat_tetra!=3))
13080  {
13081  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13082  check_to_go_further=5;
13083  qualite_moyenne_3D+=quall15;
13084  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13085  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13086  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
13087  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
13088  }
13089 
13090  if((quallo15>0.00001) && (check_not_to_creat_tetra!=3))
13091  {
13092 
13093  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13094  check_to_go_further=5;
13095  qualite_moyenne_3D+=quallo15;
13096  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13097  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13098  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
13099  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
13100  }
13101  }
13102 
13103  if ((quall16>0.001 || quallo16>0.001) && (quall17>0.001 || quallo17>0.001) && (quall18>0.001 || quallo18>0.001) && (check_to_go_further==3))
13104  {
13105  check_not_to_creat_tetra=0;
13106  LISTE_MG_TRIANGLE::iterator it_tri_existed;
13107  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
13108 
13109  {
13110 
13111  if(((lst_node_tri61.existe(tri_existed->get_noeud1())) && (lst_node_tri61.existe(tri_existed->get_noeud2())) && (lst_node_tri61.existe(tri_existed->get_noeud3()))) || ((lst_node_tri62.existe(tri_existed->get_noeud1())) && (lst_node_tri62.existe(tri_existed->get_noeud2())) && (lst_node_tri62.existe(tri_existed->get_noeud3()))) || ((lst_node_tri63.existe(tri_existed->get_noeud1())) && (lst_node_tri63.existe(tri_existed->get_noeud2())) && (lst_node_tri63.existe(tri_existed->get_noeud3()))) || ((lst_node_tri64.existe(tri_existed->get_noeud1())) && (lst_node_tri64.existe(tri_existed->get_noeud2())) && (lst_node_tri64.existe(tri_existed->get_noeud3()))) || ((lst_node_tri65.existe(tri_existed->get_noeud1())) && (lst_node_tri65.existe(tri_existed->get_noeud2())) && (lst_node_tri65.existe(tri_existed->get_noeud3()))) || ((lst_node_tri66.existe(tri_existed->get_noeud1())) && (lst_node_tri66.existe(tri_existed->get_noeud2())) && (lst_node_tri66.existe(tri_existed->get_noeud3()))) || ((lst_node_tri67.existe(tri_existed->get_noeud1())) && (lst_node_tri67.existe(tri_existed->get_noeud2())) && (lst_node_tri67.existe(tri_existed->get_noeud3()))) || ((lst_node_tri68.existe(tri_existed->get_noeud1())) && (lst_node_tri68.existe(tri_existed->get_noeud2())) && (lst_node_tri68.existe(tri_existed->get_noeud3()))) || ((lst_node_tri69.existe(tri_existed->get_noeud1())) && (lst_node_tri69.existe(tri_existed->get_noeud2())) && (lst_node_tri69.existe(tri_existed->get_noeud3()))) || ((lst_node_tri610.existe(tri_existed->get_noeud1())) && (lst_node_tri610.existe(tri_existed->get_noeud2())) && (lst_node_tri610.existe(tri_existed->get_noeud3()))))
13112  {
13113 
13114  check_to_creat_tetra=2;
13115  }
13116 
13117 
13118  else
13119 
13120  {
13121  check_not_to_creat_tetra=3;
13122 
13123  }
13124 
13125  }
13126 
13127  if((quall16>0.00001) && (check_not_to_creat_tetra!=3))
13128  {
13129  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13130 
13131  check_to_go_further=5;
13132  qualite_moyenne_3D+=quall16;
13133  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13134  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13135 
13136  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
13137  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
13138  }
13139  if((quallo16>0.00001) && (check_not_to_creat_tetra!=3))
13140  {
13141  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13142 
13143  check_to_go_further=5;
13144  qualite_moyenne_3D+=quallo16;
13145  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13146  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13147  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
13148  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
13149  }
13150  if((quall17>0.00001) && (check_not_to_creat_tetra!=3))
13151  {
13152  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
13153  check_to_go_further=5;
13154  qualite_moyenne_3D+=quall17;
13155  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13156  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13157  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
13158  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
13159  }
13160  if((quallo17>0.00001) && (check_not_to_creat_tetra!=3))
13161  {
13162  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
13163  check_to_go_further=5;
13164  qualite_moyenne_3D+=quallo17;
13165 
13166  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13167  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13168 
13169  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
13170  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
13171  }
13172  if((quall18>0.00001) && (check_not_to_creat_tetra!=3))
13173  {
13174  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
13175  check_to_go_further=5;
13176  qualite_moyenne_3D+=quall18;
13177  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13178  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13179  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
13180  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
13181  }
13182  if((quallo18>0.00001) && (check_not_to_creat_tetra!=3))
13183  {
13184  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
13185  check_to_go_further=5;
13186  qualite_moyenne_3D+=quallo18;
13187 
13188  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13189  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13190  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
13191  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
13192  }
13193  }
13194  }
13195  //============================================Third loop==============================================================
13196  if (check_to_go_further==3)
13197  {
13198  if ((quall1>0.000001 || quallo1>0.000001) && (quall2>0.000001 || quallo2>0.000001) && (quall3>0.000001 || quallo3>0.000001))
13199  {
13200  check_not_to_creat_tetra=0;
13201  LISTE_MG_TRIANGLE::iterator it_tri_existed;
13202  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
13203 
13204  {
13205 
13206  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))) || ((lst_node_tri18.existe(tri_existed->get_noeud1())) && (lst_node_tri18.existe(tri_existed->get_noeud2())) && (lst_node_tri18.existe(tri_existed->get_noeud3()))) || ((lst_node_tri19.existe(tri_existed->get_noeud1())) && (lst_node_tri19.existe(tri_existed->get_noeud2())) && (lst_node_tri19.existe(tri_existed->get_noeud3()))) || ((lst_node_tri110.existe(tri_existed->get_noeud1())) && (lst_node_tri110.existe(tri_existed->get_noeud2())) && (lst_node_tri110.existe(tri_existed->get_noeud3()))))
13207  {
13208 
13209  check_to_creat_tetra=2;
13210  }
13211 
13212 
13213  else
13214 
13215  {
13216  check_not_to_creat_tetra=3;
13217 
13218  }
13219 
13220  }
13221 
13222 
13223  if ((quall1>0.000001) && (check_not_to_creat_tetra!=3))
13224  {
13225  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
13226  check_to_go_further=5;
13227  qualite_moyenne_3D+=quall1;
13228  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13229  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13230  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
13231  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
13232  }
13233 
13234  if ((quallo1>0.000001) && (check_not_to_creat_tetra!=3))
13235  {
13236  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
13237  check_to_go_further=5;
13238  qualite_moyenne_3D+=quallo1;
13239  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
13240  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
13241  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13242  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13243  }
13244 
13245  if ((quall2>0.000001) && (check_not_to_creat_tetra!=3))
13246  {
13247  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13248  check_to_go_further=5;
13249 
13250  qualite_moyenne_3D+=quall2;
13251  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
13252  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
13253 
13254  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13255  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13256  }
13257  if ((quallo2>0.000001) && (check_not_to_creat_tetra!=3))
13258  {
13259  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13260  check_to_go_further=5;
13261 
13262  qualite_moyenne_3D+=quallo2;
13263  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
13264  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
13265 
13266  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13267  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13268  }
13269 
13270  if ((quall3>0.000001) && (check_not_to_creat_tetra!=3))
13271  {
13272  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
13273 
13274  check_to_go_further=5;
13275 
13276  qualite_moyenne_3D+=quall3;
13277  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
13278  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
13279  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13280  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13281  }
13282  if ((quallo3>0.000001) && (check_not_to_creat_tetra!=3))
13283 
13284  {
13285  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine()));
13286  check_to_go_further=5;
13287  qualite_moyenne_3D+=quallo3;
13288  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
13289  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
13290  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13291  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13292  }
13293  }
13294  if ((quall4>0.000001 || quallo4>0.000001) && (quall5>0.000001 || quallo5>0.000001) && (quall6>0.000001 || quallo6>0.000001) && (check_to_go_further==3))
13295  {
13296  check_not_to_creat_tetra=0;
13297  LISTE_MG_TRIANGLE::iterator it_tri_existed;
13298  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
13299 
13300  {
13301 
13302  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))) || ((lst_node_tri28.existe(tri_existed->get_noeud1())) && (lst_node_tri28.existe(tri_existed->get_noeud2())) && (lst_node_tri28.existe(tri_existed->get_noeud3()))) || ((lst_node_tri29.existe(tri_existed->get_noeud1())) && (lst_node_tri29.existe(tri_existed->get_noeud2())) && (lst_node_tri29.existe(tri_existed->get_noeud3()))) || ((lst_node_tri210.existe(tri_existed->get_noeud1())) && (lst_node_tri210.existe(tri_existed->get_noeud2())) && (lst_node_tri210.existe(tri_existed->get_noeud3()))))
13303  {
13304 
13305  check_to_creat_tetra=2;
13306  }
13307 
13308  else
13309 
13310  {
13311  check_not_to_creat_tetra=3;
13312 
13313  }
13314 
13315  }
13316 
13317  if((quall4>0.000001) && (check_not_to_creat_tetra!=3))
13318  {
13319  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
13320  check_to_go_further=5;
13321  qualite_moyenne_3D+=quall4;
13322  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13323  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13324  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
13325  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
13326  }
13327 
13328  if((quall5>0.000001) && (check_not_to_creat_tetra!=3))
13329  {
13330  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13331  check_to_go_further=5;
13332  qualite_moyenne_3D+=quall5;
13333  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13334  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13335  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
13336 
13337  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
13338 
13339  }
13340 
13341  if((quall6>0.000001) && (check_not_to_creat_tetra!=3))
13342  {
13343  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13344  check_to_go_further=5;
13345 
13346  qualite_moyenne_3D+=quall6;
13347  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13348  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13349  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
13350  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
13351 
13352  }
13353  if((quallo4>0.000001) && (check_not_to_creat_tetra!=3))
13354  {
13355  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
13356  check_to_go_further=5;
13357  qualite_moyenne_3D+=quallo4;
13358  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13359  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13360  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
13361  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
13362 
13363  }
13364 
13365  if((quallo5>0.000001) && (check_not_to_creat_tetra!=3))
13366  {
13367  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13368  check_to_go_further=5;
13369  qualite_moyenne_3D+=quallo5;
13370  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13371  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13372  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
13373  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
13374 
13375  }
13376 
13377  if((quallo6>0.000001) && (check_not_to_creat_tetra!=3))
13378  {
13379  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13380  check_to_go_further=5;
13381  qualite_moyenne_3D+=quallo6;
13382  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13383  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13384  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
13385  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
13386 
13387  }
13388  }
13389  if ((quall7>0.000001 || quallo7>0.000001) && (quall8>0.000001 || quallo8>0.000001) && (quall9>0.000001 || quallo9>0.000001) && (check_to_go_further==3))
13390  {
13391  check_not_to_creat_tetra=0;
13392  LISTE_MG_TRIANGLE::iterator it_tri_existed;
13393  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
13394 
13395  {
13396 
13397  if(((lst_node_tri31.existe(tri_existed->get_noeud1())) && (lst_node_tri31.existe(tri_existed->get_noeud2())) && (lst_node_tri31.existe(tri_existed->get_noeud3()))) || ((lst_node_tri32.existe(tri_existed->get_noeud1())) && (lst_node_tri32.existe(tri_existed->get_noeud2())) && (lst_node_tri32.existe(tri_existed->get_noeud3()))) || ((lst_node_tri33.existe(tri_existed->get_noeud1())) && (lst_node_tri33.existe(tri_existed->get_noeud2())) && (lst_node_tri33.existe(tri_existed->get_noeud3()))) || ((lst_node_tri34.existe(tri_existed->get_noeud1())) && (lst_node_tri34.existe(tri_existed->get_noeud2())) && (lst_node_tri34.existe(tri_existed->get_noeud3()))) || ((lst_node_tri35.existe(tri_existed->get_noeud1())) && (lst_node_tri35.existe(tri_existed->get_noeud2())) && (lst_node_tri35.existe(tri_existed->get_noeud3()))) || ((lst_node_tri36.existe(tri_existed->get_noeud1())) && (lst_node_tri36.existe(tri_existed->get_noeud2())) && (lst_node_tri36.existe(tri_existed->get_noeud3()))) || ((lst_node_tri37.existe(tri_existed->get_noeud1())) && (lst_node_tri37.existe(tri_existed->get_noeud2())) && (lst_node_tri37.existe(tri_existed->get_noeud3()))) || ((lst_node_tri38.existe(tri_existed->get_noeud1())) && (lst_node_tri38.existe(tri_existed->get_noeud2())) && (lst_node_tri38.existe(tri_existed->get_noeud3()))) || ((lst_node_tri39.existe(tri_existed->get_noeud1())) && (lst_node_tri39.existe(tri_existed->get_noeud2())) && (lst_node_tri39.existe(tri_existed->get_noeud3()))) || ((lst_node_tri310.existe(tri_existed->get_noeud1())) && (lst_node_tri310.existe(tri_existed->get_noeud2())) && (lst_node_tri310.existe(tri_existed->get_noeud3()))))
13398  {
13399 
13400  check_to_creat_tetra=2;
13401  }
13402 
13403  else
13404 
13405  {
13406  check_not_to_creat_tetra=3;
13407 
13408  }
13409 
13410  }
13411 
13412  if((quall7>0.000001) && (check_not_to_creat_tetra!=3))
13413  {
13414  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13415  check_to_go_further=5;
13416  qualite_moyenne_3D+=quall7;
13417  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13418  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13419 
13420  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
13421 
13422  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
13423  }
13424 
13425  if((quallo7>0.000001) && (check_not_to_creat_tetra!=3))
13426 
13427  {
13428  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13429  check_to_go_further=5;
13430  qualite_moyenne_3D+=quallo7;
13431  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13432  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13433 
13434  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
13435  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
13436  }
13437 
13438  if((quall8>0.000001) && (check_not_to_creat_tetra!=3))
13439  {
13440  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13441  check_to_go_further=5;
13442  qualite_moyenne_3D+=quall8;
13443  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13444  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13445  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
13446 
13447  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
13448 
13449  }
13450 
13451  if((quallo8>0.000001) && (check_not_to_creat_tetra!=3))
13452  {
13453  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13454  check_to_go_further=5;
13455  qualite_moyenne_3D+=quallo8;
13456  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13457  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13458  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
13459  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
13460 
13461  }
13462 
13463  if((quall9>0.000001) && (check_not_to_creat_tetra!=3))
13464  {
13465  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13466  check_to_go_further=5;
13467 
13468  qualite_moyenne_3D+=quall9;
13469  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13470  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13471  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
13472  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
13473  }
13474 
13475  if((quallo9>0.000001) && (check_not_to_creat_tetra!=3))
13476  {
13477  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13478  check_to_go_further=5;
13479  qualite_moyenne_3D+=quallo9;
13480  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13481  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13482  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
13483  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
13484  }
13485  }
13486  if ((quall10>0.000001 || quallo10>0.000001) && (quall12>0.000001 || quallo12>0.000001) && (quall11>0.000001 || quallo11>0.000001) && (check_to_go_further==3))
13487  {
13488  check_not_to_creat_tetra=0;
13489  LISTE_MG_TRIANGLE::iterator it_tri_existed;
13490  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
13491  {
13492  if(((lst_node_tri41.existe(tri_existed->get_noeud1())) && (lst_node_tri41.existe(tri_existed->get_noeud2())) && (lst_node_tri41.existe(tri_existed->get_noeud3()))) || ((lst_node_tri42.existe(tri_existed->get_noeud1())) && (lst_node_tri42.existe(tri_existed->get_noeud2())) && (lst_node_tri42.existe(tri_existed->get_noeud3()))) || ((lst_node_tri43.existe(tri_existed->get_noeud1())) && (lst_node_tri43.existe(tri_existed->get_noeud2())) && (lst_node_tri43.existe(tri_existed->get_noeud3()))) || ((lst_node_tri44.existe(tri_existed->get_noeud1())) && (lst_node_tri44.existe(tri_existed->get_noeud2())) && (lst_node_tri44.existe(tri_existed->get_noeud3()))) || ((lst_node_tri45.existe(tri_existed->get_noeud1())) && (lst_node_tri45.existe(tri_existed->get_noeud2())) && (lst_node_tri45.existe(tri_existed->get_noeud3()))) || ((lst_node_tri46.existe(tri_existed->get_noeud1())) && (lst_node_tri46.existe(tri_existed->get_noeud2())) && (lst_node_tri46.existe(tri_existed->get_noeud3()))) || ((lst_node_tri47.existe(tri_existed->get_noeud1())) && (lst_node_tri47.existe(tri_existed->get_noeud2())) && (lst_node_tri47.existe(tri_existed->get_noeud3()))) || ((lst_node_tri48.existe(tri_existed->get_noeud1())) && (lst_node_tri48.existe(tri_existed->get_noeud2())) && (lst_node_tri48.existe(tri_existed->get_noeud3()))) || ((lst_node_tri49.existe(tri_existed->get_noeud1())) && (lst_node_tri49.existe(tri_existed->get_noeud2())) && (lst_node_tri49.existe(tri_existed->get_noeud3()))) || ((lst_node_tri410.existe(tri_existed->get_noeud1())) && (lst_node_tri410.existe(tri_existed->get_noeud2())) && (lst_node_tri410.existe(tri_existed->get_noeud3()))))
13493  {
13494 
13495  check_to_creat_tetra=2;
13496 
13497  }
13498 
13499  else
13500 
13501  {
13502  check_not_to_creat_tetra=3;
13503 
13504  }
13505 
13506  }
13507 
13508  if((quall10>0.000001) && (check_not_to_creat_tetra!=3))
13509  {
13510  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
13511 
13512  check_to_go_further=5;
13513  qualite_moyenne_3D+=quall10;
13514  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13515  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13516  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
13517  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
13518  }
13519  if((quallo10>0.000001) && (check_not_to_creat_tetra!=3))
13520  {
13521  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
13522 
13523  check_to_go_further=5;
13524 
13525  qualite_moyenne_3D+=quallo10;
13526  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13527  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13528  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
13529  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
13530  }
13531 
13532  if((quall11>0.000001) && (check_not_to_creat_tetra!=3))
13533  {
13534  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13535  check_to_go_further=5;
13536  qualite_moyenne_3D+=quall11;
13537  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13538  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13539  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
13540  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
13541  }
13542  if((quallo11>0.000001) && (check_not_to_creat_tetra!=3))
13543  {
13544  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13545 
13546  check_to_go_further=5;
13547  qualite_moyenne_3D+=quallo11;
13548 
13549  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13550  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13551  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
13552  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
13553  }
13554  if((quall12>0.000001) && (check_not_to_creat_tetra!=3))
13555  {
13556  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13557  check_to_go_further=5;
13558  qualite_moyenne_3D+=quall12;
13559  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13560  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13561  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
13562  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
13563  }
13564  if((quallo12>0.000001) && (check_not_to_creat_tetra!=3))
13565 
13566  {
13567  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13568  check_to_go_further=5;
13569  qualite_moyenne_3D+=quallo12;
13570  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13571  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13572  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
13573  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
13574  }
13575  }
13576  if ((quall13>0.000001 || quallo13>0.000001) && (quall14>0.000001 || quallo14>0.000001) && (quall15>0.000001 || quallo15>0.000001) && (check_to_go_further==3))
13577  {
13578  check_not_to_creat_tetra=0;
13579  LISTE_MG_TRIANGLE::iterator it_tri_existed;
13580  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
13581 
13582  {
13583 
13584  if(((lst_node_tri51.existe(tri_existed->get_noeud1())) && (lst_node_tri51.existe(tri_existed->get_noeud2())) && (lst_node_tri51.existe(tri_existed->get_noeud3()))) || ((lst_node_tri52.existe(tri_existed->get_noeud1())) && (lst_node_tri52.existe(tri_existed->get_noeud2())) && (lst_node_tri52.existe(tri_existed->get_noeud3()))) || ((lst_node_tri53.existe(tri_existed->get_noeud1())) && (lst_node_tri53.existe(tri_existed->get_noeud2())) && (lst_node_tri53.existe(tri_existed->get_noeud3()))) || ((lst_node_tri54.existe(tri_existed->get_noeud1())) && (lst_node_tri54.existe(tri_existed->get_noeud2())) && (lst_node_tri54.existe(tri_existed->get_noeud3()))) || ((lst_node_tri55.existe(tri_existed->get_noeud1())) && (lst_node_tri55.existe(tri_existed->get_noeud2())) && (lst_node_tri55.existe(tri_existed->get_noeud3()))) || ((lst_node_tri56.existe(tri_existed->get_noeud1())) && (lst_node_tri56.existe(tri_existed->get_noeud2())) && (lst_node_tri56.existe(tri_existed->get_noeud3()))) || ((lst_node_tri57.existe(tri_existed->get_noeud1())) && (lst_node_tri57.existe(tri_existed->get_noeud2())) && (lst_node_tri57.existe(tri_existed->get_noeud3()))) || ((lst_node_tri58.existe(tri_existed->get_noeud1())) && (lst_node_tri58.existe(tri_existed->get_noeud2())) && (lst_node_tri58.existe(tri_existed->get_noeud3()))) || ((lst_node_tri59.existe(tri_existed->get_noeud1())) && (lst_node_tri59.existe(tri_existed->get_noeud2())) && (lst_node_tri59.existe(tri_existed->get_noeud3()))) || ((lst_node_tri510.existe(tri_existed->get_noeud1())) && (lst_node_tri510.existe(tri_existed->get_noeud2())) && (lst_node_tri510.existe(tri_existed->get_noeud3()))))
13585  {
13586 
13587  check_to_creat_tetra=2;
13588  }
13589 
13590  else
13591 
13592  {
13593  check_not_to_creat_tetra=3;
13594 
13595  }
13596 
13597  }
13598 
13599 
13600  if((quall13>0.000001) && (check_not_to_creat_tetra!=3))
13601  {
13602  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13603  check_to_go_further=5;
13604  qualite_moyenne_3D+=quall13;
13605  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13606  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13607  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
13608 
13609 
13610  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
13611  }
13612 
13613  if((quallo13>0.000001) && (check_not_to_creat_tetra!=3))
13614  {
13615  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13616  check_to_go_further=5;
13617  qualite_moyenne_3D+=quallo13;
13618  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13619  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13620  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
13621 
13622  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
13623  }
13624 
13625  if((quall14>0.000001) && (check_not_to_creat_tetra!=3))
13626  {
13627  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13628 
13629  check_to_go_further=5;
13630  qualite_moyenne_3D+=quall14;
13631  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13632  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13633 
13634  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
13635  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
13636  }
13637 
13638  if((quallo14>0.000001) && (check_not_to_creat_tetra!=3))
13639  {
13640  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13641 
13642  check_to_go_further=5;
13643 
13644  qualite_moyenne_3D+=quallo14;
13645  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13646  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13647  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
13648  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
13649  }
13650 
13651  if((quall15>0.000001) && (check_not_to_creat_tetra!=3))
13652  {
13653  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13654  check_to_go_further=5;
13655  qualite_moyenne_3D+=quall15;
13656  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13657  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13658  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
13659  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
13660  }
13661 
13662  if((quallo15>0.000001) && (check_not_to_creat_tetra!=3))
13663  {
13664 
13665  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13666  check_to_go_further=5;
13667  qualite_moyenne_3D+=quallo15;
13668  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13669  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13670  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
13671  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
13672  }
13673  }
13674 
13675  if ((quall16>0.000001 || quallo16>0.000001) && (quall17>0.000001 || quallo17>0.000001) && (quall18>0.000001 || quallo18>0.000001) && (check_to_go_further==3))
13676  {
13677  check_not_to_creat_tetra=0;
13678  LISTE_MG_TRIANGLE::iterator it_tri_existed;
13679  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
13680 
13681  {
13682 
13683  if(((lst_node_tri61.existe(tri_existed->get_noeud1())) && (lst_node_tri61.existe(tri_existed->get_noeud2())) && (lst_node_tri61.existe(tri_existed->get_noeud3()))) || ((lst_node_tri62.existe(tri_existed->get_noeud1())) && (lst_node_tri62.existe(tri_existed->get_noeud2())) && (lst_node_tri62.existe(tri_existed->get_noeud3()))) || ((lst_node_tri63.existe(tri_existed->get_noeud1())) && (lst_node_tri63.existe(tri_existed->get_noeud2())) && (lst_node_tri63.existe(tri_existed->get_noeud3()))) || ((lst_node_tri64.existe(tri_existed->get_noeud1())) && (lst_node_tri64.existe(tri_existed->get_noeud2())) && (lst_node_tri64.existe(tri_existed->get_noeud3()))) || ((lst_node_tri65.existe(tri_existed->get_noeud1())) && (lst_node_tri65.existe(tri_existed->get_noeud2())) && (lst_node_tri65.existe(tri_existed->get_noeud3()))) || ((lst_node_tri66.existe(tri_existed->get_noeud1())) && (lst_node_tri66.existe(tri_existed->get_noeud2())) && (lst_node_tri66.existe(tri_existed->get_noeud3()))) || ((lst_node_tri67.existe(tri_existed->get_noeud1())) && (lst_node_tri67.existe(tri_existed->get_noeud2())) && (lst_node_tri67.existe(tri_existed->get_noeud3()))) || ((lst_node_tri68.existe(tri_existed->get_noeud1())) && (lst_node_tri68.existe(tri_existed->get_noeud2())) && (lst_node_tri68.existe(tri_existed->get_noeud3()))) || ((lst_node_tri69.existe(tri_existed->get_noeud1())) && (lst_node_tri69.existe(tri_existed->get_noeud2())) && (lst_node_tri69.existe(tri_existed->get_noeud3()))) || ((lst_node_tri610.existe(tri_existed->get_noeud1())) && (lst_node_tri610.existe(tri_existed->get_noeud2())) && (lst_node_tri610.existe(tri_existed->get_noeud3()))))
13684  {
13685 
13686  check_to_creat_tetra=2;
13687  }
13688 
13689 
13690  else
13691 
13692  {
13693  check_not_to_creat_tetra=3;
13694 
13695  }
13696 
13697  }
13698 
13699  if((quall16>0.000001) && (check_not_to_creat_tetra!=3))
13700  {
13701  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13702 
13703  check_to_go_further=5;
13704  qualite_moyenne_3D+=quall16;
13705  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13706  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13707 
13708  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
13709  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
13710  }
13711  if((quallo16>0.000001) && (check_not_to_creat_tetra!=3))
13712  {
13713  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
13714 
13715  check_to_go_further=5;
13716  qualite_moyenne_3D+=quallo16;
13717  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13718  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13719  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
13720  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
13721  }
13722  if((quall17>0.000001) && (check_not_to_creat_tetra!=3))
13723  {
13724  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
13725  check_to_go_further=5;
13726  qualite_moyenne_3D+=quall17;
13727  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13728  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13729  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
13730  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
13731  }
13732  if((quallo17>0.000001) && (check_not_to_creat_tetra!=3))
13733  {
13734  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
13735  check_to_go_further=5;
13736  qualite_moyenne_3D+=quallo17;
13737 
13738  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13739  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13740 
13741  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
13742  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
13743  }
13744  if((quall18>0.000001) && (check_not_to_creat_tetra!=3))
13745  {
13746  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
13747  check_to_go_further=5;
13748  qualite_moyenne_3D+=quall18;
13749  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13750  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13751  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
13752  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
13753  }
13754  if((quallo18>0.000001) && (check_not_to_creat_tetra!=3))
13755  {
13756  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine()));
13757  check_to_go_further=5;
13758  qualite_moyenne_3D+=quallo18;
13759 
13760  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13761  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13762  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
13763  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
13764  }
13765  }
13766  }
13767  }
13768  else
13769  {
13770  //============================================changing 0 to 6=======================================
13771  // if (check_to_go_further==3)
13772 
13773  //============================================Getting the Qualities=============================
13774  //=============================================================================================
13775 
13776  quall1=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
13777 
13778  quall2=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
13779 
13780  quall3=OPERATEUR::qualite_tetra(lst_node_in_second.get(6)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord());
13781 
13782  //----------------------------------------------------
13783  quallo1=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
13784 
13785  quallo2=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
13786 
13787  quallo3=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(6)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord());
13788 
13789  lst_node_tri11.ajouter(lst_node_in_second.get(3));
13790  lst_node_tri11.ajouter(lst_node_in_second.get(1));
13791  lst_node_tri11.ajouter(lst_node_in_second.get(2));
13792 
13793  lst_node_tri12.ajouter(lst_node_in_second.get(1));
13794  lst_node_tri12.ajouter(lst_node_in_second.get(2));
13795  lst_node_tri12.ajouter(lst_node_in_second.get(4));
13796 
13797  lst_node_tri13.ajouter(lst_node_in_second.get(1));
13798  lst_node_tri13.ajouter(lst_node_in_second.get(3));
13799  lst_node_tri13.ajouter(lst_node_in_second.get(4));
13800 
13801  lst_node_tri14.ajouter(lst_node_in_second.get(2));
13802  lst_node_tri14.ajouter(lst_node_in_second.get(3));
13803  lst_node_tri14.ajouter(lst_node_in_second.get(4));
13804 
13805  lst_node_tri15.ajouter(lst_node_in_second.get(0));
13806  lst_node_tri15.ajouter(lst_node_in_second.get(1));
13807  lst_node_tri15.ajouter(lst_node_in_second.get(4));
13808 
13809  lst_node_tri16.ajouter(lst_node_in_second.get(0));
13810  lst_node_tri16.ajouter(lst_node_in_second.get(1));
13811  lst_node_tri16.ajouter(lst_node_in_second.get(6));
13812 
13813  lst_node_tri17.ajouter(lst_node_in_second.get(0));
13814  lst_node_tri17.ajouter(lst_node_in_second.get(4));
13815  lst_node_tri17.ajouter(lst_node_in_second.get(6));
13816 
13817  lst_node_tri18.ajouter(lst_node_in_second.get(1));
13818  lst_node_tri18.ajouter(lst_node_in_second.get(4));
13819  lst_node_tri18.ajouter(lst_node_in_second.get(6));
13820 
13821  lst_node_tri19.ajouter(lst_node_in_second.get(1));
13822  lst_node_tri19.ajouter(lst_node_in_second.get(2));
13823  lst_node_tri19.ajouter(lst_node_in_second.get(6));
13824 
13825  lst_node_tri110.ajouter(lst_node_in_second.get(6));
13826  lst_node_tri110.ajouter(lst_node_in_second.get(2));
13827  lst_node_tri110.ajouter(lst_node_in_second.get(4));
13828 
13829  //----------------------------------------------------
13830  //----------------------------------------------------
13831  quall4=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
13832 
13833  quall5=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(6)->get_coord());
13834 
13835  quall6=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(0)->get_coord());
13836 
13837  //----------------------------------------------------
13838  quallo4=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
13839 
13840  quallo5=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(6)->get_coord());
13841 
13842  quallo6=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(0)->get_coord());
13843 
13844  lst_node_tri21.ajouter(lst_node_in_second.get(1));
13845  lst_node_tri21.ajouter(lst_node_in_second.get(2));
13846  lst_node_tri21.ajouter(lst_node_in_second.get(3));
13847 
13848  lst_node_tri22.ajouter(lst_node_in_second.get(1));
13849  lst_node_tri22.ajouter(lst_node_in_second.get(2));
13850  lst_node_tri22.ajouter(lst_node_in_second.get(4));
13851 
13852  lst_node_tri23.ajouter(lst_node_in_second.get(1));
13853  lst_node_tri23.ajouter(lst_node_in_second.get(3));
13854  lst_node_tri23.ajouter(lst_node_in_second.get(4));
13855 
13856  lst_node_tri24.ajouter(lst_node_in_second.get(2));
13857  lst_node_tri24.ajouter(lst_node_in_second.get(3));
13858  lst_node_tri24.ajouter(lst_node_in_second.get(4));
13859 
13860  lst_node_tri25.ajouter(lst_node_in_second.get(0));
13861  lst_node_tri25.ajouter(lst_node_in_second.get(1));
13862  lst_node_tri25.ajouter(lst_node_in_second.get(2));
13863 
13864  lst_node_tri26.ajouter(lst_node_in_second.get(0));
13865  lst_node_tri26.ajouter(lst_node_in_second.get(1));
13866  lst_node_tri26.ajouter(lst_node_in_second.get(6));
13867 
13868  lst_node_tri27.ajouter(lst_node_in_second.get(0));
13869  lst_node_tri27.ajouter(lst_node_in_second.get(2));
13870  lst_node_tri27.ajouter(lst_node_in_second.get(6));
13871 
13872  lst_node_tri28.ajouter(lst_node_in_second.get(1));
13873  lst_node_tri28.ajouter(lst_node_in_second.get(2));
13874  lst_node_tri28.ajouter(lst_node_in_second.get(6));
13875 
13876  lst_node_tri29.ajouter(lst_node_in_second.get(1));
13877  lst_node_tri29.ajouter(lst_node_in_second.get(4));
13878  lst_node_tri29.ajouter(lst_node_in_second.get(0));
13879 
13880  lst_node_tri210.ajouter(lst_node_in_second.get(2));
13881  lst_node_tri210.ajouter(lst_node_in_second.get(4));
13882  lst_node_tri210.ajouter(lst_node_in_second.get(0));
13883  //----------------------------------------------------
13884  //----------------------------------------------------
13885  quall7=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(0)->get_coord());
13886 
13887  quall8=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(0)->get_coord());
13888 
13889  quall9=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(6)->get_coord());
13890 
13891  //----------------------------------------------------
13892  quallo7=OPERATEUR::qualite_tetra(lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(0)->get_coord());
13893 
13894  quallo8=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(0)->get_coord());
13895 
13896  quallo9=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(6)->get_coord());
13897 
13898  lst_node_tri31.ajouter(lst_node_in_second.get(3));
13899  lst_node_tri31.ajouter(lst_node_in_second.get(2));
13900  lst_node_tri31.ajouter(lst_node_in_second.get(4));
13901 
13902  lst_node_tri32.ajouter(lst_node_in_second.get(2));
13903  lst_node_tri32.ajouter(lst_node_in_second.get(3));
13904  lst_node_tri32.ajouter(lst_node_in_second.get(0));
13905 
13906  lst_node_tri33.ajouter(lst_node_in_second.get(2));
13907  lst_node_tri33.ajouter(lst_node_in_second.get(4));
13908  lst_node_tri33.ajouter(lst_node_in_second.get(0));
13909 
13910  lst_node_tri34.ajouter(lst_node_in_second.get(3));
13911  lst_node_tri34.ajouter(lst_node_in_second.get(4));
13912  lst_node_tri34.ajouter(lst_node_in_second.get(0));
13913 
13914  lst_node_tri35.ajouter(lst_node_in_second.get(2));
13915  lst_node_tri35.ajouter(lst_node_in_second.get(1));
13916  lst_node_tri35.ajouter(lst_node_in_second.get(3));
13917 
13918  lst_node_tri36.ajouter(lst_node_in_second.get(2));
13919  lst_node_tri36.ajouter(lst_node_in_second.get(1));
13920  lst_node_tri36.ajouter(lst_node_in_second.get(0));
13921 
13922  lst_node_tri37.ajouter(lst_node_in_second.get(1));
13923  lst_node_tri37.ajouter(lst_node_in_second.get(3));
13924  lst_node_tri37.ajouter(lst_node_in_second.get(0));
13925 
13926  lst_node_tri38.ajouter(lst_node_in_second.get(6));
13927  lst_node_tri38.ajouter(lst_node_in_second.get(1));
13928  lst_node_tri38.ajouter(lst_node_in_second.get(2));
13929 
13930  lst_node_tri39.ajouter(lst_node_in_second.get(0));
13931  lst_node_tri39.ajouter(lst_node_in_second.get(2));
13932  lst_node_tri39.ajouter(lst_node_in_second.get(6));
13933 
13934  lst_node_tri310.ajouter(lst_node_in_second.get(0));
13935  lst_node_tri310.ajouter(lst_node_in_second.get(1));
13936  lst_node_tri310.ajouter(lst_node_in_second.get(6));
13937  //----------------------------------------------------
13938  //----------------------------------------------------
13939  quall10=OPERATEUR::qualite_tetra(lst_node_in_second.get(6)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
13940 
13941  quall11=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
13942 
13943  quall12=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
13944 
13945 
13946  //----------------------------------------------------
13947  quallo10=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(6)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
13948 
13949  quallo11=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
13950 
13951  quallo12=OPERATEUR::qualite_tetra(lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
13952 
13953  lst_node_tri41.ajouter(lst_node_in_second.get(6));
13954  lst_node_tri41.ajouter(lst_node_in_second.get(2));
13955  lst_node_tri41.ajouter(lst_node_in_second.get(3));
13956 
13957  lst_node_tri48.ajouter(lst_node_in_second.get(6));
13958  lst_node_tri48.ajouter(lst_node_in_second.get(2));
13959  lst_node_tri48.ajouter(lst_node_in_second.get(4));
13960 
13961 
13962  lst_node_tri42.ajouter(lst_node_in_second.get(6));
13963  lst_node_tri42.ajouter(lst_node_in_second.get(3));
13964  lst_node_tri42.ajouter(lst_node_in_second.get(4));
13965 
13966  lst_node_tri43.ajouter(lst_node_in_second.get(2));
13967  lst_node_tri43.ajouter(lst_node_in_second.get(3));
13968  lst_node_tri43.ajouter(lst_node_in_second.get(4));
13969 
13970  lst_node_tri44.ajouter(lst_node_in_second.get(0));
13971  lst_node_tri44.ajouter(lst_node_in_second.get(1));
13972  lst_node_tri44.ajouter(lst_node_in_second.get(3));
13973 
13974  lst_node_tri45.ajouter(lst_node_in_second.get(0));
13975  lst_node_tri45.ajouter(lst_node_in_second.get(1));
13976  lst_node_tri45.ajouter(lst_node_in_second.get(6));
13977 
13978  lst_node_tri46.ajouter(lst_node_in_second.get(0));
13979  lst_node_tri46.ajouter(lst_node_in_second.get(3));
13980  lst_node_tri46.ajouter(lst_node_in_second.get(6));
13981 
13982  lst_node_tri47.ajouter(lst_node_in_second.get(1));
13983  lst_node_tri47.ajouter(lst_node_in_second.get(3));
13984  lst_node_tri47.ajouter(lst_node_in_second.get(6));
13985 
13986  lst_node_tri49.ajouter(lst_node_in_second.get(0));
13987  lst_node_tri49.ajouter(lst_node_in_second.get(4));
13988  lst_node_tri49.ajouter(lst_node_in_second.get(6));
13989 
13990  lst_node_tri410.ajouter(lst_node_in_second.get(3));
13991  lst_node_tri410.ajouter(lst_node_in_second.get(4));
13992  lst_node_tri410.ajouter(lst_node_in_second.get(0));
13993  //----------------------------------------------------
13994  //----------------------------------------------------
13995  quall13=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(0)->get_coord());
13996 
13997  quall14=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
13998 
13999  quall15=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
14000 
14001 
14002  //----------------------------------------------------
14003  quallo13=OPERATEUR::qualite_tetra(lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(0)->get_coord());
14004 
14005  quallo14=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
14006 
14007  quallo15=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(6)->get_coord());
14008 
14009  lst_node_tri51.ajouter(lst_node_in_second.get(3));
14010  lst_node_tri51.ajouter(lst_node_in_second.get(2));
14011  lst_node_tri51.ajouter(lst_node_in_second.get(4));
14012 
14013  lst_node_tri52.ajouter(lst_node_in_second.get(2));
14014  lst_node_tri52.ajouter(lst_node_in_second.get(3));
14015  lst_node_tri52.ajouter(lst_node_in_second.get(0));
14016 
14017  lst_node_tri53.ajouter(lst_node_in_second.get(2));
14018  lst_node_tri53.ajouter(lst_node_in_second.get(4));
14019  lst_node_tri53.ajouter(lst_node_in_second.get(0));
14020 
14021  lst_node_tri54.ajouter(lst_node_in_second.get(3));
14022  lst_node_tri54.ajouter(lst_node_in_second.get(4));
14023  lst_node_tri54.ajouter(lst_node_in_second.get(0));
14024 
14025  lst_node_tri55.ajouter(lst_node_in_second.get(1));
14026  lst_node_tri55.ajouter(lst_node_in_second.get(0));
14027  lst_node_tri55.ajouter(lst_node_in_second.get(3));
14028 
14029  lst_node_tri56.ajouter(lst_node_in_second.get(0));
14030  lst_node_tri56.ajouter(lst_node_in_second.get(1));
14031  lst_node_tri56.ajouter(lst_node_in_second.get(6));
14032 
14033  lst_node_tri57.ajouter(lst_node_in_second.get(0));
14034  lst_node_tri57.ajouter(lst_node_in_second.get(3));
14035  lst_node_tri57.ajouter(lst_node_in_second.get(6));
14036 
14037  lst_node_tri58.ajouter(lst_node_in_second.get(1));
14038  lst_node_tri58.ajouter(lst_node_in_second.get(3));
14039  lst_node_tri58.ajouter(lst_node_in_second.get(6));
14040 
14041  lst_node_tri59.ajouter(lst_node_in_second.get(6));
14042  lst_node_tri59.ajouter(lst_node_in_second.get(2));
14043  lst_node_tri59.ajouter(lst_node_in_second.get(3));
14044 
14045  lst_node_tri510.ajouter(lst_node_in_second.get(0));
14046  lst_node_tri510.ajouter(lst_node_in_second.get(2));
14047  lst_node_tri510.ajouter(lst_node_in_second.get(6));
14048 
14049  //----------------------------------------------------
14050  //----------------------------------------------------
14051  quall16=OPERATEUR::qualite_tetra(lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
14052 
14053  quall17=OPERATEUR::qualite_tetra(lst_node_in_second.get(6)->get_coord(),lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
14054 
14055  quall18=OPERATEUR::qualite_tetra(lst_node_in_second.get(6)->get_coord(),lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
14056 
14057  //----------------------------------------------------
14058  quallo16=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(0)->get_coord(),lst_node_in_second.get(4)->get_coord(),lst_node_in_second.get(6)->get_coord());
14059 
14060  quallo17=OPERATEUR::qualite_tetra(lst_node_in_second.get(2)->get_coord(),lst_node_in_second.get(6)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
14061 
14062  quallo18=OPERATEUR::qualite_tetra(lst_node_in_second.get(1)->get_coord(),lst_node_in_second.get(6)->get_coord(),lst_node_in_second.get(3)->get_coord(),lst_node_in_second.get(4)->get_coord());
14063 
14064  lst_node_tri61.ajouter(lst_node_in_second.get(0));
14065  lst_node_tri61.ajouter(lst_node_in_second.get(1));
14066  lst_node_tri61.ajouter(lst_node_in_second.get(4));
14067 
14068  lst_node_tri62.ajouter(lst_node_in_second.get(0));
14069  lst_node_tri62.ajouter(lst_node_in_second.get(1));
14070  lst_node_tri62.ajouter(lst_node_in_second.get(6));
14071 
14072  lst_node_tri63.ajouter(lst_node_in_second.get(0));
14073  lst_node_tri63.ajouter(lst_node_in_second.get(4));
14074  lst_node_tri63.ajouter(lst_node_in_second.get(6));
14075 
14076  lst_node_tri64.ajouter(lst_node_in_second.get(1));
14077  lst_node_tri64.ajouter(lst_node_in_second.get(6));
14078  lst_node_tri64.ajouter(lst_node_in_second.get(4));
14079 
14080  lst_node_tri65.ajouter(lst_node_in_second.get(6));
14081  lst_node_tri65.ajouter(lst_node_in_second.get(2));
14082  lst_node_tri65.ajouter(lst_node_in_second.get(3));
14083 
14084  lst_node_tri66.ajouter(lst_node_in_second.get(6));
14085  lst_node_tri66.ajouter(lst_node_in_second.get(2));
14086  lst_node_tri66.ajouter(lst_node_in_second.get(4));
14087 
14088  lst_node_tri67.ajouter(lst_node_in_second.get(2));
14089  lst_node_tri67.ajouter(lst_node_in_second.get(3));
14090  lst_node_tri67.ajouter(lst_node_in_second.get(4));
14091 
14092  lst_node_tri68.ajouter(lst_node_in_second.get(6));
14093  lst_node_tri68.ajouter(lst_node_in_second.get(3));
14094  lst_node_tri68.ajouter(lst_node_in_second.get(4));
14095 
14096  lst_node_tri69.ajouter(lst_node_in_second.get(6));
14097  lst_node_tri69.ajouter(lst_node_in_second.get(3));
14098  lst_node_tri69.ajouter(lst_node_in_second.get(1));
14099 
14100  lst_node_tri610.ajouter(lst_node_in_second.get(1));
14101  lst_node_tri610.ajouter(lst_node_in_second.get(4));
14102  lst_node_tri610.ajouter(lst_node_in_second.get(3));
14103 
14104  //----------------------------------------------------
14105  //---------------------------------------------------
14106 
14107  if (((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001) && (quall3>0.001 || quallo3>0.001)) && ((quall4+quallo4+quall5+quallo5+quall6+quallo6)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)) && ((quall7+ quallo7+quall8+quallo8+quall9+quallo9)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)) && ((quall10+ quallo10+quall12+ quallo12+quall11+ quallo11)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)) && ((quall13+quallo13+quall14+quallo14+quall15+ quallo15)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall1+quallo1+quall2+quallo2+quall3+quallo3)))
14108  {
14109  check_not_to_creat_tetra=0;
14110  LISTE_MG_TRIANGLE::iterator it_tri_existed;
14111  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
14112  {
14113  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))) || ((lst_node_tri18.existe(tri_existed->get_noeud1())) && (lst_node_tri18.existe(tri_existed->get_noeud2())) && (lst_node_tri18.existe(tri_existed->get_noeud3()))) || ((lst_node_tri19.existe(tri_existed->get_noeud1())) && (lst_node_tri19.existe(tri_existed->get_noeud2())) && (lst_node_tri19.existe(tri_existed->get_noeud3()))) || ((lst_node_tri110.existe(tri_existed->get_noeud1())) && (lst_node_tri110.existe(tri_existed->get_noeud2())) && (lst_node_tri110.existe(tri_existed->get_noeud3()))))
14114  {
14115 
14116  check_to_creat_tetra=2;
14117  }
14118  else
14119 
14120  {
14121  check_not_to_creat_tetra=3;
14122 
14123  }
14124 
14125  }
14126 
14127 
14128  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
14129  {
14130  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
14131  check_to_go_further=5;
14132 
14133  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14134  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14135 
14136  }
14137 
14138  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
14139  {
14140  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
14141  check_to_go_further=5;
14142 
14143  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14144  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14145  }
14146 
14147  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
14148  {
14149  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine());
14150  check_to_go_further=5;
14151 
14152 
14153  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14154  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14155  }
14156  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
14157  {
14158  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine());
14159  check_to_go_further=5;
14160 
14161  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14162  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14163  }
14164 
14165  if ((quall3>0.00001) && (check_not_to_creat_tetra!=3))
14166  {
14167  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(6),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine());
14168 
14169  check_to_go_further=5;
14170  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14171  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14172  }
14173  if ((quallo3>0.00001) && (check_not_to_creat_tetra!=3))
14174 
14175  {
14176  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(6),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine());
14177  check_to_go_further=5;
14178 
14179  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14180  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14181  }
14182  }
14183 
14184  if (((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (quall6>0.001 || quallo6>0.001)) && (check_to_go_further==3) && ((quall7+ quallo7+quall8+quallo8+quall9+quallo9)<(quall4+quallo4+quall5+quallo5+quall6+quallo6)) && ((quall10+ quallo10+quall12+ quallo12+quall11+ quallo11)<(quall4+quallo4+quall5+quallo5+quall6+quallo6)) && ((quall13+quallo13+quall14+quallo14+quall15+ quallo15)<(quall4+quallo4+quall5+quallo5+quall6+quallo6)) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall4+quallo4+quall5+quallo5+quall6+quallo6)))
14185  {
14186  check_not_to_creat_tetra=0;
14187  LISTE_MG_TRIANGLE::iterator it_tri_existed;
14188  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
14189  {
14190  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))) || ((lst_node_tri28.existe(tri_existed->get_noeud1())) && (lst_node_tri28.existe(tri_existed->get_noeud2())) && (lst_node_tri28.existe(tri_existed->get_noeud3()))) || ((lst_node_tri29.existe(tri_existed->get_noeud1())) && (lst_node_tri29.existe(tri_existed->get_noeud2())) && (lst_node_tri29.existe(tri_existed->get_noeud3()))) || ((lst_node_tri210.existe(tri_existed->get_noeud1())) && (lst_node_tri210.existe(tri_existed->get_noeud2())) && (lst_node_tri210.existe(tri_existed->get_noeud3()))))
14191  {
14192  check_to_creat_tetra=2;
14193  }
14194  else
14195  {
14196  check_not_to_creat_tetra=3;
14197  }
14198  }
14199 
14200  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
14201  {
14202  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
14203  check_to_go_further=5;
14204 
14205  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14206  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14207 
14208  }
14209 
14210  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
14211  {
14212  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine());
14213  check_to_go_further=5;
14214 
14215  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14216  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14217 
14218  }
14219 
14220  if((quall6>0.00001) && (check_not_to_creat_tetra!=3))
14221  {
14222  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(0),tetra_cutt->get_origine());
14223  check_to_go_further=5;
14224 
14225  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14226  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14227 
14228 
14229  }
14230  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
14231  {
14232  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
14233  check_to_go_further=5;
14234 
14235  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14236  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14237 
14238 
14239  }
14240 
14241  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
14242  {
14243  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine());
14244  check_to_go_further=5;
14245 
14246  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14247  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14248 
14249 
14250  }
14251 
14252  if((quallo6>0.00001) && (check_not_to_creat_tetra!=3))
14253  {
14254  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(0),tetra_cutt->get_origine());
14255  check_to_go_further=5;
14256 
14257  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14258  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14259 
14260  }
14261  }
14262  if (((quall7>0.001 || quallo7>0.001) && (quall8>0.001 || quallo8>0.001) && (quall9>0.001 || quallo9>0.001)) && (check_to_go_further==3) && ((quall10+ quallo10+quall12+ quallo12+quall11+ quallo11)<(quall7+quallo7+quall8+quallo8+quall9+quallo9)) && ((quall13+quallo13+quall14+quallo14+quall15+ quallo15)<(quall7+quallo7+quall8+quallo8+quall9+quallo9)) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall7+quallo7+quall8+quallo8+quall9+quallo9)))
14263  {
14264  check_not_to_creat_tetra=0;
14265  LISTE_MG_TRIANGLE::iterator it_tri_existed;
14266  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
14267  {
14268  if(((lst_node_tri31.existe(tri_existed->get_noeud1())) && (lst_node_tri31.existe(tri_existed->get_noeud2())) && (lst_node_tri31.existe(tri_existed->get_noeud3()))) || ((lst_node_tri32.existe(tri_existed->get_noeud1())) && (lst_node_tri32.existe(tri_existed->get_noeud2())) && (lst_node_tri32.existe(tri_existed->get_noeud3()))) || ((lst_node_tri33.existe(tri_existed->get_noeud1())) && (lst_node_tri33.existe(tri_existed->get_noeud2())) && (lst_node_tri33.existe(tri_existed->get_noeud3()))) || ((lst_node_tri34.existe(tri_existed->get_noeud1())) && (lst_node_tri34.existe(tri_existed->get_noeud2())) && (lst_node_tri34.existe(tri_existed->get_noeud3()))) || ((lst_node_tri35.existe(tri_existed->get_noeud1())) && (lst_node_tri35.existe(tri_existed->get_noeud2())) && (lst_node_tri35.existe(tri_existed->get_noeud3()))) || ((lst_node_tri36.existe(tri_existed->get_noeud1())) && (lst_node_tri36.existe(tri_existed->get_noeud2())) && (lst_node_tri36.existe(tri_existed->get_noeud3()))) || ((lst_node_tri37.existe(tri_existed->get_noeud1())) && (lst_node_tri37.existe(tri_existed->get_noeud2())) && (lst_node_tri37.existe(tri_existed->get_noeud3()))) || ((lst_node_tri38.existe(tri_existed->get_noeud1())) && (lst_node_tri38.existe(tri_existed->get_noeud2())) && (lst_node_tri38.existe(tri_existed->get_noeud3()))) || ((lst_node_tri39.existe(tri_existed->get_noeud1())) && (lst_node_tri39.existe(tri_existed->get_noeud2())) && (lst_node_tri39.existe(tri_existed->get_noeud3()))) || ((lst_node_tri310.existe(tri_existed->get_noeud1())) && (lst_node_tri310.existe(tri_existed->get_noeud2())) && (lst_node_tri310.existe(tri_existed->get_noeud3()))))
14269  {
14270 
14271  check_to_creat_tetra=2;
14272  }
14273 
14274  else
14275 
14276  {
14277  check_not_to_creat_tetra=3;
14278 
14279  }
14280 
14281  }
14282 
14283  if((quall7>0.00001) && (check_not_to_creat_tetra!=3))
14284  {
14285  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(0),tetra_cutt->get_origine());
14286  check_to_go_further=5;
14287 
14288  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14289  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14290 
14291  }
14292 
14293  if((quallo7>0.00001) && (check_not_to_creat_tetra!=3))
14294 
14295  {
14296  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(0),tetra_cutt->get_origine());
14297  check_to_go_further=5;
14298 
14299  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14300  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14301 
14302  }
14303 
14304  if((quall8>0.00001) && (check_not_to_creat_tetra!=3))
14305  {
14306  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(0),tetra_cutt->get_origine());
14307  check_to_go_further=5;
14308 
14309  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14310  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14311 
14312 
14313  }
14314 
14315  if((quallo8>0.00001) && (check_not_to_creat_tetra!=3))
14316  {
14317  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(0),tetra_cutt->get_origine());
14318  check_to_go_further=5;
14319 
14320  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14321  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14322 
14323  }
14324 
14325  if((quall9>0.00001) && (check_not_to_creat_tetra!=3))
14326  {
14327  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine());
14328  check_to_go_further=5;
14329 
14330  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14331  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14332 
14333  }
14334 
14335  if((quallo9>0.00001) && (check_not_to_creat_tetra!=3))
14336  {
14337  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine());
14338  check_to_go_further=5;
14339 
14340  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14341  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14342  }
14343  }
14344  if (((quall10>0.001 || quallo10>0.001) && (quall11>0.001 || quallo11>0.001) && (quall12>0.001 || quallo12>0.001)) && (check_to_go_further==3) && ((quall13+quallo13+quall14+quallo14+quall15+ quallo15)<(quall10+quallo10+quall11+quallo11+quall12+quallo12)) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall10+quallo10+quall11+quallo11+quall12+quallo12)))
14345  {
14346  check_not_to_creat_tetra=0;
14347  LISTE_MG_TRIANGLE::iterator it_tri_existed;
14348  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
14349  {
14350  if(((lst_node_tri41.existe(tri_existed->get_noeud1())) && (lst_node_tri41.existe(tri_existed->get_noeud2())) && (lst_node_tri41.existe(tri_existed->get_noeud3()))) || ((lst_node_tri42.existe(tri_existed->get_noeud1())) && (lst_node_tri42.existe(tri_existed->get_noeud2())) && (lst_node_tri42.existe(tri_existed->get_noeud3()))) || ((lst_node_tri43.existe(tri_existed->get_noeud1())) && (lst_node_tri43.existe(tri_existed->get_noeud2())) && (lst_node_tri43.existe(tri_existed->get_noeud3()))) || ((lst_node_tri44.existe(tri_existed->get_noeud1())) && (lst_node_tri44.existe(tri_existed->get_noeud2())) && (lst_node_tri44.existe(tri_existed->get_noeud3()))) || ((lst_node_tri45.existe(tri_existed->get_noeud1())) && (lst_node_tri45.existe(tri_existed->get_noeud2())) && (lst_node_tri45.existe(tri_existed->get_noeud3()))) || ((lst_node_tri46.existe(tri_existed->get_noeud1())) && (lst_node_tri46.existe(tri_existed->get_noeud2())) && (lst_node_tri46.existe(tri_existed->get_noeud3()))) || ((lst_node_tri47.existe(tri_existed->get_noeud1())) && (lst_node_tri47.existe(tri_existed->get_noeud2())) && (lst_node_tri47.existe(tri_existed->get_noeud3()))) || ((lst_node_tri48.existe(tri_existed->get_noeud1())) && (lst_node_tri48.existe(tri_existed->get_noeud2())) && (lst_node_tri48.existe(tri_existed->get_noeud3()))) || ((lst_node_tri49.existe(tri_existed->get_noeud1())) && (lst_node_tri49.existe(tri_existed->get_noeud2())) && (lst_node_tri49.existe(tri_existed->get_noeud3()))) || ((lst_node_tri410.existe(tri_existed->get_noeud1())) && (lst_node_tri410.existe(tri_existed->get_noeud2())) && (lst_node_tri410.existe(tri_existed->get_noeud3()))))
14351  {
14352  check_to_creat_tetra=2;
14353  }
14354  else
14355  {
14356  check_not_to_creat_tetra=3;
14357  }
14358  }
14359 
14360  if((quall10>0.00001) && (check_not_to_creat_tetra!=3))
14361  {
14362  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(6),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
14363 
14364  check_to_go_further=5;
14365 
14366  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14367  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14368  }
14369  if((quallo10>0.00001) && (check_not_to_creat_tetra!=3))
14370  {
14371  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(6),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
14372 
14373  check_to_go_further=5;
14374  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14375  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14376 
14377  }
14378 
14379  if((quall11>0.00001) && (check_not_to_creat_tetra!=3))
14380  {
14381  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine());
14382  check_to_go_further=5;
14383 
14384  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14385  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14386 
14387  }
14388  if((quallo11>0.00001) && (check_not_to_creat_tetra!=3))
14389  {
14390  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine());
14391 
14392  check_to_go_further=5;
14393 
14394 
14395  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14396  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14397 
14398  }
14399  if((quall12>0.00001) && (check_not_to_creat_tetra!=3))
14400  {
14401  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine());
14402  check_to_go_further=5;
14403 
14404  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14405  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14406 
14407  }
14408  if((quallo12>0.00001) && (check_not_to_creat_tetra!=3))
14409 
14410  {
14411  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine());
14412  check_to_go_further=5;
14413 
14414  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14415  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14416 
14417  }
14418  }
14419  if (((quall13>0.001 || quallo13>0.001) && (quall14>0.001 || quallo14>0.001) && (quall15>0.001 || quallo15>0.001)) && (check_to_go_further==3) && ((quall16+ quallo16+quall17+ quallo17+quall18+quallo18)<(quall13+quallo13+quall14+quallo14+quall15+quallo15)))
14420  {
14421  check_not_to_creat_tetra=0;
14422  LISTE_MG_TRIANGLE::iterator it_tri_existed;
14423  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
14424  {
14425 
14426  if(((lst_node_tri51.existe(tri_existed->get_noeud1())) && (lst_node_tri51.existe(tri_existed->get_noeud2())) && (lst_node_tri51.existe(tri_existed->get_noeud3()))) || ((lst_node_tri52.existe(tri_existed->get_noeud1())) && (lst_node_tri52.existe(tri_existed->get_noeud2())) && (lst_node_tri52.existe(tri_existed->get_noeud3()))) || ((lst_node_tri53.existe(tri_existed->get_noeud1())) && (lst_node_tri53.existe(tri_existed->get_noeud2())) && (lst_node_tri53.existe(tri_existed->get_noeud3()))) || ((lst_node_tri54.existe(tri_existed->get_noeud1())) && (lst_node_tri54.existe(tri_existed->get_noeud2())) && (lst_node_tri54.existe(tri_existed->get_noeud3()))) || ((lst_node_tri55.existe(tri_existed->get_noeud1())) && (lst_node_tri55.existe(tri_existed->get_noeud2())) && (lst_node_tri55.existe(tri_existed->get_noeud3()))) || ((lst_node_tri56.existe(tri_existed->get_noeud1())) && (lst_node_tri56.existe(tri_existed->get_noeud2())) && (lst_node_tri56.existe(tri_existed->get_noeud3()))) || ((lst_node_tri57.existe(tri_existed->get_noeud1())) && (lst_node_tri57.existe(tri_existed->get_noeud2())) && (lst_node_tri57.existe(tri_existed->get_noeud3()))) || ((lst_node_tri58.existe(tri_existed->get_noeud1())) && (lst_node_tri58.existe(tri_existed->get_noeud2())) && (lst_node_tri58.existe(tri_existed->get_noeud3()))) || ((lst_node_tri59.existe(tri_existed->get_noeud1())) && (lst_node_tri59.existe(tri_existed->get_noeud2())) && (lst_node_tri59.existe(tri_existed->get_noeud3()))) || ((lst_node_tri510.existe(tri_existed->get_noeud1())) && (lst_node_tri510.existe(tri_existed->get_noeud2())) && (lst_node_tri510.existe(tri_existed->get_noeud3()))))
14427  {
14428  check_to_creat_tetra=2;
14429  }
14430  else
14431  {
14432  check_not_to_creat_tetra=3;
14433  }
14434  }
14435  if((quall13>0.00001) && (check_not_to_creat_tetra!=3))
14436  {
14437  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(0),tetra_cutt->get_origine());
14438  check_to_go_further=5;
14439 
14440  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14441  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14442 
14443  }
14444 
14445  if((quallo13>0.00001) && (check_not_to_creat_tetra!=3))
14446  {
14447  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(0),tetra_cutt->get_origine());
14448  check_to_go_further=5;
14449 
14450  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14451  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14452 
14453  }
14454 
14455  if((quall14>0.00001) && (check_not_to_creat_tetra!=3))
14456  {
14457  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine());
14458 
14459  check_to_go_further=5;
14460 
14461  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14462  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14463  }
14464 
14465  if((quallo14>0.00001) && (check_not_to_creat_tetra!=3))
14466  {
14467  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine());
14468 
14469  check_to_go_further=5;
14470 
14471  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14472  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14473 
14474  }
14475 
14476  if((quall15>0.00001) && (check_not_to_creat_tetra!=3))
14477  {
14478  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine());
14479  check_to_go_further=5;
14480 
14481  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14482  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14483 
14484  }
14485 
14486  if((quallo15>0.00001) && (check_not_to_creat_tetra!=3))
14487  {
14488 
14489  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine());
14490  check_to_go_further=5;
14491 
14492  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14493  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14494 
14495  }
14496  }
14497 
14498  if ((quall16>0.001 || quallo16>0.001) && (quall17>0.001 || quallo17>0.001) && (quall18>0.001 || quallo18>0.001) && (check_to_go_further==3))
14499  {
14500  check_not_to_creat_tetra=0;
14501  LISTE_MG_TRIANGLE::iterator it_tri_existed;
14502  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
14503  {
14504  if(((lst_node_tri61.existe(tri_existed->get_noeud1())) && (lst_node_tri61.existe(tri_existed->get_noeud2())) && (lst_node_tri61.existe(tri_existed->get_noeud3()))) || ((lst_node_tri62.existe(tri_existed->get_noeud1())) && (lst_node_tri62.existe(tri_existed->get_noeud2())) && (lst_node_tri62.existe(tri_existed->get_noeud3()))) || ((lst_node_tri63.existe(tri_existed->get_noeud1())) && (lst_node_tri63.existe(tri_existed->get_noeud2())) && (lst_node_tri63.existe(tri_existed->get_noeud3()))) || ((lst_node_tri64.existe(tri_existed->get_noeud1())) && (lst_node_tri64.existe(tri_existed->get_noeud2())) && (lst_node_tri64.existe(tri_existed->get_noeud3()))) || ((lst_node_tri65.existe(tri_existed->get_noeud1())) && (lst_node_tri65.existe(tri_existed->get_noeud2())) && (lst_node_tri65.existe(tri_existed->get_noeud3()))) || ((lst_node_tri66.existe(tri_existed->get_noeud1())) && (lst_node_tri66.existe(tri_existed->get_noeud2())) && (lst_node_tri66.existe(tri_existed->get_noeud3()))) || ((lst_node_tri67.existe(tri_existed->get_noeud1())) && (lst_node_tri67.existe(tri_existed->get_noeud2())) && (lst_node_tri67.existe(tri_existed->get_noeud3()))) || ((lst_node_tri68.existe(tri_existed->get_noeud1())) && (lst_node_tri68.existe(tri_existed->get_noeud2())) && (lst_node_tri68.existe(tri_existed->get_noeud3()))) || ((lst_node_tri69.existe(tri_existed->get_noeud1())) && (lst_node_tri69.existe(tri_existed->get_noeud2())) && (lst_node_tri69.existe(tri_existed->get_noeud3()))) || ((lst_node_tri610.existe(tri_existed->get_noeud1())) && (lst_node_tri610.existe(tri_existed->get_noeud2())) && (lst_node_tri610.existe(tri_existed->get_noeud3()))))
14505  {
14506  check_to_creat_tetra=2;
14507  }
14508  else
14509  {
14510  check_not_to_creat_tetra=3;
14511  }
14512  }
14513 
14514  if((quall16>0.00001) && (check_not_to_creat_tetra!=3))
14515  {
14516  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine());
14517 
14518  check_to_go_further=5;
14519 
14520  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14521  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14522 
14523  }
14524  if((quallo16>0.00001) && (check_not_to_creat_tetra!=3))
14525  {
14526  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine()));
14527  check_to_go_further=5;
14528 
14529  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14530  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14531 
14532  }
14533  if((quall17>0.00001) && (check_not_to_creat_tetra!=3))
14534  {
14535  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(6),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
14536  check_to_go_further=5;
14537 
14538  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14539  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14540 
14541  }
14542  if((quallo17>0.00001) && (check_not_to_creat_tetra!=3))
14543  {
14544  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(6),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
14545  check_to_go_further=5;
14546 
14547  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14548  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14549 
14550  }
14551  if((quall18>0.00001) && (check_not_to_creat_tetra!=3))
14552  {
14553  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(6),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
14554  check_to_go_further=5;
14555 
14556  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14557  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14558 
14559  }
14560  if((quallo18>0.00001) && (check_not_to_creat_tetra!=3))
14561  {
14562  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(6),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
14563  check_to_go_further=5;
14564 
14565  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14566  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14567 
14568  }
14569  }
14570 
14571  //============================================Second loop==============================================================
14572  if (check_to_go_further==3)
14573  {
14574  if ((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001) && (quall3>0.001 || quallo3>0.001))
14575  {
14576  check_not_to_creat_tetra=0;
14577  LISTE_MG_TRIANGLE::iterator it_tri_existed;
14578  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
14579 
14580  {
14581 
14582  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))) || ((lst_node_tri18.existe(tri_existed->get_noeud1())) && (lst_node_tri18.existe(tri_existed->get_noeud2())) && (lst_node_tri18.existe(tri_existed->get_noeud3()))) || ((lst_node_tri19.existe(tri_existed->get_noeud1())) && (lst_node_tri19.existe(tri_existed->get_noeud2())) && (lst_node_tri19.existe(tri_existed->get_noeud3()))) || ((lst_node_tri110.existe(tri_existed->get_noeud1())) && (lst_node_tri110.existe(tri_existed->get_noeud2())) && (lst_node_tri110.existe(tri_existed->get_noeud3()))))
14583  {
14584 
14585  check_to_creat_tetra=2;
14586  }
14587 
14588 
14589  else
14590 
14591  {
14592  check_not_to_creat_tetra=3;
14593 
14594  }
14595 
14596  }
14597 
14598 
14599  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
14600  {
14601  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
14602  check_to_go_further=5;
14603 
14604  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14605  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14606 
14607  }
14608 
14609  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
14610  {
14611  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
14612  check_to_go_further=5;
14613 
14614  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14615  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14616  }
14617 
14618  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
14619  {
14620  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine());
14621  check_to_go_further=5;
14622 
14623  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14624  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14625  }
14626  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
14627  {
14628  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine());
14629  check_to_go_further=5;
14630 
14631 
14632  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14633  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14634  }
14635 
14636  if ((quall3>0.00001) && (check_not_to_creat_tetra!=3))
14637  {
14638  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(6),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine());
14639 
14640  check_to_go_further=5;
14641 
14642  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14643  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14644  }
14645  if ((quallo3>0.00001) && (check_not_to_creat_tetra!=3))
14646 
14647  {
14648  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(6),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine());
14649  check_to_go_further=5;
14650 
14651  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14652  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14653  }
14654 
14655 
14656  }
14657  if ((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (quall6>0.001 || quallo6>0.001) && (check_to_go_further==3))
14658  {
14659  check_not_to_creat_tetra=0;
14660  LISTE_MG_TRIANGLE::iterator it_tri_existed;
14661  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
14662 
14663  {
14664 
14665  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))) || ((lst_node_tri28.existe(tri_existed->get_noeud1())) && (lst_node_tri28.existe(tri_existed->get_noeud2())) && (lst_node_tri28.existe(tri_existed->get_noeud3()))) || ((lst_node_tri29.existe(tri_existed->get_noeud1())) && (lst_node_tri29.existe(tri_existed->get_noeud2())) && (lst_node_tri29.existe(tri_existed->get_noeud3()))) || ((lst_node_tri210.existe(tri_existed->get_noeud1())) && (lst_node_tri210.existe(tri_existed->get_noeud2())) && (lst_node_tri210.existe(tri_existed->get_noeud3()))))
14666  {
14667 
14668  check_to_creat_tetra=2;
14669  }
14670 
14671  else
14672 
14673  {
14674  check_not_to_creat_tetra=3;
14675 
14676  }
14677 
14678  }
14679 
14680  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
14681  {
14682  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
14683  check_to_go_further=5;
14684 
14685  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14686  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14687  }
14688 
14689  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
14690  {
14691  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine());
14692  check_to_go_further=5;
14693 
14694  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14695  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14696 
14697  }
14698 
14699  if((quall6>0.00001) && (check_not_to_creat_tetra!=3))
14700  {
14701  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(0),tetra_cutt->get_origine());
14702  check_to_go_further=5;
14703 
14704  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14705  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14706 
14707 
14708  }
14709  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
14710  {
14711  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
14712  check_to_go_further=5;
14713 
14714  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14715  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14716 
14717  }
14718 
14719  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
14720  {
14721  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine());
14722  check_to_go_further=5;
14723 
14724  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14725  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14726 
14727  }
14728 
14729  if((quallo6>0.00001) && (check_not_to_creat_tetra!=3))
14730  {
14731  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(0),tetra_cutt->get_origine());
14732  check_to_go_further=5;
14733 
14734  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14735  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14736 
14737 
14738  }
14739  }
14740  if ((quall7>0.001 || quallo7>0.001) && (quall8>0.001 || quallo8>0.001) && (quall9>0.001 || quallo9>0.001) && (check_to_go_further==3))
14741  {
14742  check_not_to_creat_tetra=0;
14743  LISTE_MG_TRIANGLE::iterator it_tri_existed;
14744  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
14745 
14746  {
14747 
14748  if(((lst_node_tri31.existe(tri_existed->get_noeud1())) && (lst_node_tri31.existe(tri_existed->get_noeud2())) && (lst_node_tri31.existe(tri_existed->get_noeud3()))) || ((lst_node_tri32.existe(tri_existed->get_noeud1())) && (lst_node_tri32.existe(tri_existed->get_noeud2())) && (lst_node_tri32.existe(tri_existed->get_noeud3()))) || ((lst_node_tri33.existe(tri_existed->get_noeud1())) && (lst_node_tri33.existe(tri_existed->get_noeud2())) && (lst_node_tri33.existe(tri_existed->get_noeud3()))) || ((lst_node_tri34.existe(tri_existed->get_noeud1())) && (lst_node_tri34.existe(tri_existed->get_noeud2())) && (lst_node_tri34.existe(tri_existed->get_noeud3()))) || ((lst_node_tri35.existe(tri_existed->get_noeud1())) && (lst_node_tri35.existe(tri_existed->get_noeud2())) && (lst_node_tri35.existe(tri_existed->get_noeud3()))) || ((lst_node_tri36.existe(tri_existed->get_noeud1())) && (lst_node_tri36.existe(tri_existed->get_noeud2())) && (lst_node_tri36.existe(tri_existed->get_noeud3()))) || ((lst_node_tri37.existe(tri_existed->get_noeud1())) && (lst_node_tri37.existe(tri_existed->get_noeud2())) && (lst_node_tri37.existe(tri_existed->get_noeud3()))) || ((lst_node_tri38.existe(tri_existed->get_noeud1())) && (lst_node_tri38.existe(tri_existed->get_noeud2())) && (lst_node_tri38.existe(tri_existed->get_noeud3()))) || ((lst_node_tri39.existe(tri_existed->get_noeud1())) && (lst_node_tri39.existe(tri_existed->get_noeud2())) && (lst_node_tri39.existe(tri_existed->get_noeud3()))) || ((lst_node_tri310.existe(tri_existed->get_noeud1())) && (lst_node_tri310.existe(tri_existed->get_noeud2())) && (lst_node_tri310.existe(tri_existed->get_noeud3()))))
14749  {
14750 
14751  check_to_creat_tetra=2;
14752  }
14753 
14754  else
14755 
14756  {
14757  check_not_to_creat_tetra=3;
14758 
14759  }
14760 
14761  }
14762 
14763  if((quall7>0.00001) && (check_not_to_creat_tetra!=3))
14764  {
14765  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(0),tetra_cutt->get_origine());
14766  check_to_go_further=5;
14767 
14768  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14769  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14770 
14771  }
14772 
14773  if((quallo7>0.00001) && (check_not_to_creat_tetra!=3))
14774 
14775  {
14776  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(0),tetra_cutt->get_origine());
14777  check_to_go_further=5;
14778 
14779  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14780  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14781  }
14782 
14783  if((quall8>0.00001) && (check_not_to_creat_tetra!=3))
14784  {
14785  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(0),tetra_cutt->get_origine());
14786  check_to_go_further=5;
14787 
14788  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14789  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14790 
14791 
14792  }
14793 
14794  if((quallo8>0.00001) && (check_not_to_creat_tetra!=3))
14795  {
14796  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(0),tetra_cutt->get_origine());
14797  check_to_go_further=5;
14798 
14799  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14800  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14801 
14802 
14803  }
14804 
14805  if((quall9>0.00001) && (check_not_to_creat_tetra!=3))
14806  {
14807  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine());
14808 
14809  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14810  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14811 
14812  }
14813 
14814  if((quallo9>0.00001) && (check_not_to_creat_tetra!=3))
14815  {
14816  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine());
14817  check_to_go_further=5;
14818 
14819  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14820  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14821 
14822  }
14823  }
14824  if ((quall10>0.001 || quallo10>0.001) && (quall12>0.001 || quallo12>0.001) && (quall11>0.001 || quallo11>0.001) && (check_to_go_further==3))
14825  {
14826  check_not_to_creat_tetra=0;
14827  LISTE_MG_TRIANGLE::iterator it_tri_existed;
14828  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
14829  {
14830  if(((lst_node_tri41.existe(tri_existed->get_noeud1())) && (lst_node_tri41.existe(tri_existed->get_noeud2())) && (lst_node_tri41.existe(tri_existed->get_noeud3()))) || ((lst_node_tri42.existe(tri_existed->get_noeud1())) && (lst_node_tri42.existe(tri_existed->get_noeud2())) && (lst_node_tri42.existe(tri_existed->get_noeud3()))) || ((lst_node_tri43.existe(tri_existed->get_noeud1())) && (lst_node_tri43.existe(tri_existed->get_noeud2())) && (lst_node_tri43.existe(tri_existed->get_noeud3()))) || ((lst_node_tri44.existe(tri_existed->get_noeud1())) && (lst_node_tri44.existe(tri_existed->get_noeud2())) && (lst_node_tri44.existe(tri_existed->get_noeud3()))) || ((lst_node_tri45.existe(tri_existed->get_noeud1())) && (lst_node_tri45.existe(tri_existed->get_noeud2())) && (lst_node_tri45.existe(tri_existed->get_noeud3()))) || ((lst_node_tri46.existe(tri_existed->get_noeud1())) && (lst_node_tri46.existe(tri_existed->get_noeud2())) && (lst_node_tri46.existe(tri_existed->get_noeud3()))) || ((lst_node_tri47.existe(tri_existed->get_noeud1())) && (lst_node_tri47.existe(tri_existed->get_noeud2())) && (lst_node_tri47.existe(tri_existed->get_noeud3()))) || ((lst_node_tri48.existe(tri_existed->get_noeud1())) && (lst_node_tri48.existe(tri_existed->get_noeud2())) && (lst_node_tri48.existe(tri_existed->get_noeud3()))) || ((lst_node_tri49.existe(tri_existed->get_noeud1())) && (lst_node_tri49.existe(tri_existed->get_noeud2())) && (lst_node_tri49.existe(tri_existed->get_noeud3()))) || ((lst_node_tri410.existe(tri_existed->get_noeud1())) && (lst_node_tri410.existe(tri_existed->get_noeud2())) && (lst_node_tri410.existe(tri_existed->get_noeud3()))))
14831  {
14832 
14833  check_to_creat_tetra=2;
14834 
14835  }
14836 
14837  else
14838 
14839  {
14840  check_not_to_creat_tetra=3;
14841 
14842  }
14843 
14844  }
14845 
14846  if((quall10>0.00001) && (check_not_to_creat_tetra!=3))
14847  {
14848  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(6),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
14849 
14850  check_to_go_further=5;
14851 
14852  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14853  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14854 
14855  }
14856  if((quallo10>0.00001) && (check_not_to_creat_tetra!=3))
14857  {
14858  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(6),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
14859  check_to_go_further=5;
14860 
14861  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14862  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14863 
14864  }
14865 
14866  if((quall11>0.00001) && (check_not_to_creat_tetra!=3))
14867  {
14868  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine());
14869  check_to_go_further=5;
14870 
14871  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14872  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14873 
14874  }
14875  if((quallo11>0.00001) && (check_not_to_creat_tetra!=3))
14876  {
14877  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine());
14878 
14879  check_to_go_further=5;
14880 
14881 
14882  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14883  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14884 
14885  }
14886  if((quall12>0.00001) && (check_not_to_creat_tetra!=3))
14887  {
14888  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine());
14889  check_to_go_further=5;
14890 
14891  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14892  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14893 
14894  }
14895  if((quallo12>0.00001) && (check_not_to_creat_tetra!=3))
14896 
14897  {
14898  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine());
14899  check_to_go_further=5;
14900 
14901  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14902  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14903 
14904  }
14905  }
14906  if ((quall13>0.001 || quallo13>0.001) && (quall14>0.001 || quallo14>0.001) && (quall15>0.001 || quallo15>0.001) && (check_to_go_further==3))
14907  {
14908  check_not_to_creat_tetra=0;
14909  LISTE_MG_TRIANGLE::iterator it_tri_existed;
14910  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
14911 
14912  {
14913 
14914  if(((lst_node_tri51.existe(tri_existed->get_noeud1())) && (lst_node_tri51.existe(tri_existed->get_noeud2())) && (lst_node_tri51.existe(tri_existed->get_noeud3()))) || ((lst_node_tri52.existe(tri_existed->get_noeud1())) && (lst_node_tri52.existe(tri_existed->get_noeud2())) && (lst_node_tri52.existe(tri_existed->get_noeud3()))) || ((lst_node_tri53.existe(tri_existed->get_noeud1())) && (lst_node_tri53.existe(tri_existed->get_noeud2())) && (lst_node_tri53.existe(tri_existed->get_noeud3()))) || ((lst_node_tri54.existe(tri_existed->get_noeud1())) && (lst_node_tri54.existe(tri_existed->get_noeud2())) && (lst_node_tri54.existe(tri_existed->get_noeud3()))) || ((lst_node_tri55.existe(tri_existed->get_noeud1())) && (lst_node_tri55.existe(tri_existed->get_noeud2())) && (lst_node_tri55.existe(tri_existed->get_noeud3()))) || ((lst_node_tri56.existe(tri_existed->get_noeud1())) && (lst_node_tri56.existe(tri_existed->get_noeud2())) && (lst_node_tri56.existe(tri_existed->get_noeud3()))) || ((lst_node_tri57.existe(tri_existed->get_noeud1())) && (lst_node_tri57.existe(tri_existed->get_noeud2())) && (lst_node_tri57.existe(tri_existed->get_noeud3()))) || ((lst_node_tri58.existe(tri_existed->get_noeud1())) && (lst_node_tri58.existe(tri_existed->get_noeud2())) && (lst_node_tri58.existe(tri_existed->get_noeud3()))) || ((lst_node_tri59.existe(tri_existed->get_noeud1())) && (lst_node_tri59.existe(tri_existed->get_noeud2())) && (lst_node_tri59.existe(tri_existed->get_noeud3()))) || ((lst_node_tri510.existe(tri_existed->get_noeud1())) && (lst_node_tri510.existe(tri_existed->get_noeud2())) && (lst_node_tri510.existe(tri_existed->get_noeud3()))))
14915  {
14916 
14917  check_to_creat_tetra=2;
14918  }
14919 
14920  else
14921 
14922  {
14923  check_not_to_creat_tetra=3;
14924 
14925  }
14926 
14927  }
14928 
14929 
14930  if((quall13>0.00001) && (check_not_to_creat_tetra!=3))
14931  {
14932  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(0),tetra_cutt->get_origine());
14933  check_to_go_further=5;
14934 
14935  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14936  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14937 
14938  }
14939 
14940  if((quallo13>0.00001) && (check_not_to_creat_tetra!=3))
14941  {
14942  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(0),tetra_cutt->get_origine());
14943  check_to_go_further=5;
14944 
14945  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14946  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14947 
14948  }
14949 
14950  if((quall14>0.00001) && (check_not_to_creat_tetra!=3))
14951  {
14952  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine());
14953 
14954  check_to_go_further=5;
14955 
14956  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14957  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14958  }
14959 
14960  if((quallo14>0.00001) && (check_not_to_creat_tetra!=3))
14961  {
14962  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine());
14963 
14964  check_to_go_further=5;
14965  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14966  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14967 
14968  }
14969 
14970  if((quall15>0.00001) && (check_not_to_creat_tetra!=3))
14971  {
14972  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine());
14973  check_to_go_further=5;
14974 
14975  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14976  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14977 
14978  }
14979 
14980  if((quallo15>0.00001) && (check_not_to_creat_tetra!=3))
14981  {
14982 
14983  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine());
14984  check_to_go_further=5;
14985 
14986  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14987  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14988 
14989  }
14990  }
14991 
14992  if ((quall16>0.001 || quallo16>0.001) && (quall17>0.001 || quallo17>0.001) && (quall18>0.001 || quallo18>0.001) && (check_to_go_further==3))
14993  {
14994  check_not_to_creat_tetra=0;
14995  LISTE_MG_TRIANGLE::iterator it_tri_existed;
14996  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
14997 
14998  {
14999 
15000  if(((lst_node_tri61.existe(tri_existed->get_noeud1())) && (lst_node_tri61.existe(tri_existed->get_noeud2())) && (lst_node_tri61.existe(tri_existed->get_noeud3()))) || ((lst_node_tri62.existe(tri_existed->get_noeud1())) && (lst_node_tri62.existe(tri_existed->get_noeud2())) && (lst_node_tri62.existe(tri_existed->get_noeud3()))) || ((lst_node_tri63.existe(tri_existed->get_noeud1())) && (lst_node_tri63.existe(tri_existed->get_noeud2())) && (lst_node_tri63.existe(tri_existed->get_noeud3()))) || ((lst_node_tri64.existe(tri_existed->get_noeud1())) && (lst_node_tri64.existe(tri_existed->get_noeud2())) && (lst_node_tri64.existe(tri_existed->get_noeud3()))) || ((lst_node_tri65.existe(tri_existed->get_noeud1())) && (lst_node_tri65.existe(tri_existed->get_noeud2())) && (lst_node_tri65.existe(tri_existed->get_noeud3()))) || ((lst_node_tri66.existe(tri_existed->get_noeud1())) && (lst_node_tri66.existe(tri_existed->get_noeud2())) && (lst_node_tri66.existe(tri_existed->get_noeud3()))) || ((lst_node_tri67.existe(tri_existed->get_noeud1())) && (lst_node_tri67.existe(tri_existed->get_noeud2())) && (lst_node_tri67.existe(tri_existed->get_noeud3()))) || ((lst_node_tri68.existe(tri_existed->get_noeud1())) && (lst_node_tri68.existe(tri_existed->get_noeud2())) && (lst_node_tri68.existe(tri_existed->get_noeud3()))) || ((lst_node_tri69.existe(tri_existed->get_noeud1())) && (lst_node_tri69.existe(tri_existed->get_noeud2())) && (lst_node_tri69.existe(tri_existed->get_noeud3()))) || ((lst_node_tri610.existe(tri_existed->get_noeud1())) && (lst_node_tri610.existe(tri_existed->get_noeud2())) && (lst_node_tri610.existe(tri_existed->get_noeud3()))))
15001  {
15002 
15003  check_to_creat_tetra=2;
15004  }
15005 
15006 
15007  else
15008 
15009  {
15010  check_not_to_creat_tetra=3;
15011 
15012  }
15013 
15014  }
15015 
15016  if((quall16>0.00001) && (check_not_to_creat_tetra!=3))
15017  {
15018  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine());
15019 
15020  check_to_go_further=5;
15021 
15022  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15023  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15024 
15025  }
15026  if((quallo16>0.00001) && (check_not_to_creat_tetra!=3))
15027  {
15028  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine());
15029 
15030  check_to_go_further=5;
15031 
15032  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15033  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15034 
15035  }
15036  if((quall17>0.00001) && (check_not_to_creat_tetra!=3))
15037  {
15038  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(6),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
15039  check_to_go_further=5;
15040 
15041  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15042  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15043 
15044  }
15045  if((quallo17>0.00001) && (check_not_to_creat_tetra!=3))
15046  {
15047  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(6),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
15048  check_to_go_further=5;
15049 
15050  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15051  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15052  }
15053  if((quall18>0.00001) && (check_not_to_creat_tetra!=3))
15054  {
15055  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(6),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
15056  check_to_go_further=5;
15057 
15058  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15059  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15060 
15061  }
15062  if((quallo18>0.00001) && (check_not_to_creat_tetra!=3))
15063  {
15064  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(6),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
15065  check_to_go_further=5;
15066 
15067  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15068  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15069  }
15070  }
15071  }
15072  //============================================Third loop==============================================================
15073  if (check_to_go_further==3)
15074  {
15075  if ((quall1>0.000001 || quallo1>0.000001) && (quall2>0.000001 || quallo2>0.000001) && (quall3>0.000001 || quallo3>0.000001))
15076  {
15077  check_not_to_creat_tetra=0;
15078  LISTE_MG_TRIANGLE::iterator it_tri_existed;
15079  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
15080 
15081  {
15082 
15083  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))) || ((lst_node_tri18.existe(tri_existed->get_noeud1())) && (lst_node_tri18.existe(tri_existed->get_noeud2())) && (lst_node_tri18.existe(tri_existed->get_noeud3()))) || ((lst_node_tri19.existe(tri_existed->get_noeud1())) && (lst_node_tri19.existe(tri_existed->get_noeud2())) && (lst_node_tri19.existe(tri_existed->get_noeud3()))) || ((lst_node_tri110.existe(tri_existed->get_noeud1())) && (lst_node_tri110.existe(tri_existed->get_noeud2())) && (lst_node_tri110.existe(tri_existed->get_noeud3()))))
15084  {
15085 
15086  check_to_creat_tetra=2;
15087  }
15088 
15089 
15090  else
15091 
15092  {
15093  check_not_to_creat_tetra=3;
15094 
15095  }
15096 
15097  }
15098 
15099 
15100  if ((quall1>0.000001) && (check_not_to_creat_tetra!=3))
15101  {
15102  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
15103  check_to_go_further=5;
15104 
15105  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15106  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15107 
15108  }
15109 
15110  if ((quallo1>0.000001) && (check_not_to_creat_tetra!=3))
15111  {
15112  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
15113  check_to_go_further=5;
15114 
15115  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15116  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15117  }
15118 
15119  if ((quall2>0.000001) && (check_not_to_creat_tetra!=3))
15120  {
15121  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine());
15122  check_to_go_further=5;
15123 
15124  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15125  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15126  }
15127  if ((quallo2>0.000001) && (check_not_to_creat_tetra!=3))
15128  {
15129  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine());
15130  check_to_go_further=5;
15131 
15132 
15133  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15134  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15135  }
15136 
15137  if ((quall3>0.000001) && (check_not_to_creat_tetra!=3))
15138  {
15139  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(6),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine());
15140 
15141  check_to_go_further=5;
15142 
15143  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15144  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15145  }
15146  if ((quallo3>0.000001) && (check_not_to_creat_tetra!=3))
15147 
15148  {
15149  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(6),lst_node_in_second.get(2),lst_node_in_second.get(4),tetra_cutt->get_origine());
15150  check_to_go_further=5;
15151 
15152  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15153  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15154  }
15155  }
15156  if ((quall4>0.000001 || quallo4>0.000001) && (quall5>0.000001 || quallo5>0.000001) && (quall6>0.000001 || quallo6>0.000001) && (check_to_go_further==3))
15157  {
15158  check_not_to_creat_tetra=0;
15159  LISTE_MG_TRIANGLE::iterator it_tri_existed;
15160  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
15161 
15162  {
15163 
15164  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))) || ((lst_node_tri28.existe(tri_existed->get_noeud1())) && (lst_node_tri28.existe(tri_existed->get_noeud2())) && (lst_node_tri28.existe(tri_existed->get_noeud3()))) || ((lst_node_tri29.existe(tri_existed->get_noeud1())) && (lst_node_tri29.existe(tri_existed->get_noeud2())) && (lst_node_tri29.existe(tri_existed->get_noeud3()))) || ((lst_node_tri210.existe(tri_existed->get_noeud1())) && (lst_node_tri210.existe(tri_existed->get_noeud2())) && (lst_node_tri210.existe(tri_existed->get_noeud3()))))
15165  {
15166 
15167  check_to_creat_tetra=2;
15168  }
15169 
15170  else
15171 
15172  {
15173  check_not_to_creat_tetra=3;
15174 
15175  }
15176 
15177  }
15178 
15179  if((quall4>0.000001) && (check_not_to_creat_tetra!=3))
15180  {
15181  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
15182  check_to_go_further=5;
15183 
15184  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15185  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15186 
15187  }
15188 
15189  if((quall5>0.000001) && (check_not_to_creat_tetra!=3))
15190  {
15191  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine());
15192  check_to_go_further=5;
15193 
15194  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15195  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15196  }
15197 
15198  if((quall6>0.000001) && (check_not_to_creat_tetra!=3))
15199  {
15200  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(0),tetra_cutt->get_origine());
15201  check_to_go_further=5;
15202 
15203  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15204  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15205  }
15206  if((quallo4>0.000001) && (check_not_to_creat_tetra!=3))
15207  {
15208  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
15209  check_to_go_further=5;
15210 
15211  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15212  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15213 
15214  }
15215 
15216  if((quallo5>0.000001) && (check_not_to_creat_tetra!=3))
15217  {
15218  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine());
15219  check_to_go_further=5;
15220 
15221  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15222  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15223  }
15224 
15225  if((quallo6>0.000001) && (check_not_to_creat_tetra!=3))
15226  {
15227  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(0),tetra_cutt->get_origine());
15228  check_to_go_further=5;
15229 
15230  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15231  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15232 
15233 
15234  }
15235  }
15236  if ((quall7>0.000001 || quallo7>0.000001) && (quall8>0.000001 || quallo8>0.000001) && (quall9>0.000001 || quallo9>0.000001) && (check_to_go_further==3))
15237  {
15238  check_not_to_creat_tetra=0;
15239  LISTE_MG_TRIANGLE::iterator it_tri_existed;
15240  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
15241 
15242  {
15243 
15244  if(((lst_node_tri31.existe(tri_existed->get_noeud1())) && (lst_node_tri31.existe(tri_existed->get_noeud2())) && (lst_node_tri31.existe(tri_existed->get_noeud3()))) || ((lst_node_tri32.existe(tri_existed->get_noeud1())) && (lst_node_tri32.existe(tri_existed->get_noeud2())) && (lst_node_tri32.existe(tri_existed->get_noeud3()))) || ((lst_node_tri33.existe(tri_existed->get_noeud1())) && (lst_node_tri33.existe(tri_existed->get_noeud2())) && (lst_node_tri33.existe(tri_existed->get_noeud3()))) || ((lst_node_tri34.existe(tri_existed->get_noeud1())) && (lst_node_tri34.existe(tri_existed->get_noeud2())) && (lst_node_tri34.existe(tri_existed->get_noeud3()))) || ((lst_node_tri35.existe(tri_existed->get_noeud1())) && (lst_node_tri35.existe(tri_existed->get_noeud2())) && (lst_node_tri35.existe(tri_existed->get_noeud3()))) || ((lst_node_tri36.existe(tri_existed->get_noeud1())) && (lst_node_tri36.existe(tri_existed->get_noeud2())) && (lst_node_tri36.existe(tri_existed->get_noeud3()))) || ((lst_node_tri37.existe(tri_existed->get_noeud1())) && (lst_node_tri37.existe(tri_existed->get_noeud2())) && (lst_node_tri37.existe(tri_existed->get_noeud3()))) || ((lst_node_tri38.existe(tri_existed->get_noeud1())) && (lst_node_tri38.existe(tri_existed->get_noeud2())) && (lst_node_tri38.existe(tri_existed->get_noeud3()))) || ((lst_node_tri39.existe(tri_existed->get_noeud1())) && (lst_node_tri39.existe(tri_existed->get_noeud2())) && (lst_node_tri39.existe(tri_existed->get_noeud3()))) || ((lst_node_tri310.existe(tri_existed->get_noeud1())) && (lst_node_tri310.existe(tri_existed->get_noeud2())) && (lst_node_tri310.existe(tri_existed->get_noeud3()))))
15245  {
15246 
15247  check_to_creat_tetra=2;
15248  }
15249 
15250  else
15251 
15252  {
15253  check_not_to_creat_tetra=3;
15254 
15255  }
15256 
15257  }
15258 
15259  if((quall7>0.000001) && (check_not_to_creat_tetra!=3))
15260  {
15261  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(0),tetra_cutt->get_origine());
15262  check_to_go_further=5;
15263 
15264  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15265  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15266  }
15267 
15268  if((quallo7>0.000001) && (check_not_to_creat_tetra!=3))
15269 
15270  {
15271  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(0),tetra_cutt->get_origine());
15272  check_to_go_further=5;
15273 
15274  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15275  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15276 
15277  }
15278 
15279  if((quall8>0.000001) && (check_not_to_creat_tetra!=3))
15280  {
15281  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(0),tetra_cutt->get_origine());
15282  check_to_go_further=5;
15283 
15284  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15285  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15286 
15287 
15288  }
15289 
15290  if((quallo8>0.000001) && (check_not_to_creat_tetra!=3))
15291  {
15292  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(0),tetra_cutt->get_origine());
15293  check_to_go_further=5;
15294 
15295  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15296  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15297 
15298 
15299  }
15300 
15301  if((quall9>0.000001) && (check_not_to_creat_tetra!=3))
15302  {
15303  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine());
15304  check_to_go_further=5;
15305 
15306  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15307  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15308 
15309  }
15310 
15311  if((quallo9>0.000001) && (check_not_to_creat_tetra!=3))
15312  {
15313  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(6),tetra_cutt->get_origine());
15314  check_to_go_further=5;
15315 
15316  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15317  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15318 
15319  }
15320  }
15321  if ((quall10>0.000001 || quallo10>0.000001) && (quall12>0.000001 || quallo12>0.000001) && (quall11>0.000001 || quallo11>0.000001) && (check_to_go_further==3))
15322  {
15323  check_not_to_creat_tetra=0;
15324  LISTE_MG_TRIANGLE::iterator it_tri_existed;
15325  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
15326  {
15327  if(((lst_node_tri41.existe(tri_existed->get_noeud1())) && (lst_node_tri41.existe(tri_existed->get_noeud2())) && (lst_node_tri41.existe(tri_existed->get_noeud3()))) || ((lst_node_tri42.existe(tri_existed->get_noeud1())) && (lst_node_tri42.existe(tri_existed->get_noeud2())) && (lst_node_tri42.existe(tri_existed->get_noeud3()))) || ((lst_node_tri43.existe(tri_existed->get_noeud1())) && (lst_node_tri43.existe(tri_existed->get_noeud2())) && (lst_node_tri43.existe(tri_existed->get_noeud3()))) || ((lst_node_tri44.existe(tri_existed->get_noeud1())) && (lst_node_tri44.existe(tri_existed->get_noeud2())) && (lst_node_tri44.existe(tri_existed->get_noeud3()))) || ((lst_node_tri45.existe(tri_existed->get_noeud1())) && (lst_node_tri45.existe(tri_existed->get_noeud2())) && (lst_node_tri45.existe(tri_existed->get_noeud3()))) || ((lst_node_tri46.existe(tri_existed->get_noeud1())) && (lst_node_tri46.existe(tri_existed->get_noeud2())) && (lst_node_tri46.existe(tri_existed->get_noeud3()))) || ((lst_node_tri47.existe(tri_existed->get_noeud1())) && (lst_node_tri47.existe(tri_existed->get_noeud2())) && (lst_node_tri47.existe(tri_existed->get_noeud3()))) || ((lst_node_tri48.existe(tri_existed->get_noeud1())) && (lst_node_tri48.existe(tri_existed->get_noeud2())) && (lst_node_tri48.existe(tri_existed->get_noeud3()))) || ((lst_node_tri49.existe(tri_existed->get_noeud1())) && (lst_node_tri49.existe(tri_existed->get_noeud2())) && (lst_node_tri49.existe(tri_existed->get_noeud3()))) || ((lst_node_tri410.existe(tri_existed->get_noeud1())) && (lst_node_tri410.existe(tri_existed->get_noeud2())) && (lst_node_tri410.existe(tri_existed->get_noeud3()))))
15328  {
15329 
15330  check_to_creat_tetra=2;
15331 
15332  }
15333 
15334  else
15335 
15336  {
15337  check_not_to_creat_tetra=3;
15338 
15339  }
15340 
15341  }
15342 
15343  if((quall10>0.000001) && (check_not_to_creat_tetra!=3))
15344  {
15345  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(6),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
15346 
15347  check_to_go_further=5;
15348 
15349  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15350  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15351 
15352  }
15353  if((quallo10>0.000001) && (check_not_to_creat_tetra!=3))
15354  {
15355  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(6),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
15356 
15357  check_to_go_further=5;
15358 
15359  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15360  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15361 
15362  }
15363 
15364  if((quall11>0.000001) && (check_not_to_creat_tetra!=3))
15365  {
15366  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine());
15367  check_to_go_further=5;
15368 
15369  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15370  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15371 
15372  }
15373  if((quallo11>0.000001) && (check_not_to_creat_tetra!=3))
15374  {
15375  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine());
15376 
15377  check_to_go_further=5;
15378 
15379  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15380  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15381 
15382  }
15383  if((quall12>0.000001) && (check_not_to_creat_tetra!=3))
15384  {
15385  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine());
15386  check_to_go_further=5;
15387 
15388  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15389  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15390 
15391  }
15392  if((quallo12>0.000001) && (check_not_to_creat_tetra!=3))
15393 
15394  {
15395  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine());
15396  check_to_go_further=5;
15397 
15398  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15399  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15400 
15401  }
15402  }
15403  if ((quall13>0.000001 || quallo13>0.000001) && (quall14>0.000001 || quallo14>0.000001) && (quall15>0.000001 || quallo15>0.000001) && (check_to_go_further==3))
15404  {
15405  check_not_to_creat_tetra=0;
15406  LISTE_MG_TRIANGLE::iterator it_tri_existed;
15407  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
15408 
15409  {
15410 
15411  if(((lst_node_tri51.existe(tri_existed->get_noeud1())) && (lst_node_tri51.existe(tri_existed->get_noeud2())) && (lst_node_tri51.existe(tri_existed->get_noeud3()))) || ((lst_node_tri52.existe(tri_existed->get_noeud1())) && (lst_node_tri52.existe(tri_existed->get_noeud2())) && (lst_node_tri52.existe(tri_existed->get_noeud3()))) || ((lst_node_tri53.existe(tri_existed->get_noeud1())) && (lst_node_tri53.existe(tri_existed->get_noeud2())) && (lst_node_tri53.existe(tri_existed->get_noeud3()))) || ((lst_node_tri54.existe(tri_existed->get_noeud1())) && (lst_node_tri54.existe(tri_existed->get_noeud2())) && (lst_node_tri54.existe(tri_existed->get_noeud3()))) || ((lst_node_tri55.existe(tri_existed->get_noeud1())) && (lst_node_tri55.existe(tri_existed->get_noeud2())) && (lst_node_tri55.existe(tri_existed->get_noeud3()))) || ((lst_node_tri56.existe(tri_existed->get_noeud1())) && (lst_node_tri56.existe(tri_existed->get_noeud2())) && (lst_node_tri56.existe(tri_existed->get_noeud3()))) || ((lst_node_tri57.existe(tri_existed->get_noeud1())) && (lst_node_tri57.existe(tri_existed->get_noeud2())) && (lst_node_tri57.existe(tri_existed->get_noeud3()))) || ((lst_node_tri58.existe(tri_existed->get_noeud1())) && (lst_node_tri58.existe(tri_existed->get_noeud2())) && (lst_node_tri58.existe(tri_existed->get_noeud3()))) || ((lst_node_tri59.existe(tri_existed->get_noeud1())) && (lst_node_tri59.existe(tri_existed->get_noeud2())) && (lst_node_tri59.existe(tri_existed->get_noeud3()))) || ((lst_node_tri510.existe(tri_existed->get_noeud1())) && (lst_node_tri510.existe(tri_existed->get_noeud2())) && (lst_node_tri510.existe(tri_existed->get_noeud3()))))
15412  {
15413 
15414 
15415  check_to_creat_tetra=2;
15416  }
15417 
15418  else
15419 
15420  {
15421  check_not_to_creat_tetra=3;
15422 
15423  }
15424 
15425  }
15426 
15427 
15428  if((quall13>0.000001) && (check_not_to_creat_tetra!=3))
15429  {
15430  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),lst_node_in_second.get(0),tetra_cutt->get_origine());
15431  check_to_go_further=5;
15432 
15433  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15434  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15435 
15436  }
15437 
15438  if((quallo13>0.000001) && (check_not_to_creat_tetra!=3))
15439  {
15440  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(3),lst_node_in_second.get(2),lst_node_in_second.get(4),lst_node_in_second.get(0),tetra_cutt->get_origine());
15441  check_to_go_further=5;
15442 
15443  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15444  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15445 
15446  }
15447 
15448  if((quall14>0.000001) && (check_not_to_creat_tetra!=3))
15449  {
15450  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine());
15451 
15452  check_to_go_further=5;
15453 
15454  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15455  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15456  }
15457 
15458  if((quallo14>0.000001) && (check_not_to_creat_tetra!=3))
15459  {
15460  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine());
15461 
15462  check_to_go_further=5;
15463 
15464  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15465  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15466 
15467  }
15468 
15469  if((quall15>0.000001) && (check_not_to_creat_tetra!=3))
15470  {
15471  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine());
15472  check_to_go_further=5;
15473 
15474  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15475  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15476 
15477  }
15478 
15479  if((quallo15>0.000001) && (check_not_to_creat_tetra!=3))
15480  {
15481  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(0),lst_node_in_second.get(3),lst_node_in_second.get(6),tetra_cutt->get_origine());
15482  check_to_go_further=5;
15483 
15484  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15485  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15486 
15487  }
15488  }
15489 
15490  if ((quall16>0.000001 || quallo16>0.000001) && (quall17>0.000001 || quallo17>0.000001) && (quall18>0.000001 || quallo18>0.000001) && (check_to_go_further==3))
15491  {
15492  check_not_to_creat_tetra=0;
15493  LISTE_MG_TRIANGLE::iterator it_tri_existed;
15494  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
15495 
15496  {
15497 
15498  if(((lst_node_tri61.existe(tri_existed->get_noeud1())) && (lst_node_tri61.existe(tri_existed->get_noeud2())) && (lst_node_tri61.existe(tri_existed->get_noeud3()))) || ((lst_node_tri62.existe(tri_existed->get_noeud1())) && (lst_node_tri62.existe(tri_existed->get_noeud2())) && (lst_node_tri62.existe(tri_existed->get_noeud3()))) || ((lst_node_tri63.existe(tri_existed->get_noeud1())) && (lst_node_tri63.existe(tri_existed->get_noeud2())) && (lst_node_tri63.existe(tri_existed->get_noeud3()))) || ((lst_node_tri64.existe(tri_existed->get_noeud1())) && (lst_node_tri64.existe(tri_existed->get_noeud2())) && (lst_node_tri64.existe(tri_existed->get_noeud3()))) || ((lst_node_tri65.existe(tri_existed->get_noeud1())) && (lst_node_tri65.existe(tri_existed->get_noeud2())) && (lst_node_tri65.existe(tri_existed->get_noeud3()))) || ((lst_node_tri66.existe(tri_existed->get_noeud1())) && (lst_node_tri66.existe(tri_existed->get_noeud2())) && (lst_node_tri66.existe(tri_existed->get_noeud3()))) || ((lst_node_tri67.existe(tri_existed->get_noeud1())) && (lst_node_tri67.existe(tri_existed->get_noeud2())) && (lst_node_tri67.existe(tri_existed->get_noeud3()))) || ((lst_node_tri68.existe(tri_existed->get_noeud1())) && (lst_node_tri68.existe(tri_existed->get_noeud2())) && (lst_node_tri68.existe(tri_existed->get_noeud3()))) || ((lst_node_tri69.existe(tri_existed->get_noeud1())) && (lst_node_tri69.existe(tri_existed->get_noeud2())) && (lst_node_tri69.existe(tri_existed->get_noeud3()))) || ((lst_node_tri610.existe(tri_existed->get_noeud1())) && (lst_node_tri610.existe(tri_existed->get_noeud2())) && (lst_node_tri610.existe(tri_existed->get_noeud3()))))
15499  {
15500 
15501  check_to_creat_tetra=2;
15502  }
15503 
15504 
15505  else
15506 
15507  {
15508  check_not_to_creat_tetra=3;
15509 
15510  }
15511 
15512  }
15513 
15514  if((quall16>0.000001) && (check_not_to_creat_tetra!=3))
15515  {
15516  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(0),lst_node_in_second.get(1),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine());
15517 
15518  check_to_go_further=5;
15519 
15520  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15521  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15522 
15523  }
15524  if((quallo16>0.000001) && (check_not_to_creat_tetra!=3))
15525  {
15526  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(0),lst_node_in_second.get(4),lst_node_in_second.get(6),tetra_cutt->get_origine());
15527 
15528  check_to_go_further=5;
15529 
15530  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15531  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15532 
15533  }
15534  if((quall17>0.000001) && (check_not_to_creat_tetra!=3))
15535  {
15536  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(6),lst_node_in_second.get(2),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
15537  check_to_go_further=5;
15538 
15539  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15540  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15541 
15542  }
15543  if((quallo17>0.000001) && (check_not_to_creat_tetra!=3))
15544  {
15545  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(2),lst_node_in_second.get(6),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
15546  check_to_go_further=5;
15547 
15548  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15549  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15550  }
15551  if((quall18>0.000001) && (check_not_to_creat_tetra!=3))
15552  {
15553  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(6),lst_node_in_second.get(1),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
15554 
15555  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15556  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15557 
15558  }
15559  if((quallo18>0.000001) && (check_not_to_creat_tetra!=3))
15560  {
15561  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in_second.get(1),lst_node_in_second.get(6),lst_node_in_second.get(3),lst_node_in_second.get(4),tetra_cutt->get_origine());
15562  check_to_go_further=5;
15563 
15564  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15565  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15566  }
15567  }
15568  }
15569  }
15570  }
15571 
15572  if (check_to_go_further==3)
15573  {
15574  printf(" not createt 6--4!!!!!!!! \n\n");
15575  return;
15576  }
15577 
15578 
15579 
15580  lst_tri_already_existed.vide();
15581 
15582 
15583 
15584  lst_node_tri11.vide();lst_node_tri12.vide();lst_node_tri13.vide();lst_node_tri14.vide();lst_node_tri15.vide();lst_node_tri16.vide();lst_node_tri17.vide();lst_node_tri18.vide();lst_node_tri19.vide();lst_node_tri110.vide();
15585 
15586  lst_node_tri21.vide();lst_node_tri22.vide();lst_node_tri23.vide();lst_node_tri24.vide();lst_node_tri25.vide();lst_node_tri26.vide();lst_node_tri27.vide();lst_node_tri28.vide();
15587  lst_node_tri29.vide();lst_node_tri210.vide();
15588 
15589  lst_node_tri31.vide();lst_node_tri32.vide();lst_node_tri33.vide();lst_node_tri34.vide();lst_node_tri35.vide();lst_node_tri36.vide();lst_node_tri37.vide();lst_node_tri38.vide();
15590  lst_node_tri39.vide();lst_node_tri310.vide();
15591 
15592  lst_node_tri41.vide();lst_node_tri42.vide();lst_node_tri43.vide();lst_node_tri44.vide();lst_node_tri45.vide();lst_node_tri46.vide();lst_node_tri47.vide();lst_node_tri48.vide();
15593  lst_node_tri49.vide();lst_node_tri410.vide();
15594 
15595  lst_node_tri51.vide();lst_node_tri52.vide();lst_node_tri53.vide();lst_node_tri54.vide();lst_node_tri55.vide();lst_node_tri56.vide();lst_node_tri57.vide();lst_node_tri58.vide();
15596  lst_node_tri59.vide();lst_node_tri510.vide();
15597 
15598  lst_node_tri61.vide();lst_node_tri62.vide();lst_node_tri63.vide();lst_node_tri64.vide();lst_node_tri65.vide();lst_node_tri66.vide();lst_node_tri67.vide();lst_node_tri68.vide();
15599  lst_node_tri69.vide();lst_node_tri610.vide();
15600 }
15601 void MSTRUCT_VES_DECOUP::generer_tetra_5node(MG_TETRA *tetra_cutt, TPL_MAP_ENTITE<MG_NOEUD*> lst_node_in, int &nb_tet_5nodes_accepted,std::map<MG_NOEUD*,MG_NOEUD*> map_correspondance_node_node_in)
15602  {
15603  TPL_MAP_ENTITE<MG_TETRA*> lst_tet_added;
15604  double qualite_min_3D=std::numeric_limits< double >::max();
15605  double qualite_max_3D=std::numeric_limits< double >::min();
15606  double qualite_moyenne_3D=0;
15607  TPL_MAP_ENTITE<MG_TRIANGLE*>lst_tri_already_existed;
15608 
15609  TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri11;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri12;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri13;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri14;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri15;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri16;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri17;
15610 
15611  TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri21;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri22;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri23;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri24;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri25;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri26;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri27;
15612 
15613  TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri31;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri32;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri33;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri34;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri35;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri36;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri37;
15614 
15615  TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri41;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri42;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri43;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri44;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri45;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri46;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri47;
15616 
15617  TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri51;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri52;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri53;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri54;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri55;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri56;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri57;
15618 
15619  TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri61;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri62;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri63;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri64;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri65;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri66;TPL_MAP_ENTITE<MG_NOEUD*> lst_node_tri67;
15620  //--------------------------------------------------------------------------------------
15621 
15622  double quall1=0;double quall2=0;double quall3=0;double quall4=0;double quall5=0;
15623  double quallo1=0;double quallo2=0;double quallo3=0;double quallo4=0;double quallo5=0;
15624 
15625 
15626  for (int ll=0;ll<5;ll++)
15627  {
15628  int ntt=lst_node_in.get(ll)->get_lien_triangle()->get_nb();
15629  //===============================For each triangle of nb triangles of each node===============
15630  if(ntt>0)
15631  {
15632  for(int mm=0;mm<ntt;mm++)
15633  {
15634  MG_TRIANGLE* tri_related_nodee= lst_node_in.get(ll)->get_lien_triangle()->get(mm);
15635 
15636 
15637  if((lst_node_in.existe(tri_related_nodee->get_noeud1()))&&(lst_node_in.existe(tri_related_nodee->get_noeud2()))&&(lst_node_in.existe(tri_related_nodee->get_noeud3())))
15638  {
15639  lst_tri_already_existed.ajouter(tri_related_nodee);
15640  }}}}
15641 
15642  int check_not_to_creat_tetra=0;
15643  int check_to_creat_tetra=0;
15644  int check_to_go_further=3;
15645 
15646 
15647  // MG_SEGMENT* seg_related= map_correspondance_node_segment.find(lst_node_in.get(4))->second;
15648 
15649  int id_node_rel3= map_correspondance_node_node_in.find(lst_node_in.get(3))->second->get_id();
15650  int id_node_rel4= map_correspondance_node_node_in.find(lst_node_in.get(4))->second->get_id();
15651 
15652  if((id_node_rel3==lst_node_in.get(1)->get_id()) && (id_node_rel4==lst_node_in.get(2)->get_id()))
15653  {
15654 
15655  //=================================================================
15656 
15657  quall1=OPERATEUR::qualite_tetra(lst_node_in.get(0)->get_coord(),lst_node_in.get(1)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(4)->get_coord());
15658 
15659  quall2=OPERATEUR::qualite_tetra(lst_node_in.get(0)->get_coord(),lst_node_in.get(1)->get_coord(),lst_node_in.get(3)->get_coord(),lst_node_in.get(4)->get_coord());
15660 
15661  //----------------------------------------------------
15662  quallo1=OPERATEUR::qualite_tetra(lst_node_in.get(1)->get_coord(),lst_node_in.get(0)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(4)->get_coord());
15663 
15664  quallo2=OPERATEUR::qualite_tetra(lst_node_in.get(1)->get_coord(),lst_node_in.get(0)->get_coord(),lst_node_in.get(3)->get_coord(),lst_node_in.get(4)->get_coord());
15665 
15666  lst_node_tri11.ajouter(lst_node_in.get(0));
15667  lst_node_tri11.ajouter(lst_node_in.get(1));
15668  lst_node_tri11.ajouter(lst_node_in.get(2));
15669 
15670  lst_node_tri12.ajouter(lst_node_in.get(0));
15671  lst_node_tri12.ajouter(lst_node_in.get(1));
15672  lst_node_tri12.ajouter(lst_node_in.get(4));
15673 
15674  lst_node_tri13.ajouter(lst_node_in.get(0));
15675  lst_node_tri13.ajouter(lst_node_in.get(2));
15676  lst_node_tri13.ajouter(lst_node_in.get(4));
15677 
15678  lst_node_tri14.ajouter(lst_node_in.get(1));
15679  lst_node_tri14.ajouter(lst_node_in.get(2));
15680  lst_node_tri14.ajouter(lst_node_in.get(4));
15681 
15682  lst_node_tri15.ajouter(lst_node_in.get(0));
15683  lst_node_tri15.ajouter(lst_node_in.get(1));
15684  lst_node_tri15.ajouter(lst_node_in.get(3));
15685 
15686  lst_node_tri16.ajouter(lst_node_in.get(0));
15687  lst_node_tri16.ajouter(lst_node_in.get(3));
15688  lst_node_tri16.ajouter(lst_node_in.get(4));
15689 
15690 
15691  lst_node_tri17.ajouter(lst_node_in.get(1));
15692  lst_node_tri17.ajouter(lst_node_in.get(3));
15693  lst_node_tri17.ajouter(lst_node_in.get(4));
15694 
15695  //----------------------------------------------------
15696  //----------------------------------------------------
15697  quall4=OPERATEUR::qualite_tetra(lst_node_in.get(0)->get_coord(),lst_node_in.get(1)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(3)->get_coord());
15698 
15699  quall5=OPERATEUR::qualite_tetra(lst_node_in.get(0)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(3)->get_coord(),lst_node_in.get(4)->get_coord());
15700 
15701  //----------------------------------------------------
15702  quallo4=OPERATEUR::qualite_tetra(lst_node_in.get(1)->get_coord(),lst_node_in.get(0)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(3)->get_coord());
15703 
15704  quallo5=OPERATEUR::qualite_tetra(lst_node_in.get(2)->get_coord(),lst_node_in.get(0)->get_coord(),lst_node_in.get(3)->get_coord(),lst_node_in.get(4)->get_coord());
15705 
15706  lst_node_tri21.ajouter(lst_node_in.get(1));
15707  lst_node_tri21.ajouter(lst_node_in.get(2));
15708  lst_node_tri21.ajouter(lst_node_in.get(0));
15709 
15710  lst_node_tri22.ajouter(lst_node_in.get(0));
15711  lst_node_tri22.ajouter(lst_node_in.get(1));
15712  lst_node_tri22.ajouter(lst_node_in.get(3));
15713 
15714  lst_node_tri23.ajouter(lst_node_in.get(0));
15715  lst_node_tri23.ajouter(lst_node_in.get(2));
15716  lst_node_tri23.ajouter(lst_node_in.get(3));
15717 
15718  lst_node_tri24.ajouter(lst_node_in.get(1));
15719  lst_node_tri24.ajouter(lst_node_in.get(2));
15720  lst_node_tri24.ajouter(lst_node_in.get(3));
15721 
15722  lst_node_tri25.ajouter(lst_node_in.get(0));
15723  lst_node_tri25.ajouter(lst_node_in.get(2));
15724  lst_node_tri25.ajouter(lst_node_in.get(4));
15725 
15726  lst_node_tri26.ajouter(lst_node_in.get(0));
15727  lst_node_tri26.ajouter(lst_node_in.get(3));
15728  lst_node_tri26.ajouter(lst_node_in.get(4));
15729 
15730  lst_node_tri27.ajouter(lst_node_in.get(2));
15731  lst_node_tri27.ajouter(lst_node_in.get(3));
15732  lst_node_tri27.ajouter(lst_node_in.get(4));
15733 
15734  //----------------------------------------------------
15735  //----------------------------------------------------
15736 
15737  if (((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001)) && ((quall4+quallo4+quall5+quallo5)<(quall1+quallo1+quall2+quallo2)) )
15738  {
15739  check_not_to_creat_tetra=0;
15740  LISTE_MG_TRIANGLE::iterator it_tri_existed;
15741  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
15742  {
15743  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))))
15744  {
15745 
15746  check_to_creat_tetra=2;
15747  }
15748  else
15749 
15750  {
15751  check_not_to_creat_tetra=3;
15752 
15753  }
15754 
15755  }
15756 
15757  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
15758  {
15759  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine());
15760  check_to_go_further=5;
15761 
15762  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15763 
15764  }
15765 
15766  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
15767  {
15768  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine());
15769  check_to_go_further=5;
15770 
15771  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15772  }
15773 
15774  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
15775  {
15776  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
15777  check_to_go_further=5;
15778 
15779  qualite_moyenne_3D+=quall2;
15780  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
15781  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
15782 
15783  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15784  }
15785  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
15786  {
15787  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
15788  check_to_go_further=5;
15789 
15790  qualite_moyenne_3D+=quallo2;
15791  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
15792  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
15793 
15794  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15795  }
15796 
15797  }
15798  if (((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001)) && (check_to_go_further==3))
15799  {
15800  check_not_to_creat_tetra=0;
15801  LISTE_MG_TRIANGLE::iterator it_tri_existed;
15802  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
15803  {
15804  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))))
15805  {
15806  check_to_creat_tetra=2;
15807  }
15808  else
15809  {
15810  check_not_to_creat_tetra=3;
15811  }
15812  }
15813 
15814  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
15815  {
15816  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
15817  check_to_go_further=5;
15818 
15819  qualite_moyenne_3D+=quall4;
15820  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15821  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
15822  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
15823  }
15824 
15825  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
15826  {
15827  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
15828 
15829  check_to_go_further=5;
15830  qualite_moyenne_3D+=quall5;
15831  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15832  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
15833 
15834  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
15835 
15836  }
15837 
15838 
15839  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
15840  {
15841  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
15842  check_to_go_further=5;
15843  qualite_moyenne_3D+=quallo4;
15844  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15845  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
15846  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
15847 
15848  }
15849 
15850  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
15851  {
15852  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(2),lst_node_in.get(0),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
15853  check_to_go_further=5;
15854  qualite_moyenne_3D+=quallo5;
15855  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15856  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
15857  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
15858 
15859 
15860  }
15861 
15862 
15863  }
15864 
15865 
15866  //============================================Second loop==============================================================
15867  if (check_to_go_further==3)
15868  {
15869  if ((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001))
15870  {
15871  check_not_to_creat_tetra=0;
15872  LISTE_MG_TRIANGLE::iterator it_tri_existed;
15873  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
15874  {
15875  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))))
15876  {
15877 
15878  check_to_creat_tetra=2;
15879  }
15880  else
15881 
15882  {
15883  check_not_to_creat_tetra=3;
15884 
15885  }
15886 
15887  }
15888 
15889  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
15890  {
15891  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
15892  check_to_go_further=5;
15893  qualite_moyenne_3D+=quall1;
15894  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15895  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
15896  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
15897  }
15898 
15899  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
15900  {
15901  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
15902  check_to_go_further=5;
15903  qualite_moyenne_3D+=quallo1;
15904  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
15905  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
15906  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15907  }
15908 
15909  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
15910  {
15911  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
15912  check_to_go_further=5;
15913 
15914  qualite_moyenne_3D+=quall2;
15915  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
15916  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
15917 
15918  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15919  }
15920  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
15921  {
15922  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
15923  check_to_go_further=5;
15924 
15925  qualite_moyenne_3D+=quallo2;
15926  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
15927  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
15928 
15929  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15930  }
15931 
15932  }
15933  if ((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (check_to_go_further==3))
15934  {
15935  check_not_to_creat_tetra=0;
15936  LISTE_MG_TRIANGLE::iterator it_tri_existed;
15937  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
15938  {
15939  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))))
15940  {
15941  check_to_creat_tetra=2;
15942  }
15943  else
15944  {
15945  check_not_to_creat_tetra=3;
15946  }
15947  }
15948 
15949  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
15950  {
15951  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
15952  check_to_go_further=5;
15953 
15954  qualite_moyenne_3D+=quall4;
15955  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15956  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
15957  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
15958  }
15959 
15960  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
15961  {
15962  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
15963 
15964  check_to_go_further=5;
15965  qualite_moyenne_3D+=quall5;
15966  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15967  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
15968 
15969  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
15970 
15971  }
15972 
15973 
15974  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
15975  {
15976  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
15977  check_to_go_further=5;
15978  qualite_moyenne_3D+=quallo4;
15979  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15980  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
15981  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
15982 
15983  }
15984 
15985  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
15986  {
15987  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(2),lst_node_in.get(0),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
15988  check_to_go_further=5;
15989  qualite_moyenne_3D+=quallo5;
15990  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15991  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
15992  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
15993 
15994 
15995  }
15996 
15997 
15998  }
15999 
16000  }
16001  //============================================Third loop==============================================================
16002  if (check_to_go_further==3)
16003  {
16004  if ((quall1>0.000001 || quallo1>0.000001) && (quall2>0.000001 || quallo2>0.000001))
16005  {
16006  check_not_to_creat_tetra=0;
16007  LISTE_MG_TRIANGLE::iterator it_tri_existed;
16008  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
16009  {
16010  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))))
16011  {
16012 
16013  check_to_creat_tetra=2;
16014  }
16015  else
16016 
16017  {
16018  check_not_to_creat_tetra=3;
16019 
16020  }
16021 
16022  }
16023 
16024  if ((quall1>0.00000001) && (check_not_to_creat_tetra!=3))
16025  {
16026  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
16027  check_to_go_further=5;
16028  qualite_moyenne_3D+=quall1;
16029  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16030  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
16031  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
16032  }
16033 
16034  if ((quallo1>0.00000001) && (check_not_to_creat_tetra!=3))
16035  {
16036  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
16037  check_to_go_further=5;
16038  qualite_moyenne_3D+=quallo1;
16039  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
16040  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
16041  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16042  }
16043 
16044  if ((quall2>0.00000001) && (check_not_to_creat_tetra!=3))
16045  {
16046  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
16047  check_to_go_further=5;
16048 
16049  qualite_moyenne_3D+=quall2;
16050  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
16051  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
16052  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16053  }
16054  if ((quallo2>0.00000001) && (check_not_to_creat_tetra!=3))
16055  {
16056  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
16057  check_to_go_further=5;
16058 
16059  qualite_moyenne_3D+=quallo2;
16060  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
16061  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
16062  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16063  }
16064 
16065  }
16066  if ((quall4>0.000001 || quallo4>0.000001) && (quall5>0.000001 || quallo5>0.000001) && (check_to_go_further==3))
16067  {
16068  check_not_to_creat_tetra=0;
16069  LISTE_MG_TRIANGLE::iterator it_tri_existed;
16070  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
16071  {
16072  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))))
16073  {
16074  check_to_creat_tetra=2;
16075  }
16076  else
16077  {
16078  check_not_to_creat_tetra=3;
16079  }
16080  }
16081 
16082  if((quall4>0.00000001) && (check_not_to_creat_tetra!=3))
16083  {
16084  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
16085  check_to_go_further=5;
16086 
16087  qualite_moyenne_3D+=quall4;
16088  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16089  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
16090  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
16091  }
16092 
16093  if((quall5>0.00000001) && (check_not_to_creat_tetra!=3))
16094  {
16095  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
16096 
16097  check_to_go_further=5;
16098  qualite_moyenne_3D+=quall5;
16099  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16100  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
16101 
16102  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
16103 
16104  }
16105 
16106 
16107  if((quallo4>0.00000001) && (check_not_to_creat_tetra!=3))
16108  {
16109  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
16110  check_to_go_further=5;
16111  qualite_moyenne_3D+=quallo4;
16112  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16113  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
16114  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
16115 
16116  }
16117 
16118  if((quallo5>0.00000001) && (check_not_to_creat_tetra!=3))
16119  {
16120  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(2),lst_node_in.get(0),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
16121  check_to_go_further=5;
16122  qualite_moyenne_3D+=quallo5;
16123  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16124  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
16125  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
16126 
16127 
16128  }
16129 
16130 
16131  }
16132  }
16133 
16134  //==================================================================
16135 
16136  }
16137  else if((id_node_rel3==lst_node_in.get(2)->get_id()) && (id_node_rel4==lst_node_in.get(1)->get_id()))
16138  {
16139 
16140  //=================================================================
16141 
16142  quall1=OPERATEUR::qualite_tetra(lst_node_in.get(0)->get_coord(),lst_node_in.get(1)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(4)->get_coord());
16143 
16144  quall2=OPERATEUR::qualite_tetra(lst_node_in.get(0)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(3)->get_coord(),lst_node_in.get(4)->get_coord());
16145 
16146  //----------------------------------------------------
16147  quallo1=OPERATEUR::qualite_tetra(lst_node_in.get(1)->get_coord(),lst_node_in.get(0)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(4)->get_coord());
16148 
16149  quallo2=OPERATEUR::qualite_tetra(lst_node_in.get(2)->get_coord(),lst_node_in.get(0)->get_coord(),lst_node_in.get(3)->get_coord(),lst_node_in.get(4)->get_coord());
16150 
16151  lst_node_tri11.ajouter(lst_node_in.get(0));
16152  lst_node_tri11.ajouter(lst_node_in.get(1));
16153  lst_node_tri11.ajouter(lst_node_in.get(2));
16154 
16155  lst_node_tri12.ajouter(lst_node_in.get(0));
16156  lst_node_tri12.ajouter(lst_node_in.get(1));
16157  lst_node_tri12.ajouter(lst_node_in.get(4));
16158 
16159  lst_node_tri13.ajouter(lst_node_in.get(0));
16160  lst_node_tri13.ajouter(lst_node_in.get(2));
16161  lst_node_tri13.ajouter(lst_node_in.get(4));
16162 
16163  lst_node_tri14.ajouter(lst_node_in.get(1));
16164  lst_node_tri14.ajouter(lst_node_in.get(2));
16165  lst_node_tri14.ajouter(lst_node_in.get(4));
16166 
16167  lst_node_tri15.ajouter(lst_node_in.get(0));
16168  lst_node_tri15.ajouter(lst_node_in.get(2));
16169  lst_node_tri15.ajouter(lst_node_in.get(3));
16170 
16171  lst_node_tri16.ajouter(lst_node_in.get(0));
16172  lst_node_tri16.ajouter(lst_node_in.get(3));
16173  lst_node_tri16.ajouter(lst_node_in.get(4));
16174 
16175  lst_node_tri17.ajouter(lst_node_in.get(2));
16176  lst_node_tri17.ajouter(lst_node_in.get(3));
16177  lst_node_tri17.ajouter(lst_node_in.get(4));
16178 
16179  //----------------------------------------------------
16180  //----------------------------------------------------
16181  quall4=OPERATEUR::qualite_tetra(lst_node_in.get(0)->get_coord(),lst_node_in.get(1)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(3)->get_coord());
16182 
16183  quall5=OPERATEUR::qualite_tetra(lst_node_in.get(0)->get_coord(),lst_node_in.get(1)->get_coord(),lst_node_in.get(3)->get_coord(),lst_node_in.get(4)->get_coord());
16184 
16185  //----------------------------------------------------
16186  quallo4=OPERATEUR::qualite_tetra(lst_node_in.get(1)->get_coord(),lst_node_in.get(0)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(3)->get_coord());
16187 
16188  quallo5=OPERATEUR::qualite_tetra(lst_node_in.get(1)->get_coord(),lst_node_in.get(0)->get_coord(),lst_node_in.get(3)->get_coord(),lst_node_in.get(4)->get_coord());
16189 
16190  lst_node_tri21.ajouter(lst_node_in.get(1));
16191 
16192  lst_node_tri21.ajouter(lst_node_in.get(2));
16193  lst_node_tri21.ajouter(lst_node_in.get(0));
16194 
16195  lst_node_tri22.ajouter(lst_node_in.get(0));
16196  lst_node_tri22.ajouter(lst_node_in.get(1));
16197  lst_node_tri22.ajouter(lst_node_in.get(3));
16198 
16199  lst_node_tri23.ajouter(lst_node_in.get(0));
16200  lst_node_tri23.ajouter(lst_node_in.get(2));
16201  lst_node_tri23.ajouter(lst_node_in.get(3));
16202 
16203  lst_node_tri24.ajouter(lst_node_in.get(1));
16204  lst_node_tri24.ajouter(lst_node_in.get(2));
16205  lst_node_tri24.ajouter(lst_node_in.get(3));
16206 
16207  lst_node_tri25.ajouter(lst_node_in.get(0));
16208  lst_node_tri25.ajouter(lst_node_in.get(1));
16209  lst_node_tri25.ajouter(lst_node_in.get(4));
16210 
16211  lst_node_tri26.ajouter(lst_node_in.get(0));
16212  lst_node_tri26.ajouter(lst_node_in.get(3));
16213  lst_node_tri26.ajouter(lst_node_in.get(4));
16214 
16215  lst_node_tri27.ajouter(lst_node_in.get(1));
16216  lst_node_tri27.ajouter(lst_node_in.get(3));
16217  lst_node_tri27.ajouter(lst_node_in.get(4));
16218 
16219  //----------------------------------------------------
16220  //----------------------------------------------------
16221 
16222  if (((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001)) && ((quall4+quallo4+quall5+quallo5)<(quall1+quallo1+quall2+quallo2)) )
16223  {
16224  check_not_to_creat_tetra=0;
16225  LISTE_MG_TRIANGLE::iterator it_tri_existed;
16226  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
16227  {
16228  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))))
16229  {
16230 
16231  check_to_creat_tetra=2;
16232  }
16233 
16234  else
16235 
16236  {
16237  check_not_to_creat_tetra=3;
16238 
16239  }
16240 
16241  }
16242 
16243  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
16244  {
16245  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
16246  check_to_go_further=5;
16247  qualite_moyenne_3D+=quall1;
16248  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16249  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
16250  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
16251  }
16252 
16253  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
16254  {
16255  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
16256  check_to_go_further=5;
16257  qualite_moyenne_3D+=quallo1;
16258  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
16259  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
16260  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16261 
16262  }
16263 
16264  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
16265  {
16266  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
16267  check_to_go_further=5;
16268 
16269  qualite_moyenne_3D+=quall2;
16270  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
16271  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
16272 
16273  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16274  }
16275  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
16276  {
16277  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(2),lst_node_in.get(0),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
16278  check_to_go_further=5;
16279 
16280  qualite_moyenne_3D+=quallo2;
16281  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
16282  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
16283 
16284  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16285  }
16286 
16287  }
16288  if (((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001)) && (check_to_go_further==3))
16289  {
16290  check_not_to_creat_tetra=0;
16291  LISTE_MG_TRIANGLE::iterator it_tri_existed;
16292  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
16293  {
16294  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))))
16295  {
16296  check_to_creat_tetra=2;
16297  }
16298  else
16299 
16300  {
16301  check_not_to_creat_tetra=3;
16302  }
16303  }
16304 
16305  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
16306  {
16307  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
16308  check_to_go_further=5;
16309  qualite_moyenne_3D+=quall4;
16310  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16311  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
16312  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
16313  }
16314 
16315  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
16316  {
16317  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
16318  check_to_go_further=5;
16319  qualite_moyenne_3D+=quall5;
16320  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16321  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
16322 
16323  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
16324 
16325  }
16326 
16327 
16328  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
16329  {
16330  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
16331  check_to_go_further=5;
16332  qualite_moyenne_3D+=quallo4;
16333  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16334  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
16335  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
16336 
16337  }
16338 
16339  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
16340  {
16341  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
16342  check_to_go_further=5;
16343  qualite_moyenne_3D+=quallo5;
16344  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16345  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
16346  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
16347 
16348  }
16349 
16350 
16351  }
16352 
16353  //============================================Second loop==============================================================
16354  if (check_to_go_further==3)
16355  {
16356  if ((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001))
16357  {
16358 
16359  check_not_to_creat_tetra=0;
16360  LISTE_MG_TRIANGLE::iterator it_tri_existed;
16361  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
16362  {
16363  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))))
16364  {
16365 
16366  check_to_creat_tetra=2;
16367  }
16368 
16369  else
16370 
16371  {
16372  check_not_to_creat_tetra=3;
16373 
16374  }
16375 
16376  }
16377 
16378  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
16379  {
16380  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
16381  check_to_go_further=5;
16382  qualite_moyenne_3D+=quall1;
16383  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16384  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
16385  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
16386  }
16387 
16388  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
16389  {
16390  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
16391  check_to_go_further=5;
16392  qualite_moyenne_3D+=quallo1;
16393  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
16394  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
16395  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16396 
16397  }
16398 
16399  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
16400  {
16401  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
16402  check_to_go_further=5;
16403 
16404  qualite_moyenne_3D+=quall2;
16405  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
16406  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
16407 
16408  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16409  }
16410  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
16411  {
16412  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(2),lst_node_in.get(0),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
16413  check_to_go_further=5;
16414 
16415  qualite_moyenne_3D+=quallo2;
16416  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
16417  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
16418 
16419  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16420  }
16421 
16422  }
16423  if ((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (check_to_go_further==3))
16424  {
16425  check_not_to_creat_tetra=0;
16426  LISTE_MG_TRIANGLE::iterator it_tri_existed;
16427  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
16428  {
16429  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))))
16430  {
16431  check_to_creat_tetra=2;
16432  }
16433  else
16434 
16435  {
16436  check_not_to_creat_tetra=3;
16437  }
16438  }
16439 
16440  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
16441  {
16442  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
16443  check_to_go_further=5;
16444  qualite_moyenne_3D+=quall4;
16445  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16446  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
16447  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
16448  }
16449 
16450  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
16451  {
16452  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
16453  check_to_go_further=5;
16454  qualite_moyenne_3D+=quall5;
16455  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16456  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
16457 
16458  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
16459 
16460  }
16461 
16462 
16463  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
16464  {
16465  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
16466  check_to_go_further=5;
16467  qualite_moyenne_3D+=quallo4;
16468  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16469  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
16470  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
16471 
16472  }
16473 
16474  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
16475  {
16476  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
16477  check_to_go_further=5;
16478  qualite_moyenne_3D+=quallo5;
16479  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16480  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
16481  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
16482 
16483  }
16484 
16485 
16486  }
16487 
16488  }
16489  //============================================Third loop==============================================================
16490  if (check_to_go_further==3)
16491  {
16492  if ((quall1>0.000001 || quallo1>0.000001) && (quall2>0.000001 || quallo2>0.000001))
16493  {
16494  check_not_to_creat_tetra=0;
16495  LISTE_MG_TRIANGLE::iterator it_tri_existed;
16496  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
16497  {
16498  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))))
16499  {
16500 
16501  check_to_creat_tetra=2;
16502  }
16503 
16504  else
16505 
16506  {
16507  check_not_to_creat_tetra=3;
16508 
16509  }
16510 
16511  }
16512 
16513  if ((quall1>0.00000001) && (check_not_to_creat_tetra!=3))
16514  {
16515  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
16516  check_to_go_further=5;
16517  qualite_moyenne_3D+=quall1;
16518  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16519  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
16520  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
16521  }
16522 
16523  if ((quallo1>0.00000001) && (check_not_to_creat_tetra!=3))
16524  {
16525  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
16526  check_to_go_further=5;
16527  qualite_moyenne_3D+=quallo1;
16528  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
16529  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
16530  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16531 
16532  }
16533 
16534  if ((quall2>0.00000001) && (check_not_to_creat_tetra!=3))
16535  {
16536  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
16537  check_to_go_further=5;
16538 
16539  qualite_moyenne_3D+=quall2;
16540  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
16541  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
16542 
16543  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16544  }
16545  if ((quallo2>0.00000001) && (check_not_to_creat_tetra!=3))
16546  {
16547  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(2),lst_node_in.get(0),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
16548  check_to_go_further=5;
16549 
16550  qualite_moyenne_3D+=quallo2;
16551  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
16552  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
16553 
16554  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16555  }
16556 
16557  }
16558  if ((quall4>0.000001 || quallo4>0.000001) && (quall5>0.000001 || quallo5>0.000001) && (check_to_go_further==3))
16559  {
16560  check_not_to_creat_tetra=0;
16561  LISTE_MG_TRIANGLE::iterator it_tri_existed;
16562  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
16563  {
16564  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))))
16565  {
16566  check_to_creat_tetra=2;
16567  }
16568  else
16569 
16570  {
16571  check_not_to_creat_tetra=3;
16572  }
16573  }
16574 
16575  if((quall4>0.00000001) && (check_not_to_creat_tetra!=3))
16576  {
16577  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
16578  check_to_go_further=5;
16579  qualite_moyenne_3D+=quall4;
16580  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16581  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
16582  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
16583  }
16584 
16585  if((quall5>0.00000001) && (check_not_to_creat_tetra!=3))
16586  {
16587  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
16588  check_to_go_further=5;
16589  qualite_moyenne_3D+=quall5;
16590  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16591  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
16592 
16593  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
16594 
16595  }
16596 
16597 
16598  if((quallo4>0.00000001) && (check_not_to_creat_tetra!=3))
16599  {
16600  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
16601  check_to_go_further=5;
16602  qualite_moyenne_3D+=quallo4;
16603  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16604  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
16605  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
16606 
16607  }
16608 
16609  if((quallo5>0.00000001) && (check_not_to_creat_tetra!=3))
16610  {
16611  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
16612  check_to_go_further=5;
16613  qualite_moyenne_3D+=quallo5;
16614  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16615  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
16616  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
16617 
16618  }
16619 
16620 
16621  }
16622  }
16623 
16624  //==================================================================
16625 
16626 
16627  }
16628  else if((id_node_rel3==lst_node_in.get(0)->get_id()) && (id_node_rel4==lst_node_in.get(2)->get_id()))
16629  {
16630 
16631  //=================================================================
16632 
16633  quall1=OPERATEUR::qualite_tetra(lst_node_in.get(0)->get_coord(),lst_node_in.get(1)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(4)->get_coord());
16634 
16635 
16636  quall2=OPERATEUR::qualite_tetra(lst_node_in.get(0)->get_coord(),lst_node_in.get(1)->get_coord(),lst_node_in.get(3)->get_coord(),lst_node_in.get(4)->get_coord());
16637 
16638  //----------------------------------------------------
16639  quallo1=OPERATEUR::qualite_tetra(lst_node_in.get(1)->get_coord(),lst_node_in.get(0)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(4)->get_coord());
16640 
16641  quallo2=OPERATEUR::qualite_tetra(lst_node_in.get(1)->get_coord(),lst_node_in.get(0)->get_coord(),lst_node_in.get(3)->get_coord(),lst_node_in.get(4)->get_coord());
16642 
16643  lst_node_tri11.ajouter(lst_node_in.get(0));
16644  lst_node_tri11.ajouter(lst_node_in.get(1));
16645  lst_node_tri11.ajouter(lst_node_in.get(2));
16646 
16647  lst_node_tri12.ajouter(lst_node_in.get(0));
16648  lst_node_tri12.ajouter(lst_node_in.get(1));
16649  lst_node_tri12.ajouter(lst_node_in.get(4));
16650 
16651  lst_node_tri13.ajouter(lst_node_in.get(0));
16652  lst_node_tri13.ajouter(lst_node_in.get(2));
16653  lst_node_tri13.ajouter(lst_node_in.get(4));
16654 
16655  lst_node_tri14.ajouter(lst_node_in.get(1));
16656  lst_node_tri14.ajouter(lst_node_in.get(2));
16657  lst_node_tri14.ajouter(lst_node_in.get(4));
16658 
16659  lst_node_tri15.ajouter(lst_node_in.get(0));
16660  lst_node_tri15.ajouter(lst_node_in.get(1));
16661  lst_node_tri15.ajouter(lst_node_in.get(3));
16662 
16663  lst_node_tri16.ajouter(lst_node_in.get(0));
16664  lst_node_tri16.ajouter(lst_node_in.get(3));
16665 
16666 
16667 
16668  lst_node_tri16.ajouter(lst_node_in.get(4));
16669 
16670  lst_node_tri17.ajouter(lst_node_in.get(1));
16671  lst_node_tri17.ajouter(lst_node_in.get(3));
16672  lst_node_tri17.ajouter(lst_node_in.get(4));
16673 
16674  //----------------------------------------------------
16675  //----------------------------------------------------
16676  quall4=OPERATEUR::qualite_tetra(lst_node_in.get(0)->get_coord(),lst_node_in.get(1)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(3)->get_coord());
16677 
16678  quall5=OPERATEUR::qualite_tetra(lst_node_in.get(1)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(3)->get_coord(),lst_node_in.get(4)->get_coord());
16679 
16680  //----------------------------------------------------
16681  quallo4=OPERATEUR::qualite_tetra(lst_node_in.get(1)->get_coord(),lst_node_in.get(0)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(3)->get_coord());
16682 
16683  quallo5=OPERATEUR::qualite_tetra(lst_node_in.get(2)->get_coord(),lst_node_in.get(1)->get_coord(),lst_node_in.get(3)->get_coord(),lst_node_in.get(4)->get_coord());
16684 
16685  lst_node_tri21.ajouter(lst_node_in.get(1));
16686  lst_node_tri21.ajouter(lst_node_in.get(2));
16687  lst_node_tri21.ajouter(lst_node_in.get(0));
16688 
16689  lst_node_tri22.ajouter(lst_node_in.get(0));
16690  lst_node_tri22.ajouter(lst_node_in.get(1));
16691  lst_node_tri22.ajouter(lst_node_in.get(3));
16692 
16693  lst_node_tri23.ajouter(lst_node_in.get(0));
16694  lst_node_tri23.ajouter(lst_node_in.get(2));
16695  lst_node_tri23.ajouter(lst_node_in.get(3));
16696 
16697  lst_node_tri24.ajouter(lst_node_in.get(1));
16698  lst_node_tri24.ajouter(lst_node_in.get(2));
16699  lst_node_tri24.ajouter(lst_node_in.get(3));
16700 
16701  lst_node_tri25.ajouter(lst_node_in.get(1));
16702  lst_node_tri25.ajouter(lst_node_in.get(2));
16703  lst_node_tri25.ajouter(lst_node_in.get(4));
16704 
16705  lst_node_tri26.ajouter(lst_node_in.get(1));
16706  lst_node_tri26.ajouter(lst_node_in.get(3));
16707  lst_node_tri26.ajouter(lst_node_in.get(4));
16708 
16709  lst_node_tri27.ajouter(lst_node_in.get(2));
16710 
16711  lst_node_tri27.ajouter(lst_node_in.get(3));
16712  lst_node_tri27.ajouter(lst_node_in.get(4));
16713 
16714  //----------------------------------------------------
16715  //----------------------------------------------------
16716 
16717  if (((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001)) && ((quall4+quallo4+quall5+quallo5)<(quall1+quallo1+quall2+quallo2)) )
16718  {
16719  check_not_to_creat_tetra=0;
16720  LISTE_MG_TRIANGLE::iterator it_tri_existed;
16721  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
16722  {
16723  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))))
16724  {
16725 
16726  check_to_creat_tetra=2;
16727  }
16728  else
16729 
16730  {
16731  check_not_to_creat_tetra=3;
16732 
16733 
16734  }
16735 
16736  }
16737 
16738  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
16739  {
16740  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
16741  check_to_go_further=5;
16742  qualite_moyenne_3D+=quall1;
16743  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16744  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
16745  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
16746  }
16747 
16748  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
16749  {
16750  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
16751  check_to_go_further=5;
16752 
16753  qualite_moyenne_3D+=quallo1;
16754  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
16755  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
16756 
16757  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16758  }
16759 
16760  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
16761  {
16762  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
16763  check_to_go_further=5;
16764 
16765  qualite_moyenne_3D+=quall2;
16766  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
16767  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
16768 
16769  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16770  }
16771  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
16772  {
16773  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
16774  check_to_go_further=5;
16775 
16776  qualite_moyenne_3D+=quallo2;
16777  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
16778  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
16779 
16780  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16781  }
16782 
16783  }
16784  if (((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001)) && (check_to_go_further==3))
16785  {
16786  check_not_to_creat_tetra=0;
16787  LISTE_MG_TRIANGLE::iterator it_tri_existed;
16788  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
16789  {
16790  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))))
16791  {
16792  check_to_creat_tetra=2;
16793  }
16794  else
16795  {
16796  check_not_to_creat_tetra=3;
16797  }
16798  }
16799 
16800  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
16801  {
16802  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
16803  check_to_go_further=5;
16804  qualite_moyenne_3D+=quall4;
16805  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16806  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
16807  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
16808  }
16809 
16810  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
16811  {
16812  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
16813  check_to_go_further=5;
16814  qualite_moyenne_3D+=quall5;
16815  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16816 
16817  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
16818 
16819  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
16820 
16821 
16822  }
16823 
16824 
16825  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
16826  {
16827  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
16828  check_to_go_further=5;
16829  qualite_moyenne_3D+=quallo4;
16830  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16831  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
16832  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
16833 
16834  }
16835 
16836  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
16837  {
16838  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(2),lst_node_in.get(1),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
16839  check_to_go_further=5;
16840  qualite_moyenne_3D+=quallo5;
16841  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16842  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
16843  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
16844 
16845  }
16846 
16847 
16848  }
16849 
16850  //============================================Second loop==============================================================
16851  if (check_to_go_further==3)
16852  {
16853  if ((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001))
16854  {
16855  check_not_to_creat_tetra=0;
16856  LISTE_MG_TRIANGLE::iterator it_tri_existed;
16857  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
16858  {
16859  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))))
16860  {
16861 
16862  check_to_creat_tetra=2;
16863  }
16864  else
16865 
16866  {
16867  check_not_to_creat_tetra=3;
16868 
16869 
16870  }
16871 
16872  }
16873 
16874  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
16875  {
16876  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
16877  check_to_go_further=5;
16878  qualite_moyenne_3D+=quall1;
16879  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16880  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
16881  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
16882  }
16883 
16884  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
16885  {
16886  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
16887  check_to_go_further=5;
16888 
16889  qualite_moyenne_3D+=quallo1;
16890  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
16891  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
16892 
16893  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16894  }
16895 
16896  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
16897  {
16898  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
16899  check_to_go_further=5;
16900 
16901  qualite_moyenne_3D+=quall2;
16902  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
16903  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
16904 
16905  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16906  }
16907  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
16908  {
16909  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
16910  check_to_go_further=5;
16911 
16912  qualite_moyenne_3D+=quallo2;
16913  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
16914  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
16915 
16916  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16917  }
16918 
16919  }
16920  if ((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (check_to_go_further==3))
16921  {
16922  check_not_to_creat_tetra=0;
16923  LISTE_MG_TRIANGLE::iterator it_tri_existed;
16924  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
16925  {
16926  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))))
16927  {
16928  check_to_creat_tetra=2;
16929  }
16930  else
16931  {
16932  check_not_to_creat_tetra=3;
16933  }
16934  }
16935 
16936  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
16937  {
16938  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
16939  check_to_go_further=5;
16940  qualite_moyenne_3D+=quall4;
16941  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16942  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
16943  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
16944  }
16945 
16946  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
16947  {
16948  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
16949  check_to_go_further=5;
16950  qualite_moyenne_3D+=quall5;
16951  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16952 
16953  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
16954 
16955  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
16956 
16957 
16958  }
16959 
16960 
16961  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
16962  {
16963  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
16964  check_to_go_further=5;
16965  qualite_moyenne_3D+=quallo4;
16966  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16967  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
16968  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
16969 
16970  }
16971 
16972  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
16973  {
16974  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(2),lst_node_in.get(1),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
16975  check_to_go_further=5;
16976  qualite_moyenne_3D+=quallo5;
16977  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16978  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
16979  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
16980 
16981  }
16982 
16983 
16984  }
16985 
16986  }
16987  //============================================Third loop==============================================================
16988  if (check_to_go_further==3)
16989  {
16990  if ((quall1>0.000001 || quallo1>0.000001) && (quall2>0.000001 || quallo2>0.000001))
16991  {
16992  check_not_to_creat_tetra=0;
16993  LISTE_MG_TRIANGLE::iterator it_tri_existed;
16994  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
16995  {
16996  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))))
16997  {
16998 
16999  check_to_creat_tetra=2;
17000  }
17001  else
17002 
17003  {
17004  check_not_to_creat_tetra=3;
17005 
17006 
17007  }
17008 
17009  }
17010 
17011  if ((quall1>0.00000001) && (check_not_to_creat_tetra!=3))
17012  {
17013  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
17014  check_to_go_further=5;
17015  qualite_moyenne_3D+=quall1;
17016  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17017  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
17018  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
17019  }
17020 
17021  if ((quallo1>0.00000001) && (check_not_to_creat_tetra!=3))
17022  {
17023  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
17024  check_to_go_further=5;
17025 
17026  qualite_moyenne_3D+=quallo1;
17027  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
17028  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
17029 
17030  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17031  }
17032 
17033  if ((quall2>0.00000001) && (check_not_to_creat_tetra!=3))
17034  {
17035  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
17036  check_to_go_further=5;
17037 
17038  qualite_moyenne_3D+=quall2;
17039  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
17040  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
17041 
17042  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17043  }
17044  if ((quallo2>0.00000001) && (check_not_to_creat_tetra!=3))
17045  {
17046  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
17047  check_to_go_further=5;
17048 
17049  qualite_moyenne_3D+=quallo2;
17050  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
17051  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
17052 
17053  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17054  }
17055 
17056  }
17057  if ((quall4>0.000001 || quallo4>0.000001) && (quall5>0.000001 || quallo5>0.000001) && (check_to_go_further==3))
17058  {
17059  check_not_to_creat_tetra=0;
17060  LISTE_MG_TRIANGLE::iterator it_tri_existed;
17061  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
17062  {
17063  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))))
17064  {
17065  check_to_creat_tetra=2;
17066  }
17067  else
17068  {
17069  check_not_to_creat_tetra=3;
17070  }
17071  }
17072 
17073  if((quall4>0.00000001) && (check_not_to_creat_tetra!=3))
17074  {
17075  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
17076  check_to_go_further=5;
17077  qualite_moyenne_3D+=quall4;
17078  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17079  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
17080  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
17081  }
17082 
17083  if((quall5>0.00000001) && (check_not_to_creat_tetra!=3))
17084  {
17085  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
17086  check_to_go_further=5;
17087  qualite_moyenne_3D+=quall5;
17088  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17089 
17090  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
17091 
17092  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
17093 
17094 
17095  }
17096 
17097 
17098  if((quallo4>0.00000001) && (check_not_to_creat_tetra!=3))
17099  {
17100  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
17101  check_to_go_further=5;
17102  qualite_moyenne_3D+=quallo4;
17103  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17104  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
17105  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
17106 
17107  }
17108 
17109  if((quallo5>0.00000001) && (check_not_to_creat_tetra!=3))
17110  {
17111  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(2),lst_node_in.get(1),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
17112  check_to_go_further=5;
17113  qualite_moyenne_3D+=quallo5;
17114  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17115  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
17116  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
17117 
17118  }
17119 
17120 
17121  }
17122  }
17123 
17124  //==================================================================
17125 
17126  }
17127  else if((id_node_rel3==lst_node_in.get(2)->get_id()) && (id_node_rel4==lst_node_in.get(0)->get_id()))
17128  {
17129 
17130  //=================================================================
17131 
17132  quall1=OPERATEUR::qualite_tetra(lst_node_in.get(0)->get_coord(),lst_node_in.get(1)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(4)->get_coord());
17133 
17134  quall2=OPERATEUR::qualite_tetra(lst_node_in.get(2)->get_coord(),lst_node_in.get(1)->get_coord(),lst_node_in.get(3)->get_coord(),lst_node_in.get(4)->get_coord());
17135 
17136  //----------------------------------------------------
17137  quallo1=OPERATEUR::qualite_tetra(lst_node_in.get(1)->get_coord(),lst_node_in.get(0)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(4)->get_coord());
17138 
17139  quallo2=OPERATEUR::qualite_tetra(lst_node_in.get(1)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(3)->get_coord(),lst_node_in.get(4)->get_coord());
17140 
17141  lst_node_tri11.ajouter(lst_node_in.get(0));
17142  lst_node_tri11.ajouter(lst_node_in.get(1));
17143  lst_node_tri11.ajouter(lst_node_in.get(2));
17144 
17145  lst_node_tri12.ajouter(lst_node_in.get(0));
17146  lst_node_tri12.ajouter(lst_node_in.get(1));
17147  lst_node_tri12.ajouter(lst_node_in.get(4));
17148 
17149  lst_node_tri13.ajouter(lst_node_in.get(0));
17150  lst_node_tri13.ajouter(lst_node_in.get(2));
17151  lst_node_tri13.ajouter(lst_node_in.get(4));
17152 
17153  lst_node_tri14.ajouter(lst_node_in.get(1));
17154  lst_node_tri14.ajouter(lst_node_in.get(2));
17155  lst_node_tri14.ajouter(lst_node_in.get(4));
17156 
17157  lst_node_tri15.ajouter(lst_node_in.get(2));
17158  lst_node_tri15.ajouter(lst_node_in.get(1));
17159  lst_node_tri15.ajouter(lst_node_in.get(3));
17160 
17161  lst_node_tri16.ajouter(lst_node_in.get(2));
17162  lst_node_tri16.ajouter(lst_node_in.get(3));
17163  lst_node_tri16.ajouter(lst_node_in.get(4));
17164 
17165  lst_node_tri17.ajouter(lst_node_in.get(1));
17166  lst_node_tri17.ajouter(lst_node_in.get(3));
17167  lst_node_tri17.ajouter(lst_node_in.get(4));
17168 
17169  //----------------------------------------------------
17170  //----------------------------------------------------
17171  quall4=OPERATEUR::qualite_tetra(lst_node_in.get(0)->get_coord(),lst_node_in.get(1)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(3)->get_coord());
17172 
17173  quall5=OPERATEUR::qualite_tetra(lst_node_in.get(1)->get_coord(),lst_node_in.get(0)->get_coord(),lst_node_in.get(3)->get_coord(),lst_node_in.get(4)->get_coord());
17174 
17175  //----------------------------------------------------
17176  quallo4=OPERATEUR::qualite_tetra(lst_node_in.get(1)->get_coord(),lst_node_in.get(0)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(3)->get_coord());
17177 
17178  quallo5=OPERATEUR::qualite_tetra(lst_node_in.get(0)->get_coord(),lst_node_in.get(1)->get_coord(),lst_node_in.get(3)->get_coord(),lst_node_in.get(4)->get_coord());
17179 
17180  lst_node_tri21.ajouter(lst_node_in.get(1));
17181  lst_node_tri21.ajouter(lst_node_in.get(2));
17182  lst_node_tri21.ajouter(lst_node_in.get(0));
17183 
17184  lst_node_tri22.ajouter(lst_node_in.get(0));
17185  lst_node_tri22.ajouter(lst_node_in.get(1));
17186  lst_node_tri22.ajouter(lst_node_in.get(3));
17187 
17188  lst_node_tri23.ajouter(lst_node_in.get(0));
17189  lst_node_tri23.ajouter(lst_node_in.get(2));
17190  lst_node_tri23.ajouter(lst_node_in.get(3));
17191 
17192  lst_node_tri24.ajouter(lst_node_in.get(1));
17193  lst_node_tri24.ajouter(lst_node_in.get(2));
17194  lst_node_tri24.ajouter(lst_node_in.get(3));
17195 
17196  lst_node_tri25.ajouter(lst_node_in.get(1));
17197  lst_node_tri25.ajouter(lst_node_in.get(0));
17198  lst_node_tri25.ajouter(lst_node_in.get(4));
17199 
17200  lst_node_tri26.ajouter(lst_node_in.get(1));
17201  lst_node_tri26.ajouter(lst_node_in.get(3));
17202  lst_node_tri26.ajouter(lst_node_in.get(4));
17203 
17204  lst_node_tri27.ajouter(lst_node_in.get(0));
17205  lst_node_tri27.ajouter(lst_node_in.get(3));
17206  lst_node_tri27.ajouter(lst_node_in.get(4));
17207 
17208  //----------------------------------------------------
17209  //----------------------------------------------------
17210 
17211  if (((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001)) && ((quall4+quallo4+quall5+quallo5)<(quall1+quallo1+quall2+quallo2)) )
17212  {
17213  check_not_to_creat_tetra=0;
17214  LISTE_MG_TRIANGLE::iterator it_tri_existed;
17215  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
17216  {
17217  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))))
17218  {
17219 
17220  check_to_creat_tetra=2;
17221  }
17222  else
17223 
17224  {
17225  check_not_to_creat_tetra=3;
17226 
17227  }
17228 
17229  }
17230 
17231  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
17232  {
17233  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
17234  check_to_go_further=5;
17235  qualite_moyenne_3D+=quall1;
17236  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17237  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
17238  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
17239  }
17240 
17241  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
17242  {
17243 
17244  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
17245  check_to_go_further=5;
17246  qualite_moyenne_3D+=quallo1;
17247 
17248  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
17249  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
17250  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17251  }
17252 
17253  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
17254  {
17255  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(2),lst_node_in.get(1),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
17256  check_to_go_further=5;
17257 
17258  qualite_moyenne_3D+=quall2;
17259  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
17260  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
17261 
17262  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17263  }
17264  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
17265  {
17266  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
17267  check_to_go_further=5;
17268 
17269  qualite_moyenne_3D+=quallo2;
17270  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
17271  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
17272 
17273  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17274  }
17275 
17276  }
17277  if (((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001)) && (check_to_go_further==3))
17278  {
17279  check_not_to_creat_tetra=0;
17280  LISTE_MG_TRIANGLE::iterator it_tri_existed;
17281  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
17282  {
17283  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))))
17284  {
17285  check_to_creat_tetra=2;
17286  }
17287  else
17288  {
17289  check_not_to_creat_tetra=3;
17290  }
17291  }
17292 
17293  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
17294  {
17295  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
17296  check_to_go_further=5;
17297  qualite_moyenne_3D+=quall4;
17298  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17299  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
17300  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
17301  }
17302 
17303  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
17304  {
17305  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
17306  check_to_go_further=5;
17307  qualite_moyenne_3D+=quall5;
17308 
17309  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17310  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
17311 
17312  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
17313 
17314  }
17315 
17316 
17317  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
17318  {
17319  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
17320  check_to_go_further=5;
17321  qualite_moyenne_3D+=quallo4;
17322  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17323  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
17324  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
17325 
17326  }
17327 
17328  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
17329  {
17330  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
17331  check_to_go_further=5;
17332  qualite_moyenne_3D+=quallo5;
17333  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17334  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
17335  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
17336 
17337  }
17338 
17339 
17340  }
17341 
17342  //============================================Second loop==============================================================
17343  if (check_to_go_further==3)
17344  {
17345  if ((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001))
17346  {
17347  check_not_to_creat_tetra=0;
17348  LISTE_MG_TRIANGLE::iterator it_tri_existed;
17349  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
17350  {
17351  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))))
17352  {
17353 
17354  check_to_creat_tetra=2;
17355  }
17356  else
17357 
17358  {
17359  check_not_to_creat_tetra=3;
17360 
17361  }
17362 
17363  }
17364 
17365  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
17366  {
17367  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
17368  check_to_go_further=5;
17369  qualite_moyenne_3D+=quall1;
17370  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17371  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
17372  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
17373  }
17374 
17375  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
17376  {
17377 
17378  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
17379  check_to_go_further=5;
17380  qualite_moyenne_3D+=quallo1;
17381 
17382  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
17383  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
17384  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17385  }
17386 
17387  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
17388  {
17389  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(2),lst_node_in.get(1),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
17390  check_to_go_further=5;
17391 
17392  qualite_moyenne_3D+=quall2;
17393  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
17394  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
17395 
17396  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17397  }
17398  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
17399  {
17400  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
17401  check_to_go_further=5;
17402 
17403  qualite_moyenne_3D+=quallo2;
17404  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
17405  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
17406 
17407  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17408  }
17409 
17410  }
17411  if ((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (check_to_go_further==3))
17412  {
17413  check_not_to_creat_tetra=0;
17414  LISTE_MG_TRIANGLE::iterator it_tri_existed;
17415  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
17416  {
17417  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))))
17418  {
17419  check_to_creat_tetra=2;
17420  }
17421  else
17422  {
17423  check_not_to_creat_tetra=3;
17424  }
17425  }
17426 
17427  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
17428  {
17429  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
17430  check_to_go_further=5;
17431  qualite_moyenne_3D+=quall4;
17432  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17433  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
17434  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
17435  }
17436 
17437  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
17438  {
17439  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
17440  check_to_go_further=5;
17441  qualite_moyenne_3D+=quall5;
17442 
17443  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17444  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
17445 
17446  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
17447 
17448  }
17449 
17450 
17451  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
17452  {
17453  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
17454  check_to_go_further=5;
17455  qualite_moyenne_3D+=quallo4;
17456  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17457  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
17458  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
17459 
17460  }
17461 
17462  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
17463  {
17464  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
17465  check_to_go_further=5;
17466  qualite_moyenne_3D+=quallo5;
17467  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17468  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
17469  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
17470 
17471  }
17472 
17473 
17474  }
17475 
17476  }
17477  //============================================Third loop==============================================================
17478  if (check_to_go_further==3)
17479  {
17480  if ((quall1>0.000001 || quallo1>0.000001) && (quall2>0.000001 || quallo2>0.000001))
17481  {
17482  check_not_to_creat_tetra=0;
17483  LISTE_MG_TRIANGLE::iterator it_tri_existed;
17484  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
17485  {
17486  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))))
17487  {
17488 
17489  check_to_creat_tetra=2;
17490  }
17491  else
17492 
17493  {
17494  check_not_to_creat_tetra=3;
17495 
17496  }
17497 
17498  }
17499 
17500  if ((quall1>0.00000001) && (check_not_to_creat_tetra!=3))
17501  {
17502  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
17503  check_to_go_further=5;
17504  qualite_moyenne_3D+=quall1;
17505  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17506  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
17507  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
17508  }
17509 
17510  if ((quallo1>0.00000001) && (check_not_to_creat_tetra!=3))
17511  {
17512 
17513  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
17514  check_to_go_further=5;
17515  qualite_moyenne_3D+=quallo1;
17516 
17517  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
17518  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
17519  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17520  }
17521 
17522  if ((quall2>0.00000001) && (check_not_to_creat_tetra!=3))
17523  {
17524  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(2),lst_node_in.get(1),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
17525  check_to_go_further=5;
17526 
17527  qualite_moyenne_3D+=quall2;
17528  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
17529  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
17530 
17531  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17532  }
17533  if ((quallo2>0.00000001) && (check_not_to_creat_tetra!=3))
17534  {
17535  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
17536  check_to_go_further=5;
17537 
17538  qualite_moyenne_3D+=quallo2;
17539  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
17540  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
17541 
17542  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17543  }
17544 
17545  }
17546  if ((quall4>0.000001 || quallo4>0.000001) && (quall5>0.000001 || quallo5>0.000001) && (check_to_go_further==3))
17547  {
17548  check_not_to_creat_tetra=0;
17549  LISTE_MG_TRIANGLE::iterator it_tri_existed;
17550  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
17551  {
17552  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))))
17553  {
17554  check_to_creat_tetra=2;
17555  }
17556  else
17557  {
17558  check_not_to_creat_tetra=3;
17559  }
17560  }
17561 
17562  if((quall4>0.00000001) && (check_not_to_creat_tetra!=3))
17563  {
17564  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
17565  check_to_go_further=5;
17566  qualite_moyenne_3D+=quall4;
17567  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17568  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
17569  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
17570  }
17571 
17572  if((quall5>0.00000001) && (check_not_to_creat_tetra!=3))
17573  {
17574  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
17575  check_to_go_further=5;
17576  qualite_moyenne_3D+=quall5;
17577 
17578  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17579  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
17580 
17581  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
17582 
17583  }
17584 
17585 
17586  if((quallo4>0.00000001) && (check_not_to_creat_tetra!=3))
17587  {
17588  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
17589  check_to_go_further=5;
17590  qualite_moyenne_3D+=quallo4;
17591  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17592  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
17593  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
17594 
17595  }
17596 
17597  if((quallo5>0.00000001) && (check_not_to_creat_tetra!=3))
17598  {
17599  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
17600  check_to_go_further=5;
17601  qualite_moyenne_3D+=quallo5;
17602  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17603  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
17604  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
17605 
17606  }
17607 
17608 
17609  }
17610  }
17611 
17612 
17613 
17614  //==================================================================
17615 
17616  }
17617  else if((id_node_rel3==lst_node_in.get(0)->get_id()) && (id_node_rel4==lst_node_in.get(1)->get_id()))
17618  {
17619 
17620  quall1=OPERATEUR::qualite_tetra(lst_node_in.get(0)->get_coord(),lst_node_in.get(1)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(3)->get_coord());
17621 
17622  quall2=OPERATEUR::qualite_tetra(lst_node_in.get(2)->get_coord(),lst_node_in.get(1)->get_coord(),lst_node_in.get(3)->get_coord(),lst_node_in.get(4)->get_coord());
17623 
17624  //----------------------------------------------------
17625  quallo1=OPERATEUR::qualite_tetra(lst_node_in.get(1)->get_coord(),lst_node_in.get(0)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(3)->get_coord());
17626 
17627  quallo2=OPERATEUR::qualite_tetra(lst_node_in.get(1)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(3)->get_coord(),lst_node_in.get(4)->get_coord());
17628 
17629  lst_node_tri11.ajouter(lst_node_in.get(0));
17630  lst_node_tri11.ajouter(lst_node_in.get(1));
17631  lst_node_tri11.ajouter(lst_node_in.get(2));
17632 
17633  lst_node_tri12.ajouter(lst_node_in.get(0));
17634  lst_node_tri12.ajouter(lst_node_in.get(1));
17635  lst_node_tri12.ajouter(lst_node_in.get(3));
17636 
17637  lst_node_tri13.ajouter(lst_node_in.get(0));
17638  lst_node_tri13.ajouter(lst_node_in.get(2));
17639  lst_node_tri13.ajouter(lst_node_in.get(3));
17640 
17641  lst_node_tri14.ajouter(lst_node_in.get(1));
17642  lst_node_tri14.ajouter(lst_node_in.get(2));
17643  lst_node_tri14.ajouter(lst_node_in.get(3));
17644 
17645  lst_node_tri15.ajouter(lst_node_in.get(2));
17646  lst_node_tri15.ajouter(lst_node_in.get(1));
17647  lst_node_tri15.ajouter(lst_node_in.get(4));
17648 
17649 
17650  lst_node_tri16.ajouter(lst_node_in.get(2));
17651  lst_node_tri16.ajouter(lst_node_in.get(3));
17652  lst_node_tri16.ajouter(lst_node_in.get(4));
17653 
17654  lst_node_tri17.ajouter(lst_node_in.get(1));
17655  lst_node_tri17.ajouter(lst_node_in.get(3));
17656  lst_node_tri17.ajouter(lst_node_in.get(4));
17657 
17658  //----------------------------------------------------
17659  //----------------------------------------------------
17660  quall4=OPERATEUR::qualite_tetra(lst_node_in.get(0)->get_coord(),lst_node_in.get(1)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(4)->get_coord());
17661 
17662  quall5=OPERATEUR::qualite_tetra(lst_node_in.get(2)->get_coord(),lst_node_in.get(0)->get_coord(),lst_node_in.get(3)->get_coord(),lst_node_in.get(4)->get_coord());
17663 
17664  //----------------------------------------------------
17665  quallo4=OPERATEUR::qualite_tetra(lst_node_in.get(1)->get_coord(),lst_node_in.get(0)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(4)->get_coord());
17666 
17667  quallo5=OPERATEUR::qualite_tetra(lst_node_in.get(0)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(3)->get_coord(),lst_node_in.get(4)->get_coord());
17668 
17669  lst_node_tri21.ajouter(lst_node_in.get(1));
17670  lst_node_tri21.ajouter(lst_node_in.get(2));
17671  lst_node_tri21.ajouter(lst_node_in.get(0));
17672 
17673  lst_node_tri22.ajouter(lst_node_in.get(0));
17674  lst_node_tri22.ajouter(lst_node_in.get(1));
17675  lst_node_tri22.ajouter(lst_node_in.get(4));
17676 
17677  lst_node_tri23.ajouter(lst_node_in.get(0));
17678  lst_node_tri23.ajouter(lst_node_in.get(2));
17679  lst_node_tri23.ajouter(lst_node_in.get(4));
17680 
17681  lst_node_tri24.ajouter(lst_node_in.get(1));
17682  lst_node_tri24.ajouter(lst_node_in.get(2));
17683  lst_node_tri24.ajouter(lst_node_in.get(4));
17684 
17685  lst_node_tri25.ajouter(lst_node_in.get(0));
17686  lst_node_tri25.ajouter(lst_node_in.get(3));
17687  lst_node_tri25.ajouter(lst_node_in.get(4));
17688 
17689  lst_node_tri26.ajouter(lst_node_in.get(2));
17690  lst_node_tri26.ajouter(lst_node_in.get(3));
17691  lst_node_tri26.ajouter(lst_node_in.get(4));
17692 
17693  lst_node_tri27.ajouter(lst_node_in.get(0));
17694  lst_node_tri27.ajouter(lst_node_in.get(3));
17695  lst_node_tri27.ajouter(lst_node_in.get(2));
17696 
17697  //----------------------------------------------------
17698  //----------------------------------------------------
17699 
17700  if (((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001)) && ((quall4+quallo4+quall5+quallo5)<(quall1+quallo1+quall2+quallo2)) )
17701  {
17702  check_not_to_creat_tetra=0;
17703  LISTE_MG_TRIANGLE::iterator it_tri_existed;
17704  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
17705  {
17706  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))))
17707  {
17708 
17709  check_to_creat_tetra=2;
17710  }
17711  else
17712 
17713  {
17714  check_not_to_creat_tetra=3;
17715 
17716  }
17717 
17718  }
17719 
17720  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
17721  {
17722  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
17723  check_to_go_further=5;
17724  qualite_moyenne_3D+=quall1;
17725  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17726  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
17727  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
17728  }
17729 
17730  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
17731  {
17732 
17733  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
17734  check_to_go_further=5;
17735  qualite_moyenne_3D+=quallo1;
17736 
17737  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
17738  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
17739  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17740  }
17741 
17742  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
17743  {
17744  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(2),lst_node_in.get(1),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
17745  check_to_go_further=5;
17746 
17747  qualite_moyenne_3D+=quall2;
17748  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
17749  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
17750 
17751  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17752  }
17753  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
17754  {
17755  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
17756  check_to_go_further=5;
17757 
17758  qualite_moyenne_3D+=quallo2;
17759  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
17760  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
17761 
17762  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17763  }
17764 
17765  }
17766  if (((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001)) && (check_to_go_further==3))
17767  {
17768  check_not_to_creat_tetra=0;
17769  LISTE_MG_TRIANGLE::iterator it_tri_existed;
17770  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
17771  {
17772  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))))
17773  {
17774  check_to_creat_tetra=2;
17775  }
17776  else
17777  {
17778  check_not_to_creat_tetra=3;
17779  }
17780  }
17781 
17782  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
17783  {
17784  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
17785  check_to_go_further=5;
17786  qualite_moyenne_3D+=quall4;
17787  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17788  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
17789  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
17790  }
17791 
17792  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
17793  {
17794  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(2),lst_node_in.get(0),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
17795  check_to_go_further=5;
17796  qualite_moyenne_3D+=quall5;
17797 
17798  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17799  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
17800 
17801  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
17802 
17803  }
17804 
17805 
17806  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
17807  {
17808  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
17809  check_to_go_further=5;
17810  qualite_moyenne_3D+=quallo4;
17811  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17812  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
17813  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
17814 
17815  }
17816 
17817  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
17818  {
17819  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
17820 
17821  check_to_go_further=5;
17822  qualite_moyenne_3D+=quallo5;
17823  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17824  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
17825  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
17826 
17827  }
17828 
17829 
17830  }
17831 
17832  //============================================Second loop==============================================================
17833  if (check_to_go_further==3)
17834  {
17835  if ((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001))
17836  {
17837  check_not_to_creat_tetra=0;
17838  LISTE_MG_TRIANGLE::iterator it_tri_existed;
17839  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
17840  {
17841  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))))
17842  {
17843 
17844  check_to_creat_tetra=2;
17845  }
17846  else
17847 
17848  {
17849  check_not_to_creat_tetra=3;
17850 
17851  }
17852 
17853  }
17854 
17855  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
17856  {
17857  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
17858  check_to_go_further=5;
17859  qualite_moyenne_3D+=quall1;
17860  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17861  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
17862  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
17863  }
17864 
17865  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
17866  {
17867 
17868  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
17869  check_to_go_further=5;
17870  qualite_moyenne_3D+=quallo1;
17871 
17872  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
17873  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
17874  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17875  }
17876 
17877  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
17878  {
17879  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(2),lst_node_in.get(1),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
17880  check_to_go_further=5;
17881 
17882  qualite_moyenne_3D+=quall2;
17883  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
17884  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
17885 
17886  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17887  }
17888  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
17889  {
17890  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
17891  check_to_go_further=5;
17892 
17893  qualite_moyenne_3D+=quallo2;
17894  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
17895  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
17896 
17897  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17898  }
17899 
17900  }
17901  if ((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (check_to_go_further==3))
17902  {
17903  check_not_to_creat_tetra=0;
17904  LISTE_MG_TRIANGLE::iterator it_tri_existed;
17905  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
17906  {
17907  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))))
17908  {
17909  check_to_creat_tetra=2;
17910  }
17911  else
17912  {
17913  check_not_to_creat_tetra=3;
17914  }
17915  }
17916 
17917  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
17918  {
17919  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
17920  check_to_go_further=5;
17921  qualite_moyenne_3D+=quall4;
17922  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17923  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
17924  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
17925  }
17926 
17927  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
17928  {
17929  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(2),lst_node_in.get(0),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
17930  check_to_go_further=5;
17931  qualite_moyenne_3D+=quall5;
17932 
17933  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17934  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
17935 
17936  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
17937 
17938  }
17939 
17940 
17941  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
17942  {
17943  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
17944  check_to_go_further=5;
17945  qualite_moyenne_3D+=quallo4;
17946  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17947  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
17948  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
17949 
17950  }
17951 
17952  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
17953  {
17954  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
17955 
17956  check_to_go_further=5;
17957  qualite_moyenne_3D+=quallo5;
17958  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17959  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
17960  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
17961 
17962  }
17963 
17964 
17965  }
17966 
17967  }
17968  //============================================Third loop==============================================================
17969  if (check_to_go_further==3)
17970  {
17971  if ((quall1>0.000001 || quallo1>0.000001) && (quall2>0.000001 || quallo2>0.000001))
17972  {
17973  check_not_to_creat_tetra=0;
17974  LISTE_MG_TRIANGLE::iterator it_tri_existed;
17975  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
17976  {
17977  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))))
17978  {
17979 
17980  check_to_creat_tetra=2;
17981  }
17982  else
17983 
17984  {
17985  check_not_to_creat_tetra=3;
17986 
17987  }
17988 
17989  }
17990 
17991  if ((quall1>0.00000001) && (check_not_to_creat_tetra!=3))
17992  {
17993  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
17994  check_to_go_further=5;
17995  qualite_moyenne_3D+=quall1;
17996  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17997  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
17998  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
17999  }
18000 
18001  if ((quallo1>0.00000001) && (check_not_to_creat_tetra!=3))
18002  {
18003 
18004  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine()));
18005  check_to_go_further=5;
18006  qualite_moyenne_3D+=quallo1;
18007 
18008  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
18009  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
18010  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18011  }
18012 
18013  if ((quall2>0.00000001) && (check_not_to_creat_tetra!=3))
18014  {
18015  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(2),lst_node_in.get(1),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
18016  check_to_go_further=5;
18017 
18018  qualite_moyenne_3D+=quall2;
18019  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
18020  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
18021 
18022  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18023  }
18024  if ((quallo2>0.00000001) && (check_not_to_creat_tetra!=3))
18025  {
18026  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
18027  check_to_go_further=5;
18028 
18029  qualite_moyenne_3D+=quallo2;
18030  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
18031  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
18032 
18033  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18034  }
18035 
18036  }
18037  if ((quall4>0.000001 || quallo4>0.000001) && (quall5>0.000001 || quallo5>0.000001) && (check_to_go_further==3))
18038  {
18039  check_not_to_creat_tetra=0;
18040  LISTE_MG_TRIANGLE::iterator it_tri_existed;
18041  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
18042  {
18043  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))))
18044  {
18045  check_to_creat_tetra=2;
18046  }
18047  else
18048  {
18049  check_not_to_creat_tetra=3;
18050  }
18051  }
18052 
18053  if((quall4>0.00000001) && (check_not_to_creat_tetra!=3))
18054  {
18055  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
18056  check_to_go_further=5;
18057  qualite_moyenne_3D+=quall4;
18058  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18059  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
18060  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
18061  }
18062 
18063  if((quall5>0.00000001) && (check_not_to_creat_tetra!=3))
18064  {
18065  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(2),lst_node_in.get(0),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
18066  check_to_go_further=5;
18067  qualite_moyenne_3D+=quall5;
18068 
18069  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18070  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
18071 
18072  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
18073 
18074  }
18075 
18076 
18077  if((quallo4>0.00000001) && (check_not_to_creat_tetra!=3))
18078  {
18079  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine()));
18080  check_to_go_further=5;
18081  qualite_moyenne_3D+=quallo4;
18082  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18083  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
18084  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
18085 
18086  }
18087 
18088  if((quallo5>0.00000001) && (check_not_to_creat_tetra!=3))
18089  {
18090  lst_tet_added.ajouter(m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine()));
18091 
18092  check_to_go_further=5;
18093  qualite_moyenne_3D+=quallo5;
18094  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18095  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
18096  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
18097 
18098  }
18099 
18100 
18101  }
18102  }
18103 
18104 
18105 
18106  }
18107  else if((id_node_rel3==lst_node_in.get(1)->get_id()) && (id_node_rel4==lst_node_in.get(0)->get_id()))
18108  {
18109 
18110  quall1=OPERATEUR::qualite_tetra(lst_node_in.get(0)->get_coord(),lst_node_in.get(1)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(3)->get_coord());
18111 
18112  quall2=OPERATEUR::qualite_tetra(lst_node_in.get(2)->get_coord(),lst_node_in.get(0)->get_coord(),lst_node_in.get(3)->get_coord(),lst_node_in.get(4)->get_coord());
18113 
18114  //----------------------------------------------------
18115  quallo1=OPERATEUR::qualite_tetra(lst_node_in.get(1)->get_coord(),lst_node_in.get(0)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(3)->get_coord());
18116 
18117  quallo2=OPERATEUR::qualite_tetra(lst_node_in.get(0)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(3)->get_coord(),lst_node_in.get(4)->get_coord());
18118 
18119  lst_node_tri11.ajouter(lst_node_in.get(0));
18120  lst_node_tri11.ajouter(lst_node_in.get(1));
18121  lst_node_tri11.ajouter(lst_node_in.get(2));
18122 
18123  lst_node_tri12.ajouter(lst_node_in.get(0));
18124  lst_node_tri12.ajouter(lst_node_in.get(1));
18125  lst_node_tri12.ajouter(lst_node_in.get(3));
18126 
18127  lst_node_tri13.ajouter(lst_node_in.get(0));
18128  lst_node_tri13.ajouter(lst_node_in.get(2));
18129  lst_node_tri13.ajouter(lst_node_in.get(3));
18130 
18131  lst_node_tri14.ajouter(lst_node_in.get(1));
18132  lst_node_tri14.ajouter(lst_node_in.get(2));
18133  lst_node_tri14.ajouter(lst_node_in.get(3));
18134 
18135  lst_node_tri15.ajouter(lst_node_in.get(2));
18136  lst_node_tri15.ajouter(lst_node_in.get(0));
18137  lst_node_tri15.ajouter(lst_node_in.get(4));
18138 
18139  lst_node_tri16.ajouter(lst_node_in.get(2));
18140  lst_node_tri16.ajouter(lst_node_in.get(3));
18141  lst_node_tri16.ajouter(lst_node_in.get(4));
18142 
18143  lst_node_tri17.ajouter(lst_node_in.get(0));
18144  lst_node_tri17.ajouter(lst_node_in.get(3));
18145  lst_node_tri17.ajouter(lst_node_in.get(4));
18146 
18147  //----------------------------------------------------
18148  //----------------------------------------------------
18149  quall4=OPERATEUR::qualite_tetra(lst_node_in.get(0)->get_coord(),lst_node_in.get(1)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(4)->get_coord());
18150 
18151  quall5=OPERATEUR::qualite_tetra(lst_node_in.get(2)->get_coord(),lst_node_in.get(1)->get_coord(),lst_node_in.get(3)->get_coord(),lst_node_in.get(4)->get_coord());
18152 
18153  //----------------------------------------------------
18154  quallo4=OPERATEUR::qualite_tetra(lst_node_in.get(1)->get_coord(),lst_node_in.get(0)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(4)->get_coord());
18155 
18156  quallo5=OPERATEUR::qualite_tetra(lst_node_in.get(1)->get_coord(),lst_node_in.get(2)->get_coord(),lst_node_in.get(3)->get_coord(),lst_node_in.get(4)->get_coord());
18157 
18158  lst_node_tri21.ajouter(lst_node_in.get(1));
18159  lst_node_tri21.ajouter(lst_node_in.get(2));
18160  lst_node_tri21.ajouter(lst_node_in.get(0));
18161 
18162  lst_node_tri22.ajouter(lst_node_in.get(0));
18163  lst_node_tri22.ajouter(lst_node_in.get(1));
18164  lst_node_tri22.ajouter(lst_node_in.get(4));
18165 
18166  lst_node_tri23.ajouter(lst_node_in.get(0));
18167  lst_node_tri23.ajouter(lst_node_in.get(2));
18168  lst_node_tri23.ajouter(lst_node_in.get(4));
18169 
18170  lst_node_tri24.ajouter(lst_node_in.get(1));
18171  lst_node_tri24.ajouter(lst_node_in.get(2));
18172  lst_node_tri24.ajouter(lst_node_in.get(4));
18173 
18174  lst_node_tri25.ajouter(lst_node_in.get(1));
18175  lst_node_tri25.ajouter(lst_node_in.get(3));
18176  lst_node_tri25.ajouter(lst_node_in.get(4));
18177 
18178  lst_node_tri26.ajouter(lst_node_in.get(2));
18179  lst_node_tri26.ajouter(lst_node_in.get(3));
18180  lst_node_tri26.ajouter(lst_node_in.get(4));
18181 
18182  lst_node_tri27.ajouter(lst_node_in.get(1));
18183  lst_node_tri27.ajouter(lst_node_in.get(3));
18184  lst_node_tri27.ajouter(lst_node_in.get(2));
18185 
18186 
18187  //----------------------------------------------------
18188  //----------------------------------------------------
18189 
18190  if (((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001)) && ((quall4+quallo4+quall5+quallo5)<(quall1+quallo1+quall2+quallo2)) )
18191  {
18192  check_not_to_creat_tetra=0;
18193  LISTE_MG_TRIANGLE::iterator it_tri_existed;
18194  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
18195  {
18196  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))))
18197  {
18198 
18199  check_to_creat_tetra=2;
18200  }
18201  else
18202 
18203  {
18204  check_not_to_creat_tetra=3;
18205 
18206  }
18207 
18208  }
18209 
18210  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
18211  {
18212  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine());
18213  check_to_go_further=5;
18214 
18215  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18216 
18217  }
18218 
18219  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
18220  {
18221  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine());
18222  check_to_go_further=5;
18223  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18224  }
18225 
18226  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
18227  {
18228  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(2),lst_node_in.get(0),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine());
18229  check_to_go_further=5;
18230 
18231 
18232  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18233  }
18234  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
18235  {
18236  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine());
18237  check_to_go_further=5;
18238 
18239 
18240  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18241  }
18242 
18243  }
18244  if (((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001)) && (check_to_go_further==3))
18245  {
18246  check_not_to_creat_tetra=0;
18247  LISTE_MG_TRIANGLE::iterator it_tri_existed;
18248  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
18249  {
18250  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))))
18251 
18252  {
18253  check_to_creat_tetra=2;
18254  }
18255  else
18256  {
18257  check_not_to_creat_tetra=3;
18258  }
18259  }
18260 
18261  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
18262  {
18263  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine());
18264  check_to_go_further=5;
18265 
18266  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18267 
18268  }
18269 
18270  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
18271  {
18272  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(2),lst_node_in.get(1),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine());
18273  check_to_go_further=5;
18274 
18275  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18276 
18277  }
18278 
18279 
18280  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
18281  {
18282  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine());
18283  check_to_go_further=5;
18284 
18285  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18286 
18287  }
18288 
18289  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
18290  {
18291  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine());
18292  check_to_go_further=5;
18293 
18294  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18295 
18296 
18297  }
18298 
18299 
18300  }
18301 
18302  //============================================Second loop==============================================================
18303  if (check_to_go_further==3)
18304  {
18305  if ((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001))
18306  {
18307  check_not_to_creat_tetra=0;
18308  LISTE_MG_TRIANGLE::iterator it_tri_existed;
18309  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
18310  {
18311  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))))
18312  {
18313 
18314  check_to_creat_tetra=2;
18315  }
18316  else
18317 
18318  {
18319  check_not_to_creat_tetra=3;
18320 
18321  }
18322 
18323  }
18324 
18325  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
18326  {
18327  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine());
18328  check_to_go_further=5;
18329 
18330  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18331 
18332  }
18333 
18334  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
18335  {
18336  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine());
18337  check_to_go_further=5;
18338 
18339  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18340  }
18341 
18342  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
18343  {
18344  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(2),lst_node_in.get(0),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine());
18345  check_to_go_further=5;
18346 
18347 
18348  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18349  }
18350  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
18351  {
18352  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine());
18353  check_to_go_further=5;
18354 
18355 
18356  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18357  }
18358 
18359  }
18360  if ((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (check_to_go_further==3))
18361  {
18362  check_not_to_creat_tetra=0;
18363  LISTE_MG_TRIANGLE::iterator it_tri_existed;
18364  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
18365  {
18366  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))))
18367 
18368  {
18369  check_to_creat_tetra=2;
18370  }
18371  else
18372  {
18373  check_not_to_creat_tetra=3;
18374  }
18375  }
18376 
18377  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
18378  {
18379  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine());
18380  check_to_go_further=5;
18381 
18382  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18383 
18384  }
18385 
18386  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
18387  {
18388  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(2),lst_node_in.get(1),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine());
18389  check_to_go_further=5;
18390 
18391  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18392 
18393  }
18394 
18395 
18396  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
18397  {
18398  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine());
18399  check_to_go_further=5;
18400 
18401  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18402  }
18403 
18404  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
18405  {
18406  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine());
18407  check_to_go_further=5;
18408 
18409  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18410 
18411  }
18412 
18413 
18414  }
18415 
18416  }
18417  //============================================Third loop==============================================================
18418  if (check_to_go_further==3)
18419  {
18420  if ((quall1>0.000001 || quallo1>0.000001) && (quall2>0.000001 || quallo2>0.000001))
18421  {
18422  check_not_to_creat_tetra=0;
18423  LISTE_MG_TRIANGLE::iterator it_tri_existed;
18424  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
18425  {
18426  if(((lst_node_tri11.existe(tri_existed->get_noeud1())) && (lst_node_tri11.existe(tri_existed->get_noeud2())) && (lst_node_tri11.existe(tri_existed->get_noeud3()))) || ((lst_node_tri12.existe(tri_existed->get_noeud1())) && (lst_node_tri12.existe(tri_existed->get_noeud2())) && (lst_node_tri12.existe(tri_existed->get_noeud3()))) || ((lst_node_tri13.existe(tri_existed->get_noeud1())) && (lst_node_tri13.existe(tri_existed->get_noeud2())) && (lst_node_tri13.existe(tri_existed->get_noeud3()))) || ((lst_node_tri14.existe(tri_existed->get_noeud1())) && (lst_node_tri14.existe(tri_existed->get_noeud2())) && (lst_node_tri14.existe(tri_existed->get_noeud3()))) || ((lst_node_tri15.existe(tri_existed->get_noeud1())) && (lst_node_tri15.existe(tri_existed->get_noeud2())) && (lst_node_tri15.existe(tri_existed->get_noeud3()))) || ((lst_node_tri16.existe(tri_existed->get_noeud1())) && (lst_node_tri16.existe(tri_existed->get_noeud2())) && (lst_node_tri16.existe(tri_existed->get_noeud3()))) || ((lst_node_tri17.existe(tri_existed->get_noeud1())) && (lst_node_tri17.existe(tri_existed->get_noeud2())) && (lst_node_tri17.existe(tri_existed->get_noeud3()))))
18427  {
18428 
18429  check_to_creat_tetra=2;
18430  }
18431  else
18432 
18433  {
18434  check_not_to_creat_tetra=3;
18435 
18436  }
18437 
18438  }
18439 
18440  if ((quall1>0.00000001) && (check_not_to_creat_tetra!=3))
18441  {
18442  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine());
18443  check_to_go_further=5;
18444 
18445  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18446  }
18447 
18448  if ((quallo1>0.00000001) && (check_not_to_creat_tetra!=3))
18449  {
18450  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),tetra_cutt->get_origine());
18451  check_to_go_further=5;
18452  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18453  }
18454 
18455  if ((quall2>0.00000001) && (check_not_to_creat_tetra!=3))
18456  {
18457  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(2),lst_node_in.get(0),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine());
18458  check_to_go_further=5;
18459 
18460  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18461  }
18462  if ((quallo2>0.00000001) && (check_not_to_creat_tetra!=3))
18463  {
18464  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine());
18465  check_to_go_further=5;
18466  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18467  }
18468 
18469  }
18470  if ((quall4>0.000001 || quallo4>0.000001) && (quall5>0.000001 || quallo5>0.000001) && (check_to_go_further==3))
18471  {
18472  check_not_to_creat_tetra=0;
18473  LISTE_MG_TRIANGLE::iterator it_tri_existed;
18474  for(MG_TRIANGLE* tri_existed=lst_tri_already_existed.get_premier(it_tri_existed);tri_existed!=NULL;tri_existed=lst_tri_already_existed.get_suivant(it_tri_existed))
18475  {
18476  if(((lst_node_tri21.existe(tri_existed->get_noeud1())) && (lst_node_tri21.existe(tri_existed->get_noeud2())) && (lst_node_tri21.existe(tri_existed->get_noeud3()))) || ((lst_node_tri22.existe(tri_existed->get_noeud1())) && (lst_node_tri22.existe(tri_existed->get_noeud2())) && (lst_node_tri22.existe(tri_existed->get_noeud3()))) || ((lst_node_tri23.existe(tri_existed->get_noeud1())) && (lst_node_tri23.existe(tri_existed->get_noeud2())) && (lst_node_tri23.existe(tri_existed->get_noeud3()))) || ((lst_node_tri24.existe(tri_existed->get_noeud1())) && (lst_node_tri24.existe(tri_existed->get_noeud2())) && (lst_node_tri24.existe(tri_existed->get_noeud3()))) || ((lst_node_tri25.existe(tri_existed->get_noeud1())) && (lst_node_tri25.existe(tri_existed->get_noeud2())) && (lst_node_tri25.existe(tri_existed->get_noeud3()))) || ((lst_node_tri26.existe(tri_existed->get_noeud1())) && (lst_node_tri26.existe(tri_existed->get_noeud2())) && (lst_node_tri26.existe(tri_existed->get_noeud3()))) || ((lst_node_tri27.existe(tri_existed->get_noeud1())) && (lst_node_tri27.existe(tri_existed->get_noeud2())) && (lst_node_tri27.existe(tri_existed->get_noeud3()))))
18477 
18478  {
18479  check_to_creat_tetra=2;
18480  }
18481  else
18482  {
18483  check_not_to_creat_tetra=3;
18484  }
18485  }
18486 
18487  if((quall4>0.00000001) && (check_not_to_creat_tetra!=3))
18488  {
18489  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(0),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine());
18490  check_to_go_further=5;
18491  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18492  }
18493 
18494  if((quall5>0.00000001) && (check_not_to_creat_tetra!=3))
18495  {
18496  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(2),lst_node_in.get(1),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine());
18497  check_to_go_further=5;
18498  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18499 
18500  }
18501 
18502 
18503  if((quallo4>0.00000001) && (check_not_to_creat_tetra!=3))
18504  {
18505  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(0),lst_node_in.get(2),lst_node_in.get(4),tetra_cutt->get_origine());
18506  check_to_go_further=5;
18507 
18508  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18509  }
18510 
18511  if((quallo5>0.00000001) && (check_not_to_creat_tetra!=3))
18512  {
18513  m_mg_maillage->ajouter_mg_tetra(tetra_cutt->get_lien_topologie(),lst_node_in.get(1),lst_node_in.get(2),lst_node_in.get(3),lst_node_in.get(4),tetra_cutt->get_origine());
18514  check_to_go_further=5;
18515 
18516  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18517  }
18518 
18519 
18520  }
18521  }
18522 
18523  }
18524 
18525  if (check_to_go_further==3)
18526  {
18527  printf(" not created 5!!!!!!!! \n\n");
18528  return;
18529 
18530  }
18531 
18532  lst_tri_already_existed.vide();
18533 
18534  lst_node_tri11.vide();lst_node_tri12.vide();lst_node_tri13.vide();lst_node_tri14.vide();lst_node_tri15.vide();lst_node_tri16.vide();lst_node_tri17.vide();
18535 
18536  lst_node_tri21.vide();lst_node_tri22.vide();lst_node_tri23.vide();lst_node_tri24.vide();lst_node_tri25.vide();lst_node_tri26.vide();lst_node_tri27.vide();
18537 
18538  lst_node_tri31.vide();lst_node_tri32.vide();lst_node_tri33.vide();lst_node_tri34.vide();lst_node_tri35.vide();lst_node_tri36.vide();lst_node_tri37.vide();
18539 
18540  lst_node_tri41.vide();lst_node_tri42.vide();lst_node_tri43.vide();lst_node_tri44.vide();lst_node_tri45.vide();lst_node_tri46.vide();lst_node_tri47.vide();
18541 
18542  lst_node_tri51.vide();lst_node_tri52.vide();lst_node_tri53.vide();lst_node_tri54.vide();lst_node_tri55.vide();lst_node_tri56.vide();lst_node_tri57.vide();
18543 
18544  lst_node_tri61.vide();lst_node_tri62.vide();lst_node_tri63.vide();lst_node_tri64.vide();lst_node_tri65.vide();lst_node_tri66.vide();lst_node_tri67.vide();
18545 
18546  }
18548  {
18549  double epsilon=1e-6;
18550  TPL_MAP_ENTITE<MG_NOEUD*> lst_node_with_topo;
18551  TPL_MAP_ENTITE<MG_SEGMENT*>lst_seg_null;
18552  std::map<int,double> map_correspondance_id_valE;
18553  std::map<int,double> map_correspondance_id_valnu;
18554  std::map<int,MG_VOLUME*> map_correspondance_id_mgvol;
18555  std::map<MG_VOLUME*,MG_VOLUME*> map_correspondance_mgvol_volvirtu;
18556  std::set<int>idsss;
18557  int id_max=0;int id_topo;double ee;double noo; int nb_node_vertex=0;
18558 
18559 
18560  MG_SOMMET_NOEUD *som1=NULL;MG_SOMMET_NOEUD *som2=NULL;MG_SOMMET_NOEUD *som3=NULL;MG_SOMMET_NOEUD *som4=NULL; MG_SOMMET_NOEUD *som5=NULL;MG_SOMMET_NOEUD *som6=NULL;MG_SOMMET_NOEUD *som7=NULL;MG_SOMMET_NOEUD *som8=NULL;
18561 
18562  MG_ARETE_ELEMENT* are1=NULL;MG_ARETE_ELEMENT* are2=NULL;MG_ARETE_ELEMENT* are3=NULL;MG_ARETE_ELEMENT* are4=NULL;MG_ARETE_ELEMENT* are5=NULL;MG_ARETE_ELEMENT* are6=NULL;MG_ARETE_ELEMENT* are7=NULL;MG_ARETE_ELEMENT* are8=NULL;MG_ARETE_ELEMENT* are9=NULL;MG_ARETE_ELEMENT* are10=NULL;MG_ARETE_ELEMENT* are11=NULL;MG_ARETE_ELEMENT* are12=NULL;
18563 
18564  MG_FACE_ELEMENT* face1=NULL;MG_FACE_ELEMENT* face2=NULL;MG_FACE_ELEMENT* face3=NULL;MG_FACE_ELEMENT* face4=NULL;MG_FACE_ELEMENT* face5=NULL;MG_FACE_ELEMENT* face6=NULL;
18565 
18566  MG_VOLUME_ELEMENT* vol_f=NULL;
18567  MG_VOLUME_ELEMENT* vol_m=NULL;
18568  geo_virtu=new MG_GEOMETRIE((char*)"VIRTUEL",(char*)"VIRTUEL");
18570 
18572 
18573  som1=new MG_SOMMET_NOEUD();
18575 
18576  som2=new MG_SOMMET_NOEUD();
18578 
18579  som3=new MG_SOMMET_NOEUD();
18581 
18582  som4=new MG_SOMMET_NOEUD();
18584 
18585  som5=new MG_SOMMET_NOEUD();
18587 
18588  som6=new MG_SOMMET_NOEUD();
18590 
18591  som7=new MG_SOMMET_NOEUD();
18593 
18594  som8=new MG_SOMMET_NOEUD();
18596 
18597  are1=new MG_ARETE_ELEMENT();
18598  are1->ajouter_contrainte(0.);
18599  are1->ajouter_contrainte(0.);
18600  are1->ajouter_contrainte(0.);
18601  are1->ajouter_contrainte(1.);
18602  are1->ajouter_contrainte(0.);
18603  are1->ajouter_contrainte(0.);
18604  geo_virtu->ajouter_mg_arete(are1);
18605  are2=new MG_ARETE_ELEMENT();
18606  are2->ajouter_contrainte(1.);
18607  are2->ajouter_contrainte(0.);
18608  are2->ajouter_contrainte(0.);
18609  are2->ajouter_contrainte(0.);
18610  are2->ajouter_contrainte(1.);
18611  are2->ajouter_contrainte(0.);
18612  geo_virtu->ajouter_mg_arete(are2);
18613  are3=new MG_ARETE_ELEMENT();
18614  are3->ajouter_contrainte(0.);
18615  are3->ajouter_contrainte(1.);
18616  are3->ajouter_contrainte(0.);
18617  are3->ajouter_contrainte(1.);
18618  are3->ajouter_contrainte(0.);
18619  are3->ajouter_contrainte(0.);
18620  geo_virtu->ajouter_mg_arete(are3);
18621  are4=new MG_ARETE_ELEMENT();
18622  are4->ajouter_contrainte(0.);
18623  are4->ajouter_contrainte(0.);
18624  are4->ajouter_contrainte(0.);
18625  are4->ajouter_contrainte(0.);
18626  are4->ajouter_contrainte(1.);
18627  are4->ajouter_contrainte(0.);
18628  geo_virtu->ajouter_mg_arete(are4);
18629  are5=new MG_ARETE_ELEMENT();
18630  are5->ajouter_contrainte(0.);
18631  are5->ajouter_contrainte(0.);
18632  are5->ajouter_contrainte(1.);
18633  are5->ajouter_contrainte(1.);
18634  are5->ajouter_contrainte(0.);
18635  are5->ajouter_contrainte(0.);
18636  geo_virtu->ajouter_mg_arete(are5);
18637  are6=new MG_ARETE_ELEMENT();
18638  are6->ajouter_contrainte(1.);
18639  are6->ajouter_contrainte(0.);
18640  are6->ajouter_contrainte(1.);
18641  are6->ajouter_contrainte(0.);
18642  are6->ajouter_contrainte(1.);
18643  are6->ajouter_contrainte(0.);
18644  geo_virtu->ajouter_mg_arete(are6);
18645  are7=new MG_ARETE_ELEMENT();
18646  are7->ajouter_contrainte(0.);
18647  are7->ajouter_contrainte(1.);
18648  are7->ajouter_contrainte(1.);
18649  are7->ajouter_contrainte(1.);
18650  are7->ajouter_contrainte(0.);
18651  are7->ajouter_contrainte(0.);
18652  geo_virtu->ajouter_mg_arete(are7);
18653  are8=new MG_ARETE_ELEMENT();
18654  are8->ajouter_contrainte(0.);
18655  are8->ajouter_contrainte(0.);
18656  are8->ajouter_contrainte(1.);
18657  are8->ajouter_contrainte(0.);
18658  are8->ajouter_contrainte(1.);
18659  are8->ajouter_contrainte(0.);
18660  geo_virtu->ajouter_mg_arete(are8);
18661  are9=new MG_ARETE_ELEMENT();
18662  are9->ajouter_contrainte(0.);
18663  are9->ajouter_contrainte(0.);
18664  are9->ajouter_contrainte(0.);
18665  are9->ajouter_contrainte(0.);
18666  are9->ajouter_contrainte(0.);
18667  are9->ajouter_contrainte(1.);
18668  geo_virtu->ajouter_mg_arete(are9);
18669  are10=new MG_ARETE_ELEMENT();
18670  are10->ajouter_contrainte(1.);
18671  are10->ajouter_contrainte(0.);
18672  are10->ajouter_contrainte(0.);
18673  are10->ajouter_contrainte(0.);
18674  are10->ajouter_contrainte(0.);
18675  are10->ajouter_contrainte(1.);
18676  geo_virtu->ajouter_mg_arete(are10);
18677  are11=new MG_ARETE_ELEMENT();
18678  are11->ajouter_contrainte(1.);
18679  are11->ajouter_contrainte(1.);
18680  are11->ajouter_contrainte(0.);
18681  are11->ajouter_contrainte(0.);
18682  are11->ajouter_contrainte(0.);
18683  are11->ajouter_contrainte(1.);
18684  geo_virtu->ajouter_mg_arete(are11);
18685  are12=new MG_ARETE_ELEMENT();
18686  are12->ajouter_contrainte(0.);
18687  are12->ajouter_contrainte(1.);
18688  are12->ajouter_contrainte(0.);
18689  are12->ajouter_contrainte(0.);
18690  are12->ajouter_contrainte(0.);
18691  are12->ajouter_contrainte(1.);
18692  geo_virtu->ajouter_mg_arete(are12);
18693 
18694 
18695  face1=new MG_FACE_ELEMENT();
18696  face1->ajouter_contrainte(0.);
18697  face1->ajouter_contrainte(0.);
18698  face1->ajouter_contrainte(0.);
18699  face1->ajouter_contrainte(0.);
18700  face1->ajouter_contrainte(1.);
18701  face1->ajouter_contrainte(0.);
18702  face1->ajouter_contrainte(0.);
18703  face1->ajouter_contrainte(0.);
18704  face1->ajouter_contrainte(1.);
18705  geo_virtu->ajouter_mg_face(face1);
18706 
18707  face2=new MG_FACE_ELEMENT();
18708  face2->ajouter_contrainte(0.);
18709  face2->ajouter_contrainte(0.);
18710  face2->ajouter_contrainte(0.);
18711  face2->ajouter_contrainte(1.);
18712  face2->ajouter_contrainte(0.);
18713  face2->ajouter_contrainte(0.);
18714  face2->ajouter_contrainte(0.);
18715  face2->ajouter_contrainte(0.);
18716  face2->ajouter_contrainte(1.);
18717  geo_virtu->ajouter_mg_face(face2);
18718 
18719  face3=new MG_FACE_ELEMENT();
18720  face3->ajouter_contrainte(0.);
18721  face3->ajouter_contrainte(0.);
18722  face3->ajouter_contrainte(0.);
18723  face3->ajouter_contrainte(1.);
18724  face3->ajouter_contrainte(0.);
18725  face3->ajouter_contrainte(0.);
18726  face3->ajouter_contrainte(0.);
18727  face3->ajouter_contrainte(1.);
18728  face3->ajouter_contrainte(0.);
18729 
18730  geo_virtu->ajouter_mg_face(face3);
18731 
18732  face4=new MG_FACE_ELEMENT();
18733  face4->ajouter_contrainte(1.);
18734  face4->ajouter_contrainte(1.);
18735  face4->ajouter_contrainte(1.);
18736  face4->ajouter_contrainte(0.);
18737  face4->ajouter_contrainte(1.);
18738  face4->ajouter_contrainte(0.);
18739  face4->ajouter_contrainte(0.);
18740  face4->ajouter_contrainte(0.);
18741  face4->ajouter_contrainte(1.);
18742  geo_virtu->ajouter_mg_face(face4);
18743 
18744  face5=new MG_FACE_ELEMENT();
18745  face5->ajouter_contrainte(1.);
18746  face5->ajouter_contrainte(1.);
18747  face5->ajouter_contrainte(1.);
18748  face5->ajouter_contrainte(1.);
18749  face5->ajouter_contrainte(0.);
18750  face5->ajouter_contrainte(0.);
18751  face5->ajouter_contrainte(0.);
18752  face5->ajouter_contrainte(0.);
18753  face5->ajouter_contrainte(1.);
18754  geo_virtu->ajouter_mg_face(face5);
18755 
18756  face6=new MG_FACE_ELEMENT();
18757  face6->ajouter_contrainte(1.);
18758  face6->ajouter_contrainte(1.);
18759  face6->ajouter_contrainte(1.);
18760  face6->ajouter_contrainte(1.);
18761  face6->ajouter_contrainte(0.);
18762  face6->ajouter_contrainte(0.);
18763  face6->ajouter_contrainte(0.);
18764  face6->ajouter_contrainte(1.);
18765  face6->ajouter_contrainte(0.);
18766  geo_virtu->ajouter_mg_face(face6);
18767 
18768  //----------------------------------------------------------------------------------------------------------
18771 
18772  LISTE_MG_TETRA::iterator it1;
18773  for (MG_TETRA* tet_check=m_mg_maillage->get_premier_tetra(it1);tet_check!=NULL;tet_check=m_mg_maillage->get_suivant_tetra(it1))
18774  {
18775  MG_ELEMENT_TOPOLOGIQUE* topo_tet = tet_check->get_lien_topologie();
18776  ee= topo_tet->get_valeur_ccf(0);
18777  noo=topo_tet->get_valeur_ccf(1);
18778  id_topo=topo_tet->get_id();
18779  map_correspondance_id_valE.insert(std::pair<int,double>(id_topo,ee));
18780  map_correspondance_id_valnu.insert(std::pair<int,double>(id_topo,noo));
18781 
18782  if (id_topo>id_max) id_max=id_topo;
18783  idsss.insert(id_topo);
18784 
18785  for(int mn=0;mn<m_mg_geometrie->get_nb_mg_volume();mn++)
18786  {
18787  if(topo_tet==m_mg_geometrie->get_mg_volume(mn))
18788  {
18789  map_correspondance_id_mgvol.insert(std::pair<int,MG_VOLUME*>(id_topo,m_mg_geometrie->get_mg_volume(mn)));
18790  }
18791  }
18792 
18793  }
18794  //-----------------------------------------------------------------------------------
18795  std::set<int>::iterator itr;
18796  for (itr = idsss.begin(); itr != idsss.end(); itr++)
18797  {
18798  if(*itr==id_max)
18799  {
18800  vol_m=new MG_VOLUME_ELEMENT();
18801  vol_m->ajouter_ccf((char*)"Em",map_correspondance_id_valE.find(*itr)->second);
18802  vol_m->ajouter_ccf((char*)"nu",map_correspondance_id_valnu.find(*itr)->second);
18803 
18804  geo_virtu->ajouter_mg_volume(vol_m);
18805 
18806  map_correspondance_mgvol_volvirtu.insert(std::pair<MG_VOLUME*,MG_VOLUME*>(map_correspondance_id_mgvol.find(*itr)->second,vol_m));
18807 
18808  }
18809  else{
18810 
18811  vol_f=new MG_VOLUME_ELEMENT();
18812  geo_virtu->ajouter_mg_volume(vol_f);
18813 
18814  vol_f->ajouter_ccf((char*)"Em",map_correspondance_id_valE.find(*itr)->second);
18815  vol_f->ajouter_ccf((char*)"nu",map_correspondance_id_valnu.find(*itr)->second);
18816 
18817  map_correspondance_mgvol_volvirtu.insert(std::pair<MG_VOLUME*,MG_VOLUME*>(map_correspondance_id_mgvol.find(*itr)->second,vol_f));
18818  }
18819 
18820  }
18821  //---------------------------Volume Calculation----------------------------------------
18822  double vol=0.;
18823  double vol_matrix=0.;
18824  double vol_fiber=0.;
18825  LISTE_MG_TETRA::iterator it21;
18826  for (MG_TETRA* tet_vol=m_mg_maillage->get_premier_tetra(it21);tet_vol!=NULL;tet_vol=m_mg_maillage->get_suivant_tetra(it21))
18827  {
18828 
18829  int id_topo=tet_vol->get_lien_topologie()->get_id();
18830  if (id_topo!=id_max)
18831  {
18832  double *xyz1=tet_vol->get_noeud1()->get_coord();
18833  double *xyz2=tet_vol->get_noeud2()->get_coord();
18834  double *xyz3=tet_vol->get_noeud3()->get_coord();
18835  double *xyz4=tet_vol->get_noeud4()->get_coord();
18836 
18837  OT_VECTEUR_3D vec1(xyz1,xyz2);
18838  OT_VECTEUR_3D vec2(xyz1,xyz3);
18839  OT_VECTEUR_3D vec3(xyz1,xyz4);
18840 
18841  OT_VECTEUR_3D n=vec1&vec2;
18842 
18843  vol=(fabs((n.get_x()*vec3.get_x())+(n.get_y()*vec3.get_y())+(n.get_z()*vec3.get_z())))/6;
18844  vol_fiber=vol_fiber+vol;
18845 
18846  }
18847  else
18848  {
18849  double *xyz11=tet_vol->get_noeud1()->get_coord();
18850  double *xyz22=tet_vol->get_noeud2()->get_coord();
18851  double *xyz33=tet_vol->get_noeud3()->get_coord();
18852  double *xyz44=tet_vol->get_noeud4()->get_coord();
18853 
18854  OT_VECTEUR_3D vec11(xyz11,xyz22);
18855  OT_VECTEUR_3D vec22(xyz11,xyz33);
18856  OT_VECTEUR_3D vec33(xyz11,xyz44);
18857 
18858  OT_VECTEUR_3D nnn=vec11&vec22;
18859 
18860  vol=(fabs((nnn.get_x()*vec33.get_x())+(nnn.get_y()*vec33.get_y())+(nnn.get_z()*vec33.get_z())))/6;
18861  vol_matrix=vol+vol_matrix;
18862  }
18863 
18864 
18865 
18866  }
18867  char message[1000];
18868  sprintf(message," Pourcentage de fibre %f, volume matrice %f, volume total %f",vol_fiber,vol_matrix,vol_matrix+vol_fiber);
18869  affiche(message);
18870 
18871  //=========================Topology Attachment=====================
18872  //-----------------------------nodes---------------------------------------------
18873  LISTE_MG_NOEUD::iterator it;
18875  {
18876  if(no->get_lien_tetra()->get_nb()!=0)
18877  {
18878  double *xyz=no->get_coord();
18879  MG_ELEMENT_TOPOLOGIQUE* ele=NULL;
18880  bool tocreate=false;
18881 
18882  if (OPERATEUR::egal(xyz[0],0.,epsilon) && OPERATEUR::egal(xyz[1],0.,epsilon) && OPERATEUR::egal(xyz[2],0.,epsilon) )
18883  {
18884  tocreate=true;
18885  ele=som1;
18886  }
18887  else if (OPERATEUR::egal(xyz[0],1.,epsilon) && OPERATEUR::egal(xyz[1],0.,epsilon) && OPERATEUR::egal(xyz[2],0.,epsilon) )
18888  {
18889  tocreate=true;
18890  ele=som2;
18891  }
18892  else if (OPERATEUR::egal(xyz[0],1.,epsilon) && OPERATEUR::egal(xyz[1],1.,epsilon) && OPERATEUR::egal(xyz[2],0.,epsilon) )
18893  {
18894  tocreate=true;
18895  ele=som3;
18896  }
18897  else if (OPERATEUR::egal(xyz[0],0.,epsilon) && OPERATEUR::egal(xyz[1],1.,epsilon) && OPERATEUR::egal(xyz[2],0.,epsilon) )
18898  {
18899  tocreate=true;
18900  ele=som4;
18901  }
18902  else if (OPERATEUR::egal(xyz[0],0.,epsilon) && OPERATEUR::egal(xyz[1],0.,epsilon) && OPERATEUR::egal(xyz[2],1.,epsilon) )
18903  {
18904  tocreate=true;
18905  ele=som5;
18906  }
18907  else if (OPERATEUR::egal(xyz[0],1.,epsilon) && OPERATEUR::egal(xyz[1],0.,epsilon) && OPERATEUR::egal(xyz[2],1.,epsilon) )
18908  {
18909  tocreate=true;
18910  ele=som6;
18911  }
18912  else if (OPERATEUR::egal(xyz[0],1.,epsilon) && OPERATEUR::egal(xyz[1],1.,epsilon) && OPERATEUR::egal(xyz[2],1.,epsilon) )
18913  {
18914  tocreate=true;
18915  ele=som7;
18916  }
18917  else if (OPERATEUR::egal(xyz[0],0.,epsilon) && OPERATEUR::egal(xyz[1],1.,epsilon) && OPERATEUR::egal(xyz[2],1.,epsilon) )
18918  {
18919  tocreate=true;
18920  ele=som8;
18921  }
18922  //--------------------------------------------------------
18923  if ( (xyz[0]>-epsilon) && (xyz[0]<1.+epsilon) && (xyz[1]>-epsilon) && (xyz[1]<1.+epsilon) && (xyz[2]>-epsilon) && (xyz[2]<1.+epsilon))
18924 
18925  tocreate=true;
18926  //-----------------------------------------------
18927  if (tocreate)
18928  {
18929 
18930  MG_NOEUD* new_no=mai_virtu->ajouter_mg_noeud(ele,xyz[0],xyz[1],xyz[2],MAGIC::ORIGINE::MAILLEUR_AUTO);
18931  MG_SOMMET_NOEUD* somno;
18932  if (ele!=NULL)
18933  {
18934  somno=(MG_SOMMET_NOEUD*)ele;
18935  somno->change_mg_noeud(new_no);
18936  }
18937  no->change_nouveau_numero(new_no->get_id());
18938  }
18939  }
18940 
18941  }
18942 
18943  // gestionnaire_virtu->enregistrer("virtu_4.magic");
18944  //-----------------------------segment---------------------------------------------
18945  LISTE_MG_SEGMENT::iterator itsg;
18947  {
18948  MG_NOEUD* no1sg=sg->get_noeud1();
18949  MG_NOEUD* no2sg=sg->get_noeud2();
18950 
18951  MG_NOEUD* newno1sg=mai_virtu->get_mg_noeudid(no1sg->get_nouveau_numero());
18952  MG_NOEUD* newno2sg=mai_virtu->get_mg_noeudid(no2sg->get_nouveau_numero());
18953 
18954  MG_ELEMENT_TOPOLOGIQUE* ele=NULL;
18955  if ((OPERATEUR::egal(no1sg->get_y(),0.,epsilon)) && (OPERATEUR::egal(no2sg->get_y(),0.,epsilon)) && (OPERATEUR::egal(no1sg->get_z(),0.,epsilon)) && (OPERATEUR::egal(no2sg->get_z(),0.,epsilon)) )
18956  ele=are1;
18957 
18958  else if (OPERATEUR::egal(no1sg->get_x(),1.,epsilon) && OPERATEUR::egal(no2sg->get_x(),1.,epsilon) && OPERATEUR::egal(no1sg->get_z(),0.,epsilon) && OPERATEUR::egal(no2sg->get_z(),0.,epsilon) )
18959  ele=are2;
18960 
18961  else if (OPERATEUR::egal(no1sg->get_y(),1.,epsilon) && OPERATEUR::egal(no2sg->get_y(),1.,epsilon) && OPERATEUR::egal(no1sg->get_z(),0.,epsilon) && OPERATEUR::egal(no2sg->get_z(),0.,epsilon) )
18962  ele=are3;
18963 
18964  else if (OPERATEUR::egal(no1sg->get_x(),0.,epsilon) && OPERATEUR::egal(no2sg->get_x(),0.,epsilon) && OPERATEUR::egal(no1sg->get_z(),0.,epsilon) && OPERATEUR::egal(no2sg->get_z(),0.,epsilon) )
18965  ele=are4;
18966 
18967  else if (OPERATEUR::egal(no1sg->get_y(),0.,epsilon) && OPERATEUR::egal(no2sg->get_y(),0.,epsilon) && OPERATEUR::egal(no1sg->get_z(),1.,epsilon) && OPERATEUR::egal(no2sg->get_z(),1.,epsilon) )
18968  ele=are5;
18969 
18970  else if (OPERATEUR::egal(no1sg->get_x(),1.,epsilon) && OPERATEUR::egal(no2sg->get_x(),1.,epsilon) && OPERATEUR::egal(no1sg->get_z(),1.,epsilon) && OPERATEUR::egal(no2sg->get_z(),1.,epsilon) )
18971  ele=are6;
18972 
18973  else if (OPERATEUR::egal(no1sg->get_y(),1.,epsilon) && OPERATEUR::egal(no2sg->get_y(),1.,epsilon) && OPERATEUR::egal(no1sg->get_z(),1.,epsilon) && OPERATEUR::egal(no2sg->get_z(),1.,epsilon) )
18974  ele=are7;
18975 
18976  else if (OPERATEUR::egal(no1sg->get_x(),0.,epsilon) && OPERATEUR::egal(no2sg->get_x(),0.,epsilon) && OPERATEUR::egal(no1sg->get_z(),1.,epsilon) && OPERATEUR::egal(no2sg->get_z(),1.,epsilon) )
18977  ele=are8;
18978 
18979  else if (OPERATEUR::egal(no1sg->get_x(),0.,epsilon) && OPERATEUR::egal(no2sg->get_x(),0.,epsilon) && OPERATEUR::egal(no1sg->get_y(),0.,epsilon) && OPERATEUR::egal(no2sg->get_y(),0.,epsilon) )
18980  ele=are9;
18981 
18982  else if (OPERATEUR::egal(no1sg->get_x(),1.,epsilon) && OPERATEUR::egal(no2sg->get_x(),1.,epsilon) && OPERATEUR::egal(no1sg->get_y(),0.,epsilon) && OPERATEUR::egal(no2sg->get_y(),0.,epsilon) )
18983  ele=are10;
18984 
18985  else if (OPERATEUR::egal(no1sg->get_x(),1.,epsilon) && OPERATEUR::egal(no2sg->get_x(),1.,epsilon) && OPERATEUR::egal(no1sg->get_y(),1.,epsilon) && OPERATEUR::egal(no2sg->get_y(),1.,epsilon) )
18986  ele=are11;
18987 
18988  else if (OPERATEUR::egal(no1sg->get_x(),0.,epsilon) && OPERATEUR::egal(no2sg->get_x(),0.,epsilon) && OPERATEUR::egal(no1sg->get_y(),1.,epsilon) && OPERATEUR::egal(no2sg->get_y(),1.,epsilon) )
18989  ele=are12;
18990 
18991  if (ele!=NULL)
18993  // if ((ele==NULL)&&(newno1sg!=NULL)&&(newno2sg!=NULL))
18994  // {
18995  // MG_SEGMENT* segment=new MG_SEGMENT(ele,newno1sg,newno2sg,MAGIC::ORIGINE::MAILLEUR_AUTO);
18996  // lst_seg_null.ajouter(segment);
18997  // mai_virtu->ajouter_mg_segment(segment);
18998  // }
18999 
19000 
19001 }
19002 
19003  // gestionnaire_virtu->enregistrer("virtu_5.magic");
19004 
19005  //-----------------------------Triangles on the faces and their nodes---------------
19006  LISTE_MG_TRIANGLE::iterator it3;
19008  if (tri->get_lien_tetra()->get_nb()==1)
19009  {
19010  MG_NOEUD* no1=tri->get_noeud1();
19011  MG_NOEUD* no2=tri->get_noeud2();
19012  MG_NOEUD* no3=tri->get_noeud3();
19016  MG_ELEMENT_TOPOLOGIQUE* ele=NULL;
19017  if (OPERATEUR::egal(no1->get_x(),0.,epsilon) && OPERATEUR::egal(no2->get_x(),0.,epsilon) && OPERATEUR::egal(no3->get_x(),0.,epsilon) )
19018  ele=face1;
19019  else if (OPERATEUR::egal(no1->get_y(),0.,epsilon) && OPERATEUR::egal(no2->get_y(),0.,epsilon) && OPERATEUR::egal(no3->get_y(),0.,epsilon) )
19020 
19021  ele=face2;
19022  else if (OPERATEUR::egal(no1->get_z(),0.,epsilon) && OPERATEUR::egal(no2->get_z(),0.,epsilon) && OPERATEUR::egal(no3->get_z(),0.,epsilon) )
19023 
19024  ele=face3;
19025 
19026  else if (OPERATEUR::egal(no1->get_x(),1.,epsilon) && OPERATEUR::egal(no2->get_x(),1.,epsilon) && OPERATEUR::egal(no3->get_x(),1.,epsilon) )
19027  ele=face4;
19028 
19029  else if (OPERATEUR::egal(no1->get_y(),1.,epsilon) && OPERATEUR::egal(no2->get_y(),1.,epsilon) && OPERATEUR::egal(no3->get_y(),1.,epsilon) )
19030  ele=face5;
19031  else if (OPERATEUR::egal(no1->get_z(),1.,epsilon) && OPERATEUR::egal(no2->get_z(),1.,epsilon) && OPERATEUR::egal(no3->get_z(),1.,epsilon) )
19032  ele=face6;
19033 
19034  mai_virtu->ajouter_mg_triangle(ele,newno1,newno2,newno3,MAGIC::ORIGINE::MAILLEUR_AUTO);
19035 
19036  }
19037  // gestionnaire_virtu->enregistrer("virtu_6.magic");
19038  //-----------------------------tetra---------------------------------------------
19039  LISTE_MG_TETRA::iterator it2;
19040  for (MG_TETRA* tet=m_mg_maillage->get_premier_tetra(it2);tet!=NULL;tet=m_mg_maillage->get_suivant_tetra(it2))
19041  {
19042 
19043  MG_NOEUD* not1=tet->get_noeud1();
19044  MG_NOEUD* not2=tet->get_noeud2();
19045  MG_NOEUD* not3=tet->get_noeud3();
19046  MG_NOEUD* not4=tet->get_noeud4();
19051 
19052 
19053  MG_ELEMENT_TOPOLOGIQUE* ele=NULL;
19054 
19055  MG_ELEMENT_TOPOLOGIQUE* topo_tet = tet->get_lien_topologie();
19056  int id_vol_tet= topo_tet->get_id();
19057 
19058  if (id_vol_tet==id_max)
19059  {
19060  ele=vol_m;
19061  }
19062  else
19063  {
19064  for(int i=0;i<idsss.size();i++)
19065  {
19066 
19067  auto it = next(idsss.begin(), i);
19068  if(id_vol_tet==*it)
19069 
19070  ele=geo_virtu->get_mg_volume(i);
19071  }
19072 
19073  }
19074  mai_virtu->ajouter_mg_tetra(ele,newnot1,newnot2,newnot3,newnot4,MAGIC::ORIGINE::MAILLEUR_AUTO);
19075  }
19076  // gestionnaire_virtu->enregistrer("virtu_7.magic");
19077  std:: vector<int> topo_id;
19078  std::set<int>topo_node;
19079  bool vuel =false;
19080  MG_ELEMENT_TOPOLOGIQUE* topo_t;
19081 
19082  LISTE_MG_NOEUD::iterator it5;
19083  for (MG_NOEUD* no5=mai_virtu->get_premier_noeud(it5);no5!=NULL;no5=mai_virtu->get_suivant_noeud(it5))
19084  {
19085  int nb_tri= no5->get_lien_triangle()->get_nb();
19086  for(int n=0;n<nb_tri;n++)
19087  {
19088  MG_TRIANGLE* tri_check=no5->get_lien_triangle()->get(n);
19089  if((tri_check->get_lien_tetra()->get_nb()==1)&&(tri_check->get_lien_topologie()!=0))
19090  {
19091  topo_node.insert(tri_check->get_lien_topologie()->get_id());
19092  }
19093  }
19094  std::set<int>::iterator it_topo;
19095  for (it_topo = topo_node.begin(); it_topo != topo_node.end(); it_topo++)
19096  {
19097  topo_id.push_back(*it_topo);
19098  }
19099 
19100  if(topo_node.size()==1)
19101  {
19102  // printf("on face\n\n");
19103  no5->change_lien_topologie(no5->get_lien_triangle()->get(0)->get_lien_topologie());
19104  }
19105  else if(topo_node.size()==2)
19106  {
19107  // printf("on edge\n\n");
19108  //---------------Edge1-----------------------------------
19109  if(((topo_id[0]==face3->get_id())||(topo_id[0]==face2->get_id()))&&((topo_id[1]==face3->get_id())||(topo_id[1]==face2->get_id())))
19110  {
19111  no5->change_lien_topologie(are1);
19112  }
19113  //---------------Edge2-----------------------------------
19114  else if(((topo_id[0]==face3->get_id())||(topo_id[0]==face4->get_id()))&&((topo_id[1]==face3->get_id())||(topo_id[1]==face4->get_id())))
19115  {
19116  no5->change_lien_topologie(are2);
19117  }
19118  //---------------Edge3-----------------------------------
19119  else if(((topo_id[0]==face3->get_id())||(topo_id[0]==face5->get_id()))&&((topo_id[1]==face3->get_id())||(topo_id[1]==face5->get_id())))
19120  {
19121  no5->change_lien_topologie(are3);
19122  }
19123  //---------------Edge4-----------------------------------
19124  else if(((topo_id[0]==face3->get_id())||(topo_id[0]==face1->get_id()))&&((topo_id[1]==face3->get_id())||(topo_id[1]==face1->get_id())))
19125  {
19126  no5->change_lien_topologie(are4);
19127  }
19128  //---------------Edge5-----------------------------------
19129  else if(((topo_id[0]==face6->get_id())||(topo_id[0]==face2->get_id()))&&((topo_id[1]==face6->get_id())||(topo_id[1]==face2->get_id())))
19130  {
19131  no5->change_lien_topologie(are5);
19132  }
19133  //---------------Edge6-----------------------------------
19134  else if(((topo_id[0]==face6->get_id())||(topo_id[0]==face4->get_id()))&&((topo_id[1]==face6->get_id())||(topo_id[1]==face4->get_id())))
19135  {
19136  no5->change_lien_topologie(are6);
19137  }
19138  //---------------Edge7-----------------------------------
19139  else if(((topo_id[0]==face6->get_id())||(topo_id[0]==face5->get_id()))&&((topo_id[1]==face6->get_id())||(topo_id[1]==face5->get_id())))
19140  {
19141  no5->change_lien_topologie(are7);
19142  }
19143  //---------------Edge8-----------------------------------
19144  else if(((topo_id[0]==face6->get_id())||(topo_id[0]==face1->get_id()))&&((topo_id[1]==face6->get_id())||(topo_id[1]==face1->get_id())))
19145  {
19146  no5->change_lien_topologie(are8);
19147  }
19148  //---------------Edge9-----------------------------------
19149  else if(((topo_id[0]==face1->get_id())||(topo_id[0]==face2->get_id()))&&((topo_id[1]==face1->get_id())||(topo_id[1]==face2->get_id())))
19150  {
19151  no5->change_lien_topologie(are9);
19152  }
19153  //---------------Edge10-----------------------------------
19154  else if(((topo_id[0]==face2->get_id())||(topo_id[0]==face4->get_id()))&&((topo_id[1]==face2->get_id())||(topo_id[1]==face4->get_id())))
19155  {
19156  no5->change_lien_topologie(are10);
19157  }
19158  //---------------Edge11-----------------------------------
19159  else if(((topo_id[0]==face5->get_id())||(topo_id[0]==face4->get_id()))&&((topo_id[1]==face5->get_id())||(topo_id[1]==face4->get_id())))
19160  {
19161  no5->change_lien_topologie(are11);
19162  }
19163  //---------------Edge12-----------------------------------
19164  else if(((topo_id[0]==face1->get_id())||(topo_id[0]==face5->get_id()))&&((topo_id[1]==face1->get_id())||(topo_id[1]==face5->get_id())))
19165  {
19166  no5->change_lien_topologie(are12);
19167  }
19168  else{
19169  printf("oops topo edge\n\n");
19170  return;
19171  }
19172  }
19173  else if(topo_node.size()==3)
19174  {
19175  // printf("on vertex\n\n");
19176  nb_node_vertex=nb_node_vertex+1;
19177  }
19178  else
19179  {
19180  // printf("in volume\n\n");
19181  int n_t=no5->get_lien_tetra()->get_nb();
19182  for(int j=0;j<n_t;j++)
19183  {
19184  MG_TETRA* tett=no5->get_lien_tetra()->get(j);
19185  if(tett->get_lien_topologie()->get_id()!=id_max)
19186  {
19187  vuel=true;
19188  topo_t = tett->get_lien_topologie();
19189  }
19190  }
19191  if(vuel==true)
19192  {
19193  no5->change_lien_topologie(topo_t);
19194  }
19195  else{
19196  no5->change_lien_topologie(no5->get_lien_tetra()->get(0)->get_lien_topologie());
19197  }
19198 
19199  }
19200 
19201  topo_node.clear();
19202  topo_id.clear();
19203  }
19204  //===========================================================
19205 //gestionnaire_virtu->enregistrer("virtu_8.magic");
19206  if(nb_node_vertex!=8)
19207  {
19208  printf("nb of vertex is not 8\n\n");
19209  return;
19210 
19211  }
19212 
19213 
19214  //-------------------------------------------------------------------------------
19215 
19216  //--------------------------------------------------------------------------------
19217 
19218  //gestionnaire_virtu->enregistrer("virtu_9.magic");
19219 
19220  int i_vol;
19221  int nb_volume_virtu=(geo_virtu->get_nb_mg_volume());
19222 
19223  for(i_vol=0;i_vol<nb_volume_virtu;++i_vol)
19224  {
19225  LISTE_MG_TRIANGLE::iterator it_trig;
19226  for (MG_TRIANGLE* tri=mai_virtu->get_premier_triangle(it_trig);tri!=NULL;tri=mai_virtu->get_suivant_triangle(it_trig))
19227  tri->change_nouveau_numero(0);
19228 
19229  MG_VOLUME* volume=geo_virtu->get_mg_volume(i_vol);
19231  for (MG_TETRA* tet=(MG_TETRA*)volume->get_lien_maillage()->get_premier(it);tet!=NULL;tet=(MG_TETRA*)volume->get_lien_maillage()->get_suivant(it))
19232  {
19233  tet->get_triangle1()->change_nouveau_numero( tet->get_triangle1()->get_nouveau_numero()+1);
19234  tet->get_triangle2()->change_nouveau_numero( tet->get_triangle2()->get_nouveau_numero()+1);
19235  tet->get_triangle3()->change_nouveau_numero( tet->get_triangle3()->get_nouveau_numero()+1);
19236  tet->get_triangle4()->change_nouveau_numero( tet->get_triangle4()->get_nouveau_numero()+1);
19237  }
19238  for (MG_TRIANGLE* tri=mai_virtu->get_premier_triangle(it_trig);tri!=NULL;tri=mai_virtu->get_suivant_triangle(it_trig))
19239  {
19240  // if ((tri->get_segment1()->get_id()==13479) || (tri->get_segment3()->get_id()==13479) || (tri->get_segment2()->get_id()==13479))
19241  // if (tri->get_nouveau_numero()!=0)
19242  //std::cout << "bonjour" << std::endl;
19243  if (tri->get_nouveau_numero()==2)
19244  {
19245  if (tri->get_segment1()->get_lien_topologie()==NULL)
19246  tri->get_segment1()->change_lien_topologie2(volume);
19247  if (tri->get_segment2()->get_lien_topologie()==NULL)
19248  tri->get_segment2()->change_lien_topologie2(volume);
19249  if (tri->get_segment3()->get_lien_topologie()==NULL)
19250  tri->get_segment3()->change_lien_topologie2(volume);
19251  }
19252  if (tri->get_nouveau_numero()==1)
19253  {
19254  if (tri->get_segment1()->get_lien_topologie()==NULL)
19255  tri->get_segment1()->change_lien_topologie2(face1);
19256  else if (tri->get_segment1()->get_lien_topologie()->get_dimension()>2)
19257  tri->get_segment1()->change_lien_topologie2(face1);
19258  if (tri->get_segment2()->get_lien_topologie()==NULL)
19259  tri->get_segment2()->change_lien_topologie2(face1);
19260  else if (tri->get_segment2()->get_lien_topologie()->get_dimension()>2)
19261  tri->get_segment2()->change_lien_topologie2(face1);
19262  if (tri->get_segment3()->get_lien_topologie()==NULL)
19263  tri->get_segment3()->change_lien_topologie2(face1);
19264  else if (tri->get_segment3()->get_lien_topologie()->get_dimension()>2)
19265  tri->get_segment3()->change_lien_topologie2(face1);
19266  }
19267  }
19268 
19269  }
19270  // gestionnaire_virtu->enregistrer("virtu_10.magic");
19271  delete m_mg_gestionnaire;
19275  change_boite_3D_ves(BOITE_3D(0.,0.,0.,1.,1.,1.));
19277 // gestionnaire_virtu->enregistrer("virtu_11.magic");
19278  }
19280  {
19284 
19285  MG_CG_GROUPE_FORME* groupe_forme_matrice=MG_CG::creer_MG_CG_GROUPE_FORME(m_mgcg_modele,(char*)"Matrice");
19286  MG_CG_GROUPE_FORME* groupe_forme_particule=MG_CG::creer_MG_CG_GROUPE_FORME(m_mgcg_modele,(char*)"Particule");
19287 
19288  LISTE_MG_VOLUME::iterator it;
19289  MG_CG_ASSEMBLAGE* assemblage = MG_CG::creer_MG_CG_ASSEMBLAGE(m_mgcg_modele,(char*)"VES");
19290  int nb_vol=geo_virtu->get_nb_mg_volume();
19291  int ivol=0;
19292  for (MG_VOLUME* vol=geo_virtu->get_premier_volume(it);vol!=NULL;vol=geo_virtu->get_suivant_volume(it))
19293  {
19294  ivol++;
19295  MG_CG_FORME_VOLUME* forme=MG_CG::creer_MG_CG_FORME_VOLUME(m_mgcg_modele,MG_CG_FORME::PROVENANCE_FORME::IMPORTEE,vol);
19296  forme->change_etat(MG_CG_FORME::ETAT_FORME::CONSTRUITE);
19297  if (ivol!=nb_vol)
19298  groupe_forme_particule->ajouter_mgcg_forme(forme);
19299  else
19300  groupe_forme_matrice->ajouter_mgcg_forme(forme);
19301  assemblage->ajouter_mgcg_forme(forme);
19302  }
19303 
19304  change_mgcg_assemblage(assemblage);
19307 
19308 
19309  }
void get_centre(double *coo)
virtual void active_affichage(fonction_affiche *fonc)
int maille(MG_GROUPE_TOPOLOGIQUE *mggt=NULL)
Definition: mailleur0d.cpp:43
int maille(MG_GROUPE_TOPOLOGIQUE *mggt=NULL)
Definition: mailleur1d.cpp:50
int maille(MG_GROUPE_TOPOLOGIQUE *mggt=NULL)
Definition: mailleur2d.cpp:49
void change_niveau_optimisation(int num)
virtual int maille(MG_GROUPE_TOPOLOGIQUE *mggt=NULL)
virtual void optimise(MG_VOLUME *mgvol)
virtual void change_niveau_optimisation(int num)
Definition: mailleur3d.cpp:464
virtual int maille(MG_GROUPE_TOPOLOGIQUE *mggt=NULL)
Definition: mailleur3d.cpp:55
virtual int maille(MG_GROUPE_TOPOLOGIQUE *mggt=NULL)
virtual void active_type_particule(int num)
virtual void change_priorite_metrique(double val)
Definition: mailleur.cpp:53
virtual int ajouter_mgcg_forme(MG_CG_FORME *mgcg_forme, bool avec_mg_element=true)
virtual MG_SOUS_GEOMETRIE * get_mg_sous_geometrie(void)
virtual void change_etat(int etat_forme)
Definition: mg_cg_forme.cpp:81
int ajouter_mgcg_forme(MG_CG_FORME *mgcg_forme)
static MG_CG_MODELE * creer_MG_CG_MODELE(MG_GESTIONNAIRE *mg_gestionnaire, std::string nom_mgcg_modele, double unite=1.0, double eps=1e-6)
Definition: mg_cg.cpp:75
static MG_CG_ASSEMBLAGE * creer_MG_CG_ASSEMBLAGE(MG_CG_MODELE *mgcg_modele, std::string nom_mgcg_assemblage)
Definition: mg_cg.cpp:97
static MG_CG_GROUPE_FORME * creer_MG_CG_GROUPE_FORME(MG_CG_MODELE *mgcg_modele, std::string nom)
Definition: mg_cg.cpp:107
static MG_CG_FORME_VOLUME * creer_MG_CG_FORME_VOLUME(MG_CG_MODELE *mgcg_modele, int provenance, MG_VOLUME *mg_volume)
Definition: mg_cg.cpp:191
virtual int get_nouveau_numero(void)
MG_ELEMENT_TOPOLOGIQUE * get_lien_topologie(void)
void change_lien_topologie(MG_ELEMENT_TOPOLOGIQUE *topo)
virtual int get_origine(void)
virtual void ajouter_contrainte(double val)
virtual TPL_SET< MG_ELEMENT_MAILLAGE * > * get_lien_maillage(void)
virtual void ajouter_ccf(char *nom, double val, std::string suiv="NS")
virtual bool get_valeur_ccf(char *nom, double &val)
unsigned int get_nb_mg_arete(void)
virtual int ajouter_mg_face(MG_FACE *mgface)
void change_valeur_unite(double val)
unsigned int get_nb_mg_face(void)
virtual int ajouter_mg_volume(MG_VOLUME *mgvol)
MG_ARETE * get_suivant_arete(LISTE_MG_ARETE::iterator &it)
virtual int ajouter_mg_arete(MG_ARETE *mgarete)
MG_ARETE * get_premier_arete(LISTE_MG_ARETE::iterator &it)
MG_FACE * get_premier_face(LISTE_MG_FACE::iterator &it)
MG_SOMMET * get_suivant_sommet(LISTE_MG_SOMMET::iterator &it)
MG_SOMMET * get_premier_sommet(LISTE_MG_SOMMET::iterator &it)
MG_VOLUME * get_mg_volume(unsigned int num)
unsigned int get_nb_mg_sommet(void)
void change_est_construction(bool val)
unsigned int get_nb_mg_volume(void)
MG_FACE * get_suivant_face(LISTE_MG_FACE::iterator &it)
virtual int ajouter_mg_sommet(MG_SOMMET *mgsom)
MG_VOLUME * get_suivant_volume(LISTE_MG_VOLUME::iterator &it)
MG_VOLUME * get_premier_volume(LISTE_MG_VOLUME::iterator &it)
unsigned int get_nb_mg_maillage(void)
MG_MAILLAGE * get_mg_maillage(unsigned int num)
int ajouter_mg_geometrie(MG_GEOMETRIE *mggeo)
int ajouter_mgcg_modele(MG_CG_MODELE *mgcg_modele)
virtual void enregistrer(std::ostream &o, double version=MAGIC_VERSION_FICHIER_DOUBLE)
int ajouter_mg_maillage(MG_MAILLAGE *mgmai)
unsigned long get_id()
MG_TETRA * get_premier_tetra(LISTE_MG_TETRA::iterator &it)
MG_TETRA * get_suivant_tetra(LISTE_MG_TETRA::iterator &it)
unsigned int get_nb_mg_segment(void)
MG_SEGMENT * get_premier_segment(LISTE_MG_SEGMENT::iterator &)
MG_TRIANGLE * get_premier_triangle(LISTE_MG_TRIANGLE::iterator &it)
MG_NOEUD * get_mg_noeudid(unsigned long num)
MG_TRIANGLE * get_suivant_triangle(LISTE_MG_TRIANGLE::iterator &it)
MG_HEXA * get_suivant_hexa(LISTE_MG_HEXA::iterator &it)
MG_TRIANGLE * ajouter_mg_triangle(MG_ELEMENT_TOPOLOGIQUE *topo, class MG_NOEUD *mgnoeud1, class MG_NOEUD *mgnoeud2, class MG_NOEUD *mgnoeud3, int origine, unsigned long num=0)
MG_HEXA * get_premier_hexa(LISTE_MG_HEXA::iterator &it)
MG_NOEUD * get_premier_noeud(LISTE_MG_NOEUD::iterator &it)
MG_SEGMENT * get_suivant_segment(LISTE_MG_SEGMENT::iterator &)
MG_NOEUD * get_suivant_noeud(LISTE_MG_NOEUD::iterator &it)
MG_TETRA * ajouter_mg_tetra(MG_ELEMENT_TOPOLOGIQUE *topo, class MG_NOEUD *mgnoeud1, class MG_NOEUD *mgnoeud2, class MG_NOEUD *mgnoeud3, class MG_NOEUD *mgnoeud4, int origine, unsigned long num=0)
MG_SEGMENT * ajouter_mg_segment(MG_ELEMENT_TOPOLOGIQUE *topo, class MG_NOEUD *mgnoeud1, class MG_NOEUD *mgnoeud2, int origine, double longue=0.0, unsigned long num=0)
MG_NOEUD * ajouter_mg_noeud(MG_ELEMENT_TOPOLOGIQUE *topo, double xx, double yy, double zz, int origine, unsigned long num=0)
int supprimer_mg_tetraid(unsigned long num)
virtual double * get_coord(void)
Definition: mg_noeud.cpp:92
virtual double get_z(void)
Definition: mg_noeud.cpp:87
virtual double get_y(void)
Definition: mg_noeud.cpp:82
virtual double get_x(void)
Definition: mg_noeud.cpp:77
TPL_LISTE_ENTITE< class MG_TRIANGLE * > * get_lien_triangle(void)
Definition: mg_noeud.cpp:153
virtual void change_mg_noeud(MG_NOEUD *notmp)
virtual MG_NOEUD * get_noeud3(void)
virtual MG_NOEUD * get_noeud1(void)
TPL_LISTE_ENTITE< class MG_TETRA * > * get_lien_tetra(void)
virtual MG_NOEUD * get_noeud2(void)
virtual bool est_mince(void)
Definition: mg_volume.cpp:213
virtual void generer_cg_forme_geometrique(void)
void generer_tetra_4node(MG_TETRA *tetra_cutt, TPL_MAP_ENTITE< MG_NOEUD * > lst_node_in, int &nb_tet_4nodes_accepted)
MG_GEOMETRIE * geo_virtu
virtual ~MSTRUCT_VES_DECOUP(void)
void generer_tetra_6node_4seg(MG_TETRA *tetra_cutt, TPL_MAP_ENTITE< MG_NOEUD * > lst_node_in, TPL_LISTE_ENTITE< MG_NOEUD * > lst_node_in_second, int &nb_tet_6nodes_accepted, int &nb_tet_6nodes_accepted_2original, std::map< MG_NOEUD *, MG_NOEUD * > map_correspondance_node_node_out)
MG_MAILLAGE * mai_virtu
void bouge_noeud_proche(int plan_nb, double eps_check)
void get_lst_tetra_cut(int plan_nb, TPL_MAP_ENTITE< MG_TETRA * > &lst_tet_cut, TPL_MAP_ENTITE< MG_TETRA * > &lst_tet_cut_to_delete)
void generer_tetra_5node(MG_TETRA *tetra_cutt, TPL_MAP_ENTITE< MG_NOEUD * > lst_node_in, int &nb_tet_5nodes_accepted, std::map< MG_NOEUD *, MG_NOEUD * > map_correspondance_node_node_in)
void generer_tetra_6node_3seg(MG_TETRA *tetra_cutt, TPL_MAP_ENTITE< MG_NOEUD * > lst_node_in, TPL_LISTE_ENTITE< MG_NOEUD * > lst_node_in_second, int &nb_tet_6nodes_accepted, int &nb_tet_6nodes_accepted_3original, int &nb_tet_6nodes_accepted_3original_deadend)
MSTRUCT_VES_DECOUP(char *fichier_ves)
MG_GESTIONNAIRE * gestionnaire_virtu
virtual int generer_maillage(OT_PARAMETRES *param, FCT_TAILLE_FEM_SOLUTION *carte)
fonction_affiche * fonc_affiche
Definition: mstruct_ves.h:128
virtual void change_mgcg_assemblage(MG_CG_ASSEMBLAGE *mgcg_assemblage)
virtual void change_temps_maillage(double temps)
virtual void affiche(char *message)
MG_GESTIONNAIRE * m_mg_gestionnaire
Definition: mstruct_ves.h:120
virtual void change_mg_maillage(MG_MAILLAGE *mg_maillage)
MG_CG_MODELE * m_mgcg_modele
Definition: mstruct_ves.h:121
virtual void change_mg_geometrie(MG_GEOMETRIE *mg_geometrie)
MG_GEOMETRIE * m_mg_geometrie
Definition: mstruct_ves.h:123
virtual double get_temps_maillage(void)
MG_MAILLAGE * m_mg_maillage
Definition: mstruct_ves.h:124
int maill_struct(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, int n, int m, int k)
virtual void change_boite_3D_ves(BOITE_3D boite3D)
virtual void change_mgcg_modele(MG_CG_MODELE *mgcg_modele)
virtual void change_mg_gestionnaire(MG_GESTIONNAIRE *gest)
static int egal(double a, double b, double eps)
static double qualite_tetra(double *noeud1, double *noeud2, double *noeud3, double *noeud4)
static double Dist3D_Point_Plan(double *norm, double *root, double *pnt)
Definition: ot_cpu.h:32
void initialise(void)
Definition: ot_cpu.cpp:49
double ajouter_etape(std::string nom)
Definition: ot_cpu.cpp:58
void get_etape(int num, std::string &nom, double &temps)
Definition: ot_cpu.cpp:71
static int est_dans_mg_volume(double *xyz, MG_VOLUME *mgvolume)
double get_valeur(std::string chaine, int num=0)
virtual double get_z(void) const
virtual void change_x(double x)
virtual double get_y(void) const
virtual double get_x(void) const
virtual void inserer(A a)
Definition: tpl_grille.h:274
virtual void rechercher(BOITE_3D bt, TPL_MAP_ENTITE< A > &liste_entite_trouve)
Definition: tpl_grille.h:202
virtual void initialiser(double xmin, double ymin, double zmin, double xmax, double ymax, double zmax, int nb_pasx, int nb_pasy, int nb_pasz)
Definition: tpl_grille.h:142
virtual void vide(void)
virtual X get(int num)
virtual void ajouter(X x)
virtual int get_nb(void)
virtual X get_premier(ITERATEUR &it)
virtual int get_nb(void)
virtual X get(int num)
virtual X get_suivant(ITERATEUR &it)
virtual void ajouter(X x)
virtual void vide(void)
virtual int existe(X x)
int get_nb(void)
Definition: tpl_set.h:78
X get_premier(ITERATEUR &it)
Definition: tpl_set.h:99
void ajouter(X x)
Definition: tpl_set.h:55
X get_suivant(ITERATEUR &it)
Definition: tpl_set.h:107
const int OK
Definition: mg_definition.h:38
const int FAIL
Definition: mg_definition.h:39
#define m(i, j)