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  printf("Maillage coup\n");
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  count_seg_in=0; count_seg_out=0; count_seg_cut=0; count_seg_out_one_noded=0;
404 
405  std::map<MG_SEGMENT*,MG_NOEUD*> map_correspondance_segment_node;
406  std::map<MG_NOEUD*,MG_SEGMENT*> map_correspondance_node_segment;
407 
408  //===================== Displace nodes too close to edge ==================
409  //=========================================================================
410 
411  bouge_noeud_proche(nb_plane,eps_check);
412 
413  //=====================LOOP over SEGMENTs (2nd Loop)========================
414  //==========================================================================
415  LISTE_MG_SEGMENT::iterator it_seg;
416  for(MG_SEGMENT* seg=m_mg_maillage->get_premier_segment(it_seg);seg!=NULL;seg=m_mg_maillage->get_suivant_segment(it_seg))
417  {
418  OT_VECTEUR_3D coord_no1_seg= seg->get_noeud1()->get_coord();
419  OT_VECTEUR_3D coord_no2_seg= seg->get_noeud2()->get_coord();
420 
421  //================================== distmn : distance from node number m from plane number n =============================
422  //=========================================================================================================================
423  dist[0][0]=check.Dist3D_Point_Plan(norm1Coord,P1Coord,coord_no1_seg);
424  dist[1][0]=check.Dist3D_Point_Plan(norm1Coord,P1Coord,coord_no2_seg);
425 
426  dist[0][1]=check.Dist3D_Point_Plan(norm2Coord,P2Coord,coord_no1_seg);
427  dist[1][1]=check.Dist3D_Point_Plan(norm2Coord,P2Coord,coord_no2_seg);
428 
429  dist[0][2]=check.Dist3D_Point_Plan(norm3Coord,P3Coord,coord_no1_seg);
430  dist[1][2]=check.Dist3D_Point_Plan(norm3Coord,P3Coord,coord_no2_seg);
431 
432  dist[0][3]=check.Dist3D_Point_Plan(norm4Coord,P4Coord,coord_no1_seg);
433  dist[1][3]=check.Dist3D_Point_Plan(norm4Coord,P4Coord,coord_no2_seg);
434 
435  dist[0][4]=check.Dist3D_Point_Plan(norm5Coord,P5Coord,coord_no1_seg);
436  dist[1][4]=check.Dist3D_Point_Plan(norm5Coord,P5Coord,coord_no2_seg);
437 
438  dist[0][5]=check.Dist3D_Point_Plan(norm6Coord,P6Coord,coord_no1_seg);
439  dist[1][5]=check.Dist3D_Point_Plan(norm6Coord,P6Coord,coord_no2_seg);
440  //=======================================================================================================
441  //==================Segment is INSIDE or On the Plane====================================================
442  if(dist[0][nb_plane]>=0 && dist[1][nb_plane]>=0)
443  {
444  count_seg_in=count_seg_in+1;
445  lstsegin.ajouter(lstsegin.get(it_seg));
446  }
447  //======================================================================================================
448  //====================Segment is OUTSIDE=================================================================
449 
450  else if(dist[0][nb_plane]<0 && dist[1][nb_plane]<0)
451  {
452  count_seg_out=count_seg_out+1;
453  lstsegout.ajouter(lstsegout.get(it_seg));
454  }
455  //======================================================================================================
456  //====================================Segment is CUT with one of SIX PLANES==============================
457 
458  else if((dist[0][nb_plane]<0 && dist[1][nb_plane]>0) || (dist[0][nb_plane]>0 && dist[1][nb_plane]<0))
459  {
460  segment_line[0]=coord_no2_seg[0]-coord_no1_seg[0];
461  segment_line[1]=coord_no2_seg[1]-coord_no1_seg[1];
462  segment_line[2]=coord_no2_seg[2]-coord_no1_seg[2];
463 
464  if(nb_plane==0)
465  {
466  if (((norm1Coord[0]*segment_line[0])+(norm1Coord[1]*segment_line[1])+(norm1Coord[2]*segment_line[2]))==0) return FAIL;
467  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]));
468 
469  p_cut[0]=coord_no1_seg[0]+(t*segment_line[0]);
470  p_cut[1]=coord_no1_seg[1]+(t*segment_line[1]);
471  p_cut[2]=coord_no1_seg[2]+(t*segment_line[2]);
472 
473  //========================To check if it is on the plane or just too close==================================
474 
475  if((0<p_cut[0]) && (p_cut[0]<eps_p_cut))
476  {
477  p_cut[0]=0;
478  }
479 
480  if((-eps_p_cut < p_cut[0]) && (p_cut[0]<0))
481 
482  {
483  p_cut[0]=0;
484 
485  }
486  }
487  if(nb_plane==1)
488  {
489  if (((norm2Coord[0]*segment_line[0])+(norm2Coord[1]*segment_line[1])+(norm2Coord[2]*segment_line[2]))==0) return FAIL;
490  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]));
491 
492  p_cut[0]=coord_no1_seg[0]+(t*segment_line[0]);
493  p_cut[1]=coord_no1_seg[1]+(t*segment_line[1]);
494  p_cut[2]=coord_no1_seg[2]+(t*segment_line[2]);
495 
496  if((0<p_cut[1]) && (p_cut[1]<eps_p_cut))
497  {
498  p_cut[1]=0;
499  }
500 
501  if((-eps_p_cut < p_cut[1]) && (p_cut[1]<0))
502  {
503  p_cut[1]=0;
504 
505 
506  }
507  }
508  if(nb_plane==2)
509  {
510  if (((norm3Coord[0]*segment_line[0])+(norm3Coord[1]*segment_line[1])+(norm3Coord[2]*segment_line[2]))==0) return FAIL;
511  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]));
512 
513  p_cut[0]=coord_no1_seg[0]+(t*segment_line[0]);
514  p_cut[1]=coord_no1_seg[1]+(t*segment_line[1]);
515  p_cut[2]=coord_no1_seg[2]+(t*segment_line[2]);
516 
517  if((0<p_cut[2]) && (p_cut[2]<eps_p_cut))
518  {
519  p_cut[2]=0;
520  }
521 
522  if((-eps_p_cut < p_cut[2]) && (p_cut[2]<0))
523  {
524  p_cut[2]=0;
525 
526  }
527  }
528  if(nb_plane==3)
529  {
530  if (((norm4Coord[0]*segment_line[0])+(norm4Coord[1]*segment_line[1])+(norm4Coord[2]*segment_line[2]))==0) return FAIL;
531  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]));
532 
533  p_cut[0]=coord_no1_seg[0]+(t*segment_line[0]);
534  p_cut[1]=coord_no1_seg[1]+(t*segment_line[1]);
535 
536  p_cut[2]=coord_no1_seg[2]+(t*segment_line[2]);
537 
538  if((1<p_cut[0]) && (p_cut[0]<1+eps_p_cut))
539  {
540  p_cut[0]=1;
541  }
542 
543  if((1-eps_p_cut < p_cut[0]) && (p_cut[0]<1))
544  {
545  p_cut[0]=1;
546 
547  }
548  }
549  if(nb_plane==4)
550  {
551  if (((norm5Coord[0]*segment_line[0])+(norm5Coord[1]*segment_line[1])+(norm5Coord[2]*segment_line[2]))==0) return FAIL;
552  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]));
553 
554  p_cut[0]=coord_no1_seg[0]+(t*segment_line[0]);
555  p_cut[1]=coord_no1_seg[1]+(t*segment_line[1]);
556  p_cut[2]=coord_no1_seg[2]+(t*segment_line[2]);
557 
558  if((1<p_cut[1]) && (p_cut[1]<1+eps_p_cut))
559  {
560  p_cut[1]=1;
561  }
562 
563  if((1-eps_p_cut < p_cut[1]) && (p_cut[1]<1))
564  {
565  p_cut[1]=1;
566 
567  }
568  }
569  if(nb_plane==5)
570  {
571  if (((norm6Coord[0]*segment_line[0])+(norm6Coord[1]*segment_line[1])+(norm6Coord[2]*segment_line[2]))==0) return FAIL;
572  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]));
573 
574  p_cut[0]=coord_no1_seg[0]+(t*segment_line[0]);
575  p_cut[1]=coord_no1_seg[1]+(t*segment_line[1]);
576  p_cut[2]=coord_no1_seg[2]+(t*segment_line[2]);
577 
578  if((1<p_cut[2]) && (p_cut[2]<1+eps_p_cut))
579  {
580  p_cut[2]=1;
581  }
582 
583  if((1-eps_p_cut < p_cut[2]) && (p_cut[2]<1))
584  {
585  p_cut[2]=1;
586 
587  }
588  }
589  count_seg_cut=count_seg_cut+1;
590  lstsegcut.ajouter(lstsegcut.get(it_seg));
591 
592  MG_NOEUD* node_added=new MG_NOEUD(seg->get_lien_topologie(),p_cut[0],p_cut[1],p_cut[2],MAGIC::ORIGINE::MAILLEUR_AUTO);
593  // MG_NOEUD* node_added=new MG_NOEUD(topo_new_node,p_cut[0],p_cut[1],p_cut[2],MAGIC::ORIGINE::MAILLEUR_AUTO);
594 
595  m_mg_maillage->ajouter_mg_noeud(node_added);
596  node_added->get_lien_topologie()->get_lien_maillage()->ajouter(node_added);
597 
598  lst_node_added.ajouter(node_added);
599  //------------------------------pairing this node to its segment----------------------------------
600  map_correspondance_segment_node.insert(std::pair<MG_SEGMENT*,MG_NOEUD*>(seg,node_added));
601  map_correspondance_node_segment.insert(std::pair<MG_NOEUD*,MG_SEGMENT*>(node_added,seg));
602  }
603  //======================================================================================================
604  //=======================Segment node is on one of SIX PLANES and the other is outside===================
605  else
606  {
607  if(dist[0][nb_plane]>=0)
608  {
609  count_seg_out_one_noded=count_seg_out_one_noded+1;
610  lstsegoutbutonenoded.ajouter(lstsegoutbutonenoded.get(it_seg));
611  }
612  else if(dist[1][nb_plane]>=0)
613  {
614  count_seg_out_one_noded=count_seg_out_one_noded+1;
615  lstsegoutbutonenoded.ajouter(lstsegoutbutonenoded.get(it_seg));
616  }
617 
618 
619  }
620 
621  }
622  if(count_seg_in+count_seg_out+count_seg_cut+count_seg_out_one_noded!=m_mg_maillage->get_nb_mg_segment()) return FAIL;
623 
624 
625  //==========================================================================
626  //===================================to FIND nb of TETRAs cut===============
627 
628  get_lst_tetra_cut(nb_plane,lst_tet_cut,lst_tet_cut_to_delete);
629  // printf(" Number of %d tetr\n",lst_tet_cut.get_nb());
630 
631  //==========================================================================
632  //=======================================Definitions========================
633  //==========================================================================
634 
635  int nb_tet_4nodes=0;
636  int nb_tet_4nodes_accepted=0;
637 
638  int nb_prism_6nodes_3original=0;
639  int nb_tet_6nodes_accepted=0;
640  int nb_tet_6nodes_accepted_3original=0;
641  int nb_tet_6nodes_accepted_3original_deadend=0;
642  int nb_prism_6nodes_2original=0;
643  int nb_prism_5nodes_accepted=0;
644  int nb_tet_6nodes_accepted_2original=0;
645  int nb_tet_5nodes_accepted=0;
646 
647 
649  std::map<MG_NOEUD*,MG_NOEUD*> map_correspondance_node_node_in;
650 
651  std::map<MG_NOEUD*,MG_NOEUD*> map_correspondance_node_node_out;
652  LISTE_MG_TETRA::iterator it_tet_cutt;
653 
654  //===================================================================================================
655  //=======================================NEXT LOOP to CUT TETRAs=====================================
656  //===================================================================================================
657  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))
658  {
659  nb_segments_cut=0;
660 
661 
662  lst_seg_tetra.ajouter(tetra_cutt->get_triangle1()->get_segment1());
663  lst_seg_tetra.ajouter(tetra_cutt->get_triangle1()->get_segment2());
664  lst_seg_tetra.ajouter(tetra_cutt->get_triangle1()->get_segment3());
665 
666  lst_seg_tetra.ajouter(tetra_cutt->get_triangle2()->get_segment1());
667  lst_seg_tetra.ajouter(tetra_cutt->get_triangle2()->get_segment2());
668  lst_seg_tetra.ajouter(tetra_cutt->get_triangle2()->get_segment3());
669 
670  lst_seg_tetra.ajouter(tetra_cutt->get_triangle3()->get_segment1());
671  lst_seg_tetra.ajouter(tetra_cutt->get_triangle3()->get_segment2());
672  lst_seg_tetra.ajouter(tetra_cutt->get_triangle3()->get_segment3());
673 
674  lst_seg_tetra.ajouter(tetra_cutt->get_triangle4()->get_segment1());
675  lst_seg_tetra.ajouter(tetra_cutt->get_triangle4()->get_segment2());
676  lst_seg_tetra.ajouter(tetra_cutt->get_triangle4()->get_segment3());
677 
678 
679  LISTE_MG_SEGMENT::iterator it_segment;
680  for(MG_SEGMENT* segment_tetra=lst_seg_tetra.get_premier(it_segment);segment_tetra!=NULL;segment_tetra=lst_seg_tetra.get_suivant(it_segment))
681  {
682 
683  if(lstsegcut.existe(segment_tetra))
684  {
685  nb_segments_cut=nb_segments_cut+1;
686  lst_node_in.ajouter(map_correspondance_segment_node.find(segment_tetra)->second);
687  lst_node_in_second.ajouter(map_correspondance_segment_node.find(segment_tetra)->second);
688  lst_node_create_tetra.ajouter(map_correspondance_segment_node.find(segment_tetra)->second);
689 
690  if(nb_plane==0)
691  {
692  if(check.Dist3D_Point_Plan(norm1Coord,P1Coord,segment_tetra->get_noeud1()->get_coord())>=0)
693  {
694  lst_node_in.ajouter(segment_tetra->get_noeud1());
695 
696  lst_node_in_second.ajouter(segment_tetra->get_noeud1());
697 
698  //---------------------------------pairing this node to node in the middle------------------
699  map_correspondance_node_node_out.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud2()));
700 
701  map_correspondance_node_node_in.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud1()));
702  }
703  //else
704  if(check.Dist3D_Point_Plan(norm1Coord,P1Coord,segment_tetra->get_noeud2()->get_coord())>=0)
705  {
706  lst_node_in.ajouter(segment_tetra->get_noeud2());
707  lst_node_in_second.ajouter(segment_tetra->get_noeud2());
708 
709  map_correspondance_node_node_in.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud2()));
710 
711  map_correspondance_node_node_out.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud1()));
712  }
713  }
714  if(nb_plane==1)
715  {
716  if(check.Dist3D_Point_Plan(norm2Coord,P2Coord,segment_tetra->get_noeud1()->get_coord())>=0)
717  {
718 
719  lst_node_in.ajouter(segment_tetra->get_noeud1());
720  lst_node_in_second.ajouter(segment_tetra->get_noeud1());
721  //---------------------------------pairing this node to node in the middle------------------
722 
723  map_correspondance_node_node_in.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud1()));
724 
725  map_correspondance_node_node_out.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud2()));
726  }
727  if(check.Dist3D_Point_Plan(norm2Coord,P2Coord,segment_tetra->get_noeud2()->get_coord())>=0)
728  {
729 
730  lst_node_in.ajouter(segment_tetra->get_noeud2());
731  lst_node_in_second.ajouter(segment_tetra->get_noeud2());
732  //---------------------------------pairing this node to node in the middle------------------
733 
734  map_correspondance_node_node_in.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud2()));
735 
736  map_correspondance_node_node_out.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud1()));
737  }
738  }
739  if(nb_plane==2)
740  {
741  if(check.Dist3D_Point_Plan(norm3Coord,P3Coord,segment_tetra->get_noeud1()->get_coord())>=0)
742 
743  {
744 
745  lst_node_in.ajouter(segment_tetra->get_noeud1());
746  lst_node_in_second.ajouter(segment_tetra->get_noeud1());
747  //---------------------------------pairing this node to node in the middle------------------
748 
749  map_correspondance_node_node_in.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud1()));
750 
751  map_correspondance_node_node_out.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud2()));
752  }
753  if(check.Dist3D_Point_Plan(norm3Coord,P3Coord,segment_tetra->get_noeud2()->get_coord())>=0)
754  {
755 
756  lst_node_in.ajouter(segment_tetra->get_noeud2());
757 
758  lst_node_in_second.ajouter(segment_tetra->get_noeud2());
759  //---------------------------------pairing this node to node in the middle------------------
760 
761  map_correspondance_node_node_in.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud2()));
762 
763  map_correspondance_node_node_out.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud1()));
764  }
765 
766  }
767  if(nb_plane==3)
768  {
769  if(check.Dist3D_Point_Plan(norm4Coord,P4Coord,segment_tetra->get_noeud1()->get_coord())>=0)
770  {
771 
772  lst_node_in.ajouter(segment_tetra->get_noeud1());
773  lst_node_in_second.ajouter(segment_tetra->get_noeud1());
774 
775  //---------------------------------pairing this node to node in the middle------------------
776 
777  map_correspondance_node_node_in.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud1()));
778 
779  map_correspondance_node_node_out.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud2()));
780  }
781  if(check.Dist3D_Point_Plan(norm4Coord,P4Coord,segment_tetra->get_noeud2()->get_coord())>=0)
782  {
783 
784 
785  lst_node_in.ajouter(segment_tetra->get_noeud2());
786  lst_node_in_second.ajouter(segment_tetra->get_noeud2());
787  //---------------------------------pairing this node to node in the middle------------------
788 
789  map_correspondance_node_node_in.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud2()));
790 
791  map_correspondance_node_node_out.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud1()));
792  }
793  }
794  if(nb_plane==4)
795  {
796  if(check.Dist3D_Point_Plan(norm5Coord,P5Coord,segment_tetra->get_noeud1()->get_coord())>=0)
797  {
798 
799  lst_node_in.ajouter(segment_tetra->get_noeud1());
800  lst_node_in_second.ajouter(segment_tetra->get_noeud1());
801  //---------------------------------pairing this node to node in the middle------------------
802 
803  map_correspondance_node_node_in.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud1()));
804 
805  map_correspondance_node_node_out.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud2()));
806  }
807  if(check.Dist3D_Point_Plan(norm5Coord,P5Coord,segment_tetra->get_noeud2()->get_coord())>=0)
808 
809  {
810 
811  lst_node_in.ajouter(segment_tetra->get_noeud2());
812  lst_node_in_second.ajouter(segment_tetra->get_noeud2());
813  //---------------------------------pairing this node to node in the middle------------------
814 
815  map_correspondance_node_node_in.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud2()));
816 
817  map_correspondance_node_node_out.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud1()));
818  }
819  }
820  if(nb_plane==5)
821  {
822  if(check.Dist3D_Point_Plan(norm6Coord,P6Coord,segment_tetra->get_noeud1()->get_coord())>=0)
823  {
824 
825  lst_node_in.ajouter(segment_tetra->get_noeud1());
826  lst_node_in_second.ajouter(segment_tetra->get_noeud1());
827  //---------------------------------pairing this node to node in the middle------------------
828 
829  map_correspondance_node_node_in.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud1()));
830 
831  map_correspondance_node_node_out.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud2()));
832  }
833  if(check.Dist3D_Point_Plan(norm6Coord,P6Coord,segment_tetra->get_noeud2()->get_coord())>=0)
834  {
835 
836  lst_node_in.ajouter(segment_tetra->get_noeud2());
837  lst_node_in_second.ajouter(segment_tetra->get_noeud2());
838  //---------------------------------pairing this node to node in the middle------------------
839 
840  map_correspondance_node_node_in.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud2()));
841 
842  map_correspondance_node_node_out.insert(std::pair<MG_NOEUD*,MG_NOEUD*>(map_correspondance_segment_node.find(segment_tetra)->second,segment_tetra->get_noeud1()));
843  }
844  }
845  }
846  if(lstsegoutbutonenoded.existe(segment_tetra))
847  {
848 
849  if(nb_plane==0)
850  {
851  if(check.Dist3D_Point_Plan(norm1Coord,P1Coord,segment_tetra->get_noeud1()->get_coord())>=0)
852  {
853  nb_segments_cut=nb_segments_cut+1;
854 
855  lst_node_in.ajouter(segment_tetra->get_noeud1());
856  lst_node_in_second.ajouter(segment_tetra->get_noeud1());
857  }
858  else if(check.Dist3D_Point_Plan(norm1Coord,P1Coord,segment_tetra->get_noeud2()->get_coord())>=0)
859  {
860  nb_segments_cut=nb_segments_cut+1;
861  lst_node_in.ajouter(segment_tetra->get_noeud2());
862  lst_node_in_second.ajouter(segment_tetra->get_noeud2());
863 
864  }
865 
866 
867  else{
868  printf("ERROR\n\n");
869  }
870  }
871  if(nb_plane==1)
872  {
873  if(check.Dist3D_Point_Plan(norm2Coord,P2Coord,segment_tetra->get_noeud1()->get_coord())>=0)
874  {
875 
876  nb_segments_cut=nb_segments_cut+1;
877 
878  lst_node_in.ajouter(segment_tetra->get_noeud1());
879  lst_node_in_second.ajouter(segment_tetra->get_noeud1());
880  }
881 
882  else if(check.Dist3D_Point_Plan(norm2Coord,P2Coord,segment_tetra->get_noeud2()->get_coord())>=0)
883  {
884  nb_segments_cut=nb_segments_cut+1;
885 
886  lst_node_in.ajouter(segment_tetra->get_noeud2());
887  lst_node_in_second.ajouter(segment_tetra->get_noeud2());
888  }
889 
890  else{
891  printf("ERROR\n\n");
892  }
893  }
894  if(nb_plane==2)
895  {
896  if(check.Dist3D_Point_Plan(norm3Coord,P3Coord,segment_tetra->get_noeud1()->get_coord())>=0)
897  {
898 
899  nb_segments_cut=nb_segments_cut+1;
900 
901  lst_node_in.ajouter(segment_tetra->get_noeud1());
902  lst_node_in_second.ajouter(segment_tetra->get_noeud1());
903  }
904 
905  else if(check.Dist3D_Point_Plan(norm3Coord,P3Coord,segment_tetra->get_noeud2()->get_coord())>=0)
906  {
907  nb_segments_cut=nb_segments_cut+1;
908 
909 
910  lst_node_in.ajouter(segment_tetra->get_noeud2());
911  lst_node_in_second.ajouter(segment_tetra->get_noeud2());
912  }
913 
914  else{
915  printf("ERROR\n\n");
916  }
917 
918  }
919  if(nb_plane==3)
920  {
921  if(check.Dist3D_Point_Plan(norm4Coord,P4Coord,segment_tetra->get_noeud1()->get_coord())>=0)
922  {
923 
924  nb_segments_cut=nb_segments_cut+1;
925 
926 
927  lst_node_in.ajouter(segment_tetra->get_noeud1());
928  lst_node_in_second.ajouter(segment_tetra->get_noeud1());
929  }
930 
931  else if(check.Dist3D_Point_Plan(norm4Coord,P4Coord,segment_tetra->get_noeud2()->get_coord())>=0)
932  {
933  nb_segments_cut=nb_segments_cut+1;
934 
935  lst_node_in.ajouter(segment_tetra->get_noeud2());
936  lst_node_in_second.ajouter(segment_tetra->get_noeud2());
937  }
938 
939  else{
940  printf("ERROR\n\n");
941  }
942  }
943  if(nb_plane==4)
944  {
945  if(check.Dist3D_Point_Plan(norm5Coord,P5Coord,segment_tetra->get_noeud1()->get_coord())>=0)
946  {
947 
948  nb_segments_cut=nb_segments_cut+1;
949 
950  lst_node_in.ajouter(segment_tetra->get_noeud1());
951  lst_node_in_second.ajouter(segment_tetra->get_noeud1());
952  }
953 
954  else if(check.Dist3D_Point_Plan(norm5Coord,P5Coord,segment_tetra->get_noeud2()->get_coord())>=0)
955  { nb_segments_cut=nb_segments_cut+1;
956 
957  lst_node_in.ajouter(segment_tetra->get_noeud2());
958  lst_node_in_second.ajouter(segment_tetra->get_noeud2());
959  }
960 
961  else{
962  printf("ERROR\n\n");
963  }
964  }
965  if(nb_plane==5)
966  {
967  if(check.Dist3D_Point_Plan(norm6Coord,P6Coord,segment_tetra->get_noeud1()->get_coord())>=0)
968  {
969 
970  nb_segments_cut=nb_segments_cut+1;
971 
972  lst_node_in.ajouter(segment_tetra->get_noeud1());
973  lst_node_in_second.ajouter(segment_tetra->get_noeud1());
974  }
975 
976  else if(check.Dist3D_Point_Plan(norm6Coord,P6Coord,segment_tetra->get_noeud2()->get_coord())>=0)
977  {
978  nb_segments_cut=nb_segments_cut+1;
979 
980  lst_node_in.ajouter(segment_tetra->get_noeud2());
981  lst_node_in_second.ajouter(segment_tetra->get_noeud2());
982  }
983 
984  else{
985  printf("ERROR\n\n");
986  }
987  }
988  }
989  }
990 
991  //==================================================================================================================
992  //=================================CREATE TETRA with NEW NODES in LIST lst_node_in==================================
993  //==================================================================================================================
994 
995  if (lst_node_in.get_nb()==4)
996  {
997  nb_tet_4nodes=nb_tet_4nodes+1;
998  generer_tetra_4node(tetra_cutt,lst_node_in,nb_tet_4nodes_accepted);
999  }
1000  else if ((lst_node_in.get_nb()==6) && (nb_segments_cut==3))
1001  {
1002 
1003  nb_prism_6nodes_3original=nb_prism_6nodes_3original+1;
1004  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);
1005 
1006  //----------------------------------------------------
1007  }
1008  else if ((lst_node_in.get_nb()==6) && (nb_segments_cut==4))
1009  {
1010  nb_prism_6nodes_2original=nb_prism_6nodes_2original+1;
1011  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);
1012  }
1013  else if (lst_node_in.get_nb()==5)
1014  {
1015  nb_prism_5nodes_accepted= nb_prism_5nodes_accepted+1;
1016  generer_tetra_5node(tetra_cutt,lst_node_in,nb_tet_5nodes_accepted,map_correspondance_node_node_in);
1017  }
1018  else
1019  {
1020  printf("oops %d nb of nodes\n",lst_node_in.get_nb());
1021  return FAIL;
1022  }
1023 
1024 
1025  map_correspondance_node_node_in.clear();
1026  map_correspondance_node_node_out.clear();
1027  lst_seg_tetra.vide();
1028  lst_node_in.vide();
1029  lst_node_in_second.vide();
1030  lst_tri_already_existed.vide();
1031 
1032  }
1033 
1034 
1035  if(nb_tet_4nodes!=nb_tet_4nodes_accepted)
1036  {
1037  printf(" 4node problem \n\n");
1038  return FAIL;
1039  }
1040  if(nb_tet_6nodes_accepted_2original!=nb_prism_6nodes_2original*3)
1041  {
1042  printf(" 6-2node problem \n\n");
1043  return FAIL;
1044  }
1045  if(nb_tet_6nodes_accepted_3original!=((nb_prism_6nodes_3original-(nb_tet_6nodes_accepted_3original_deadend/8))*3))
1046  {
1047  printf(" 6-3 node problem \n\n");
1048  return FAIL;
1049  }
1050  if(nb_tet_5nodes_accepted!=nb_prism_5nodes_accepted*2)
1051  {
1052  printf(" 5node problem \n\n");
1053  return FAIL;
1054  }
1055  //------------------------------------------------------------------------------
1056  lstsegcut.vide();
1057  lstsegin.vide();
1058  lstsegout.vide();
1059  lstsegoutbutonenoded.vide();
1060  lst_node_create_tetra.vide();
1061  lst_node_added.vide();
1062  lst_tet_cut.vide();
1063  // lst_tet_in.vide();
1064  // lst_tet_edge_in.vide();
1065  // lst_tet_edge_out.vide();
1066 
1067  //=======================================Remove cut and outside tetras=================================================
1068  LISTE_MG_TETRA::iterator it_tet_cut;
1069  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))
1070  {
1071 
1072  m_mg_maillage->supprimer_mg_tetraid(tetra_cut->get_id());
1073  }
1074 
1075  lst_tet_cut_to_delete.vide();
1076  map_correspondance_segment_node.clear();
1077  map_correspondance_node_segment.clear();
1078  if( nb_plane==0)
1079  {
1080  m_mg_gestionnaire->enregistrer("cut_plane_0.magic");
1081  }
1082 
1083  if( nb_plane==1)
1084  {
1085  m_mg_gestionnaire->enregistrer("cut_plane_1.magic");
1086  }
1087  if( nb_plane==2)
1088  {
1089  m_mg_gestionnaire->enregistrer("cut_plane_2.magic");
1090  }
1091  if( nb_plane==3)
1092  {
1093  m_mg_gestionnaire->enregistrer("cut_plane_3.magic");
1094  }
1095  if( nb_plane==4)
1096  {
1097  m_mg_gestionnaire->enregistrer("cut_plane_4.magic");
1098  }
1099  if( nb_plane==5)
1100  {
1101  m_mg_gestionnaire->enregistrer("cut_plane_5.magic");
1102  }
1103  }
1104 
1105  //======================================================================================
1106  //---------------------------------End OF 6 PLANES LOOP---------------------------------
1107  //======================================================================================
1108  // int nbtetra22=m_mg_gestionnaire->get_mg_maillage(0)->get_nb_mg_tetra();
1109  // int nbtri22=m_mg_maillage->get_nb_mg_triangle();
1110  // int nbsegment22=m_mg_maillage->get_nb_mg_segment();
1111  // int nbnode22=m_mg_maillage->get_nb_mg_noeud();
1112  // printf(" Number of %d nodes, %d segments, %d triangles, %d tetra\n",nbnode22,nbsegment22,nbtri22,nbtetra22);
1113 
1114  //=============================GENERATION of VIRTUAL GEOMETRY==============================================
1115  //=========================================================================================================
1117 
1118  //=================Mesh Optimization====================================================
1119  //=====================================================================
1120  int nb_element_3D_1=0;
1121  double qualite_min_3D_1=std::numeric_limits< double >::max();
1122  double qualite_max_3D_1=std::numeric_limits< double >::min();
1123  double qualite_moyenne_3D_1=0;
1124  std::vector<double> vector_qualite_3D_1;
1125 
1126  LISTE_MG_TETRA::iterator it_tetra_1;
1127  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))
1128  {
1129  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());
1130  vector_qualite_3D_1.push_back(qual);
1131  if(qual<qualite_min_3D_1) qualite_min_3D_1=qual;
1132  if(qual>qualite_max_3D_1) qualite_max_3D_1=qual;
1133 
1134  qualite_moyenne_3D_1+=qual;
1135  nb_element_3D_1++;
1136  if(qual<0.000001)
1137  {
1138  printf("quality !!!!!!!!!!!!\n\n");
1139  return FAIL;
1140  }
1141  }
1142  qualite_moyenne_3D_1 = qualite_moyenne_3D_1/nb_element_3D_1;
1143  // printf(" Quality moyen %f , minimum %f, maximum %f\n",qualite_moyenne_3D_1, qualite_min_3D_1,qualite_max_3D_1);
1144 
1145 
1146  LISTE_MG_SEGMENT::iterator it_s;
1147  for(MG_SEGMENT* segg=mai_virtu->get_premier_segment(it_s);segg!=NULL;segg=mai_virtu->get_suivant_segment(it_s))
1148  {
1149  // printf("%lu jnjnlnlklk\n\n",segg->get_id());
1150  if(segg->get_lien_topologie()==NULL)
1151  {
1152  printf("quality !!!!!!!!!!!!\n\n");
1153  }
1154 }
1155 
1156 
1157 
1158  //-------------------------------------------------------------------------------
1159  printf(" Optimisation du maillage coupe\n");
1160  int niveau_optimisation = (int)param->get_valeur((char*)"Niveau_opt_3d");
1161  char mess[255];
1162 
1163 
1164 
1165 
1166  for(int i=0;i<geo_virtu->get_nb_mg_volume();i++)
1167  {
1168  MG_VOLUME *mgvol=geo_virtu->get_mg_volume(i);
1169 
1170  MAILLEUR3D_OPTIMISATION_GEOMETRIE_VIRTUELLE opt(mai_virtu,niveau_optimisation);
1172  opt.optimise(mgvol);
1173  }
1174 
1175  //----------------------------------------------------------------------
1176  int nb_element_3D=0;
1177  double qualite_min_3D=std::numeric_limits< double >::max();
1178  double qualite_max_3D=std::numeric_limits< double >::min();
1179  double qualite_moyenne_3D=0;
1180  std::vector<double> vector_qualite_3D;
1181 
1182  LISTE_MG_TETRA::iterator it_tetra;
1183  for(MG_TETRA* tet=mai_virtu->get_premier_tetra(it_tetra);tet!=NULL;tet=mai_virtu->get_suivant_tetra(it_tetra))
1184  {
1185 
1186  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());
1187  vector_qualite_3D.push_back(qual);
1188 
1189  if(qual<qualite_min_3D) qualite_min_3D=qual;
1190  if(qual>qualite_max_3D) qualite_max_3D=qual;
1191  qualite_moyenne_3D+=qual;
1192  nb_element_3D++;
1193 
1194  }
1195  qualite_moyenne_3D = qualite_moyenne_3D/nb_element_3D;
1196  printf(" Qualite moyen %f, minimum %f, maximum %f\n",qualite_moyenne_3D, qualite_min_3D,qualite_max_3D);
1197 
1198 
1199  // LISTE_MG_SEGMENT::iterator it_seg;
1200  // for (MG_SEGMENT* seg=mai_virtu->get_premier_segment(it_seg);seg!=NULL;seg=mai_virtu->get_suivant_segment(it_seg))
1201  // {
1202  // if (seg->get_lien_topologie()!=NULL)
1203  // if (seg->get_lien_topologie()->get_dimension()!=1)
1204  // seg->change_lien_topologie2(NULL);
1205  // }
1206  // LISTE_MG_SEGMENT::iterator it_s;
1207 // for(MG_SEGMENT* segg=mai_virtu->get_premier_segment(it_s);segg!=NULL;segg=mai_virtu->get_suivant_segment(it_s))
1208  // {
1209  // printf("%lu jnjnlnlklk\n\n",segg->get_id());
1210  // if(segg->get_lien_topologie()==NULL)
1211  // {
1212  // printf("quality !!!!!!!!!!!!\n\n");
1213  // }
1214 //}
1215  // gestionnaire_virtu->enregistrer("virtufnallll.magic");
1216 
1217 
1218 
1219  ot_cpu.ajouter_etape((char*)"generation_maillage");
1220  double temps_generation_maillage;
1221  ot_cpu.get_etape((char*)"generation_maillage",temps_generation_maillage);
1222  change_temps_maillage(get_temps_maillage()+temps_generation_maillage);
1223  return OK;
1224 
1225 
1226 }
1227 void MSTRUCT_VES_DECOUP::bouge_noeud_proche(int plan_nb,double eps_check)
1228  {
1230  double dist[2][6];
1231 
1232  //Plane x=0
1233  double P1Coord[3]={0.0,0.5,0.5};
1234  double norm1Coord[3]={1.0,0.0,0.0};
1235  //Plane y=0
1236  double P2Coord[3]={0.5,0.0,0.5};
1237  double norm2Coord[3]={0.0,1.0,0.0};
1238  //Plane z=0
1239  double P3Coord[3]={0.5,0.5,0.0};
1240  double norm3Coord[3]={0.0,0.0,1.0};
1241  //Plane x=1
1242  double P4Coord[3]={1.0,0.5,0.5};
1243  double norm4Coord[3]={-1.0,0.0,0.0};
1244  //Plane y=1
1245  double P5Coord[3]={0.5,1.0,0.5};
1246  double norm5Coord[3]={0.0,-1.0,0.0};
1247  //Plane z=1
1248  double P6Coord[3]={0.5,0.5,1.0};
1249  double norm6Coord[3]={0.0,0.0,-1.0};
1250  double t;
1251  double segment_line[3];
1252 
1253 
1254  LISTE_MG_SEGMENT::iterator it_seg;
1255 
1256  for(MG_SEGMENT* segm=m_mg_maillage->get_premier_segment(it_seg);segm!=NULL;segm=m_mg_maillage->get_suivant_segment(it_seg))
1257  {
1258  OT_VECTEUR_3D coord_no1_segm= segm->get_noeud1()->get_coord();
1259  OT_VECTEUR_3D coord_no2_segm= segm->get_noeud2()->get_coord();
1260 
1261  //====================== distmn : distance from node number m from plane number n =======
1262  //=======================================================================================
1263  dist[0][0]=check.Dist3D_Point_Plan(norm1Coord,P1Coord,coord_no1_segm);
1264  dist[1][0]=check.Dist3D_Point_Plan(norm1Coord,P1Coord,coord_no2_segm);
1265 
1266  dist[0][1]=check.Dist3D_Point_Plan(norm2Coord,P2Coord,coord_no1_segm);
1267  dist[1][1]=check.Dist3D_Point_Plan(norm2Coord,P2Coord,coord_no2_segm);
1268 
1269  dist[0][2]=check.Dist3D_Point_Plan(norm3Coord,P3Coord,coord_no1_segm);
1270  dist[1][2]=check.Dist3D_Point_Plan(norm3Coord,P3Coord,coord_no2_segm);
1271 
1272  dist[0][3]=check.Dist3D_Point_Plan(norm4Coord,P4Coord,coord_no1_segm);
1273  dist[1][3]=check.Dist3D_Point_Plan(norm4Coord,P4Coord,coord_no2_segm);
1274 
1275  dist[0][4]=check.Dist3D_Point_Plan(norm5Coord,P5Coord,coord_no1_segm);
1276  dist[1][4]=check.Dist3D_Point_Plan(norm5Coord,P5Coord,coord_no2_segm);
1277 
1278  dist[0][5]=check.Dist3D_Point_Plan(norm6Coord,P6Coord,coord_no1_segm);
1279  dist[1][5]=check.Dist3D_Point_Plan(norm6Coord,P6Coord,coord_no2_segm);
1280  //====================================================================================================
1281  //====================================Segment is CUT with one of SIX PLANES==============================
1282 
1283  if((dist[0][plan_nb]<0 && dist[1][plan_nb]>0) || (dist[0][plan_nb]>0 && dist[1][plan_nb]<0))
1284  {
1285  segment_line[0]=coord_no2_segm[0]-coord_no1_segm[0];
1286  segment_line[1]=coord_no2_segm[1]-coord_no1_segm[1];
1287  segment_line[2]=coord_no2_segm[2]-coord_no1_segm[2];
1288 
1289  if(plan_nb==0)
1290  {
1291  if (((norm1Coord[0]*segment_line[0])+(norm1Coord[1]*segment_line[1])+(norm1Coord[2]*segment_line[2]))==0) return;
1292 
1293  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]));
1294 
1295  if((t<eps_check) || (fabs(1-t)<eps_check))
1296  {
1297  if((dist[0][plan_nb]>=0) && (t>eps_check))
1298  {
1299  segm->get_noeud2()->change_x(0.0);
1300 
1301  }
1302  else if((dist[0][plan_nb]>=0) && (t<eps_check))
1303  {
1304  segm->get_noeud1()->change_x(0.0);
1305 
1306  }
1307  else if((dist[1][plan_nb]>=0) && (t<eps_check))
1308  {
1309  segm->get_noeud1()->change_x(0.0);
1310 
1311  }
1312  else if((dist[1][plan_nb]>=0) && (t>eps_check))
1313  {
1314  segm->get_noeud2()->change_x(0.0);
1315 
1316  }
1317 
1318  }
1319 
1320  }
1321  if(plan_nb==1)
1322  {
1323  if (((norm2Coord[0]*segment_line[0])+(norm2Coord[1]*segment_line[1])+(norm2Coord[2]*segment_line[2]))==0) return;
1324  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]));
1325 
1326  if((t<eps_check) || (fabs(1-t)<eps_check))
1327  {
1328  if((dist[0][plan_nb]>=0) && (t>eps_check))
1329  {
1330  segm->get_noeud2()->change_y(0.0);
1331 
1332  }
1333  else if((dist[0][plan_nb]>=0) && (t<eps_check))
1334  {
1335  segm->get_noeud1()->change_y(0.0);
1336 
1337  }
1338  else if((dist[1][plan_nb]>=0) && (t<eps_check))
1339  {
1340  segm->get_noeud1()->change_y(0.0);
1341 
1342  }
1343  else if((dist[1][plan_nb]>=0) && (t>eps_check))
1344  {
1345  segm->get_noeud2()->change_y(0.0);
1346 
1347  }
1348 
1349  }
1350 
1351 
1352  }
1353  if(plan_nb==2)
1354  {
1355  if (((norm3Coord[0]*segment_line[0])+(norm3Coord[1]*segment_line[1])+(norm3Coord[2]*segment_line[2]))==0) return;
1356  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]));
1357 
1358  if((t<eps_check) || (fabs(1-t)<eps_check))
1359  {
1360  if((dist[0][plan_nb]>=0) && (t>eps_check))
1361  {
1362  segm->get_noeud2()->change_z(0.0);
1363 
1364  }
1365  else if((dist[0][plan_nb]>=0) && (t<eps_check))
1366  {
1367  segm->get_noeud1()->change_z(0.0);
1368 
1369  }
1370  else if((dist[1][plan_nb]>=0) && (t<eps_check))
1371  {
1372  segm->get_noeud1()->change_z(0.0);
1373 
1374  }
1375  else if((dist[1][plan_nb]>=0) && (t>eps_check))
1376  {
1377  segm->get_noeud2()->change_z(0.0);
1378 
1379  }
1380 
1381  }
1382 
1383 
1384  }
1385  if(plan_nb==3)
1386  {
1387  if (((norm4Coord[0]*segment_line[0])+(norm4Coord[1]*segment_line[1])+(norm4Coord[2]*segment_line[2]))==0) return;
1388  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]));
1389 
1390  if((t<eps_check) || (fabs(1-t)<eps_check))
1391  {
1392  if((dist[0][plan_nb]>=0) && (t>eps_check))
1393  {
1394  segm->get_noeud2()->change_x(1.0);
1395 
1396  }
1397  else if((dist[0][plan_nb]>=0) && (t<eps_check))
1398  {
1399  segm->get_noeud1()->change_x(1.0);
1400 
1401  }
1402  else if((dist[1][plan_nb]>=0) && (t<eps_check))
1403  {
1404  segm->get_noeud1()->change_x(1.0);
1405 
1406  }
1407  else if((dist[1][plan_nb]>=0) && (t>eps_check))
1408  {
1409  segm->get_noeud2()->change_x(1.0);
1410 
1411  }
1412 
1413  }
1414 
1415  }
1416  if(plan_nb==4)
1417  {
1418  if (((norm5Coord[0]*segment_line[0])+(norm5Coord[1]*segment_line[1])+(norm5Coord[2]*segment_line[2]))==0) return;
1419  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]));
1420 
1421  if((t<eps_check) || (fabs(1-t)<eps_check))
1422  {
1423  if((dist[0][plan_nb]>=0) && (t>eps_check))
1424  {
1425  segm->get_noeud2()->change_y(1.0);
1426 
1427  }
1428  else if((dist[0][plan_nb]>=0) && (t<eps_check))
1429  {
1430  segm->get_noeud1()->change_y(1.0);
1431 
1432  }
1433  else if((dist[1][plan_nb]>=0) && (t<eps_check))
1434  {
1435  segm->get_noeud1()->change_y(1.0);
1436 
1437  }
1438  else if((dist[1][plan_nb]>=0) && (t>eps_check))
1439  {
1440  segm->get_noeud2()->change_y(1.0);
1441 
1442  }
1443 
1444  }
1445 
1446  }
1447  if(plan_nb==5)
1448  {
1449  if (((norm6Coord[0]*segment_line[0])+(norm6Coord[1]*segment_line[1])+(norm6Coord[2]*segment_line[2]))==0) return;
1450  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]));
1451 
1452 
1453  if((t<eps_check) || (fabs(1-t)<eps_check))
1454  {
1455  if((dist[0][plan_nb]>=0) && (t>eps_check))
1456  {
1457  segm->get_noeud2()->change_z(1.0);
1458 
1459  }
1460  else if((dist[0][plan_nb]>=0) && (t<eps_check))
1461  {
1462  segm->get_noeud1()->change_z(1.0);
1463 
1464  }
1465  else if((dist[1][plan_nb]>=0) && (t<eps_check))
1466  {
1467  segm->get_noeud1()->change_z(1.0);
1468 
1469  }
1470  else if((dist[1][plan_nb]>=0) && (t>eps_check))
1471  {
1472  segm->get_noeud2()->change_z(1.0);
1473 
1474  }
1475 
1476  }
1477 
1478 
1479  }
1480 
1481 
1482  }
1483 }
1484  }
1486  {
1487  double distance[4][6];
1489  int count_tet_in=0;int count_tet_out=0;int count_tet_cut=0;
1490  // int count_tet_edge_out=0;int count_tet_edge_in=0;
1491 
1492  TPL_MAP_ENTITE<MG_TETRA*> lst_tet_in;
1493  // TPL_MAP_ENTITE<MG_TETRA*> lst_tet_edge_in;TPL_MAP_ENTITE<MG_TETRA*> lst_tet_edge_out;
1494 
1495 
1496  //Plane x=0
1497  double P1Coord[3]={0.0,0.5,0.5};
1498  double norm1Coord[3]={1.0,0.0,0.0};
1499  //Plane y=0
1500  double P2Coord[3]={0.5,0.0,0.5};
1501  double norm2Coord[3]={0.0,1.0,0.0};
1502  //Plane z=0
1503  double P3Coord[3]={0.5,0.5,0.0};
1504  double norm3Coord[3]={0.0,0.0,1.0};
1505  //Plane x=1
1506  double P4Coord[3]={1.0,0.5,0.5};
1507  double norm4Coord[3]={-1.0,0.0,0.0};
1508  //Plane y=1
1509  double P5Coord[3]={0.5,1.0,0.5};
1510  double norm5Coord[3]={0.0,-1.0,0.0};
1511  //Plane z=1
1512  double P6Coord[3]={0.5,0.5,1.0};
1513  double norm6Coord[3]={0.0,0.0,-1.0};
1514 
1515  LISTE_MG_TETRA::iterator it_tetra;
1516  for(MG_TETRA* tet=m_mg_maillage->get_premier_tetra(it_tetra);tet!=NULL;tet=m_mg_maillage->get_suivant_tetra(it_tetra))
1517  {
1518  OT_VECTEUR_3D coo3_no1= tet->get_noeud1()->get_coord();
1519  OT_VECTEUR_3D coo3_no2= tet->get_noeud2()->get_coord();
1520  OT_VECTEUR_3D coo3_no3= tet->get_noeud3()->get_coord();
1521  OT_VECTEUR_3D coo3_no4= tet->get_noeud4()->get_coord();
1522  //================================== distmn : distance from node number m from plane number n =============================
1523  //=========================================================================================================================
1524 
1525  distance[0][0]=check.Dist3D_Point_Plan(norm1Coord,P1Coord,coo3_no1);
1526  distance[1][0]=check.Dist3D_Point_Plan(norm1Coord,P1Coord,coo3_no2);
1527  distance[2][0]=check.Dist3D_Point_Plan(norm1Coord,P1Coord,coo3_no3);
1528  distance[3][0]=check.Dist3D_Point_Plan(norm1Coord,P1Coord,coo3_no4);
1529 
1530  distance[0][1]=check.Dist3D_Point_Plan(norm2Coord,P2Coord,coo3_no1);
1531  distance[1][1]=check.Dist3D_Point_Plan(norm2Coord,P2Coord,coo3_no2);
1532  distance[2][1]=check.Dist3D_Point_Plan(norm2Coord,P2Coord,coo3_no3);
1533  distance[3][1]=check.Dist3D_Point_Plan(norm2Coord,P2Coord,coo3_no4);
1534 
1535  distance[0][2]=check.Dist3D_Point_Plan(norm3Coord,P3Coord,coo3_no1);
1536  distance[1][2]=check.Dist3D_Point_Plan(norm3Coord,P3Coord,coo3_no2);
1537  distance[2][2]=check.Dist3D_Point_Plan(norm3Coord,P3Coord,coo3_no3);
1538  distance[3][2]=check.Dist3D_Point_Plan(norm3Coord,P3Coord,coo3_no4);
1539 
1540  distance[0][3]=check.Dist3D_Point_Plan(norm4Coord,P4Coord,coo3_no1);
1541  distance[1][3]=check.Dist3D_Point_Plan(norm4Coord,P4Coord,coo3_no2);
1542  distance[2][3]=check.Dist3D_Point_Plan(norm4Coord,P4Coord,coo3_no3);
1543  distance[3][3]=check.Dist3D_Point_Plan(norm4Coord,P4Coord,coo3_no4);
1544 
1545  distance[0][4]=check.Dist3D_Point_Plan(norm5Coord,P5Coord,coo3_no1);
1546  distance[1][4]=check.Dist3D_Point_Plan(norm5Coord,P5Coord,coo3_no2);
1547  distance[2][4]=check.Dist3D_Point_Plan(norm5Coord,P5Coord,coo3_no3);
1548 
1549  distance[3][4]=check.Dist3D_Point_Plan(norm5Coord,P5Coord,coo3_no4);
1550 
1551  distance[0][5]=check.Dist3D_Point_Plan(norm6Coord,P6Coord,coo3_no1);
1552  distance[1][5]=check.Dist3D_Point_Plan(norm6Coord,P6Coord,coo3_no2);
1553  distance[2][5]=check.Dist3D_Point_Plan(norm6Coord,P6Coord,coo3_no3);
1554  distance[3][5]=check.Dist3D_Point_Plan(norm6Coord,P6Coord,coo3_no4);
1555 
1556  //===============================================================================================================
1557  //====================================Tetra is INSIDE============================================================
1558  if(distance[0][plan_nb]>=0 && distance[1][plan_nb]>=0 && distance[2][plan_nb]>=0 && distance[3][plan_nb]>=0)
1559  {
1560  count_tet_in=count_tet_in+1;
1561  lst_tet_in.ajouter(lst_tet_in.get(it_tetra));
1562  }
1563  //===========================================================================================================
1564  //====================================Tetra is OUTSIDE==========================================================
1565  else if(distance[0][plan_nb]<=0 && distance[1][plan_nb]<=0 && distance[2][plan_nb]<=0 && distance[3][plan_nb]<=0)
1566  {
1567  count_tet_out=count_tet_out+1;
1568  lst_tet_cut_to_delete.ajouter(lst_tet_cut_to_delete.get(it_tetra));
1569  }
1570  //=========================================================================================================================
1571  //====================================Tetra is CUT=====================================================================
1572  else
1573  {
1574  count_tet_cut=count_tet_cut+1;
1575  lst_tet_cut.ajouter(lst_tet_cut.get(it_tetra));
1576  lst_tet_cut_to_delete.ajouter(lst_tet_cut_to_delete.get(it_tetra));
1577  }
1578 
1579  }
1580  // 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);
1581  }
1582 
1583 void MSTRUCT_VES_DECOUP::generer_tetra_4node(MG_TETRA *tetra_cutt, TPL_MAP_ENTITE<MG_NOEUD*> lst_node_in, int &nb_tet_4nodes_accepted)
1584 {
1585 
1586  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());
1587  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());
1588 
1589  if (qual>0.0001)
1590  {
1591 
1592  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);
1593 
1594  nb_tet_4nodes_accepted=nb_tet_4nodes_accepted+1;
1595  }
1596  else if (quall>0.0001)
1597  {
1598 
1599  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);
1600 
1601  nb_tet_4nodes_accepted=nb_tet_4nodes_accepted+1;
1602  }
1603 }
1604 
1605 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)
1606 {
1607  double p_cut_middle[3];
1608  int no_deadend=0;
1609  // int nb_tet_6nodes_accepted_3original=0;
1610  // int nb_tet_6nodes_accepted_3original_deadend=0;
1611  TPL_MAP_ENTITE<MG_TRIANGLE*>lst_tri_already_existed;
1612 
1613  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;
1614 
1615  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;
1616 
1617  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;
1618 
1619  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;
1620 
1621  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;
1622 
1623  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;
1624  //--------------------------------------------------------------------------------------
1625  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;
1626 
1627  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;
1628 
1629  //===============================For each of 6 nodes of prism=============================
1630  for (int jj=0;jj<6;jj++)
1631  {
1632  int nt=lst_node_in.get(jj)->get_lien_triangle()->get_nb();
1633 
1634  //===============================For each triangle of nb triangles of each node===============
1635 
1636  if(nt>0)
1637  {
1638  for(int kk=0;kk<nt;kk++)
1639  {
1640  MG_TRIANGLE* tri_related_node= lst_node_in.get(jj)->get_lien_triangle()->get(kk);
1641 
1642  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())))
1643  {
1644  lst_tri_already_existed.ajouter(tri_related_node);
1645  }}}
1646 
1647  }
1648 
1649  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());
1650 
1651  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());
1652 
1653  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());
1654  //----------------------------------------------------
1655  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());
1656 
1657  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());
1658 
1659  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());
1660 
1661  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));
1662 
1663  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));
1664 
1665  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));
1666 
1667  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));
1668 
1669  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));
1670 
1671  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));
1672 
1673  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));
1674 
1675  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));
1676 
1677  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));
1678 
1679  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));
1680  //----------------------------------------------------
1681  //----------------------------------------------------
1682  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());
1683 
1684  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());
1685 
1686  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());
1687 
1688  //----------------------------------------------------
1689  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());
1690 
1691  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());
1692 
1693  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());
1694 
1695 
1696  lst_node_tri21.ajouter(lst_node_in_second.get(0));
1697  lst_node_tri21.ajouter(lst_node_in_second.get(2));
1698  lst_node_tri21.ajouter(lst_node_in_second.get(3));
1699 
1700  lst_node_tri22.ajouter(lst_node_in_second.get(0));
1701  lst_node_tri22.ajouter(lst_node_in_second.get(2));
1702  lst_node_tri22.ajouter(lst_node_in_second.get(4));
1703 
1704  lst_node_tri23.ajouter(lst_node_in_second.get(0));
1705  lst_node_tri23.ajouter(lst_node_in_second.get(3));
1706  lst_node_tri23.ajouter(lst_node_in_second.get(4));
1707 
1708  lst_node_tri24.ajouter(lst_node_in_second.get(2));
1709  lst_node_tri24.ajouter(lst_node_in_second.get(3));
1710  lst_node_tri24.ajouter(lst_node_in_second.get(4));
1711 
1712  lst_node_tri25.ajouter(lst_node_in_second.get(0));
1713  lst_node_tri25.ajouter(lst_node_in_second.get(1));
1714  lst_node_tri25.ajouter(lst_node_in_second.get(3));
1715 
1716  lst_node_tri26.ajouter(lst_node_in_second.get(0));
1717  lst_node_tri26.ajouter(lst_node_in_second.get(1));
1718  lst_node_tri26.ajouter(lst_node_in_second.get(5));
1719 
1720  lst_node_tri27.ajouter(lst_node_in_second.get(0));
1721  lst_node_tri27.ajouter(lst_node_in_second.get(3));
1722  lst_node_tri27.ajouter(lst_node_in_second.get(5));
1723 
1724  lst_node_tri28.ajouter(lst_node_in_second.get(1));
1725  lst_node_tri28.ajouter(lst_node_in_second.get(3));
1726  lst_node_tri28.ajouter(lst_node_in_second.get(5));
1727 
1728  lst_node_tri29.ajouter(lst_node_in_second.get(3));
1729  lst_node_tri29.ajouter(lst_node_in_second.get(4));
1730  lst_node_tri29.ajouter(lst_node_in_second.get(5));
1731 
1732  lst_node_tri210.ajouter(lst_node_in_second.get(0));
1733  lst_node_tri210.ajouter(lst_node_in_second.get(4));
1734  lst_node_tri210.ajouter(lst_node_in_second.get(5));
1735 
1736  //----------------------------------------------------
1737  //----------------------------------------------------
1738  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());
1739 
1740  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());
1741 
1742  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());
1743 
1744  //----------------------------------------------------
1745  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());
1746 
1747  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());
1748 
1749  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());
1750 
1751  lst_node_tri31.ajouter(lst_node_in_second.get(0));
1752  lst_node_tri31.ajouter(lst_node_in_second.get(2));
1753  lst_node_tri31.ajouter(lst_node_in_second.get(4));
1754 
1755  lst_node_tri32.ajouter(lst_node_in_second.get(0));
1756  lst_node_tri32.ajouter(lst_node_in_second.get(2));
1757  lst_node_tri32.ajouter(lst_node_in_second.get(5));
1758 
1759  lst_node_tri33.ajouter(lst_node_in_second.get(0));
1760  lst_node_tri33.ajouter(lst_node_in_second.get(4));
1761  lst_node_tri33.ajouter(lst_node_in_second.get(5));
1762 
1763  lst_node_tri34.ajouter(lst_node_in_second.get(2));
1764  lst_node_tri34.ajouter(lst_node_in_second.get(4));
1765  lst_node_tri34.ajouter(lst_node_in_second.get(5));
1766 
1767  lst_node_tri35.ajouter(lst_node_in_second.get(0));
1768  lst_node_tri35.ajouter(lst_node_in_second.get(1));
1769  lst_node_tri35.ajouter(lst_node_in_second.get(3));
1770 
1771  lst_node_tri36.ajouter(lst_node_in_second.get(0));
1772  lst_node_tri36.ajouter(lst_node_in_second.get(1));
1773  lst_node_tri36.ajouter(lst_node_in_second.get(5));
1774 
1775  lst_node_tri37.ajouter(lst_node_in_second.get(0));
1776  lst_node_tri37.ajouter(lst_node_in_second.get(3));
1777  lst_node_tri37.ajouter(lst_node_in_second.get(5));
1778 
1779  lst_node_tri38.ajouter(lst_node_in_second.get(1));
1780  lst_node_tri38.ajouter(lst_node_in_second.get(3));
1781  lst_node_tri38.ajouter(lst_node_in_second.get(5));
1782 
1783  lst_node_tri39.ajouter(lst_node_in_second.get(0));
1784  lst_node_tri39.ajouter(lst_node_in_second.get(2));
1785  lst_node_tri39.ajouter(lst_node_in_second.get(3));
1786 
1787  lst_node_tri310.ajouter(lst_node_in_second.get(2));
1788  lst_node_tri310.ajouter(lst_node_in_second.get(3));
1789  lst_node_tri310.ajouter(lst_node_in_second.get(5));
1790  //----------------------------------------------------
1791  //----------------------------------------------------
1792  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());
1793 
1794  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());
1795 
1796  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());
1797 
1798 
1799  //----------------------------------------------------
1800  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());
1801 
1802  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());
1803 
1804  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());
1805 
1806  lst_node_tri41.ajouter(lst_node_in_second.get(1));
1807  lst_node_tri41.ajouter(lst_node_in_second.get(2));
1808  lst_node_tri41.ajouter(lst_node_in_second.get(3));
1809 
1810  lst_node_tri48.ajouter(lst_node_in_second.get(1));
1811  lst_node_tri48.ajouter(lst_node_in_second.get(2));
1812  lst_node_tri48.ajouter(lst_node_in_second.get(5));
1813 
1814 
1815  lst_node_tri42.ajouter(lst_node_in_second.get(1));
1816  lst_node_tri42.ajouter(lst_node_in_second.get(3));
1817  lst_node_tri42.ajouter(lst_node_in_second.get(5));
1818 
1819  lst_node_tri43.ajouter(lst_node_in_second.get(2));
1820  lst_node_tri43.ajouter(lst_node_in_second.get(3));
1821  lst_node_tri43.ajouter(lst_node_in_second.get(5));
1822 
1823  lst_node_tri44.ajouter(lst_node_in_second.get(0));
1824  lst_node_tri44.ajouter(lst_node_in_second.get(1));
1825  lst_node_tri44.ajouter(lst_node_in_second.get(2));
1826 
1827  lst_node_tri45.ajouter(lst_node_in_second.get(0));
1828  lst_node_tri45.ajouter(lst_node_in_second.get(1));
1829  lst_node_tri45.ajouter(lst_node_in_second.get(4));
1830 
1831  lst_node_tri46.ajouter(lst_node_in_second.get(0));
1832  lst_node_tri46.ajouter(lst_node_in_second.get(2));
1833  lst_node_tri46.ajouter(lst_node_in_second.get(4));
1834 
1835  lst_node_tri47.ajouter(lst_node_in_second.get(1));
1836  lst_node_tri47.ajouter(lst_node_in_second.get(2));
1837  lst_node_tri47.ajouter(lst_node_in_second.get(4));
1838 
1839  lst_node_tri49.ajouter(lst_node_in_second.get(2));
1840  lst_node_tri49.ajouter(lst_node_in_second.get(4));
1841  lst_node_tri49.ajouter(lst_node_in_second.get(5));
1842 
1843  lst_node_tri410.ajouter(lst_node_in_second.get(1));
1844  lst_node_tri410.ajouter(lst_node_in_second.get(4));
1845  lst_node_tri410.ajouter(lst_node_in_second.get(5));
1846  //----------------------------------------------------
1847  //----------------------------------------------------
1848  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());
1849 
1850  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());
1851 
1852  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());
1853 
1854 
1855  //----------------------------------------------------
1856  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());
1857 
1858  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());
1859 
1860  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());
1861 
1862  lst_node_tri51.ajouter(lst_node_in_second.get(0));
1863  lst_node_tri51.ajouter(lst_node_in_second.get(2));
1864  lst_node_tri51.ajouter(lst_node_in_second.get(4));
1865 
1866  lst_node_tri52.ajouter(lst_node_in_second.get(0));
1867  lst_node_tri52.ajouter(lst_node_in_second.get(2));
1868  lst_node_tri52.ajouter(lst_node_in_second.get(5));
1869 
1870  lst_node_tri53.ajouter(lst_node_in_second.get(0));
1871  lst_node_tri53.ajouter(lst_node_in_second.get(4));
1872  lst_node_tri53.ajouter(lst_node_in_second.get(5));
1873 
1874  lst_node_tri54.ajouter(lst_node_in_second.get(2));
1875 
1876  lst_node_tri54.ajouter(lst_node_in_second.get(4));
1877  lst_node_tri54.ajouter(lst_node_in_second.get(5));
1878 
1879  lst_node_tri55.ajouter(lst_node_in_second.get(1));
1880  lst_node_tri55.ajouter(lst_node_in_second.get(2));
1881  lst_node_tri55.ajouter(lst_node_in_second.get(3));
1882 
1883  lst_node_tri56.ajouter(lst_node_in_second.get(1));
1884  lst_node_tri56.ajouter(lst_node_in_second.get(2));
1885  lst_node_tri56.ajouter(lst_node_in_second.get(5));
1886 
1887  lst_node_tri57.ajouter(lst_node_in_second.get(2));
1888  lst_node_tri57.ajouter(lst_node_in_second.get(3));
1889  lst_node_tri57.ajouter(lst_node_in_second.get(5));
1890 
1891 
1892  lst_node_tri58.ajouter(lst_node_in_second.get(1));
1893  lst_node_tri58.ajouter(lst_node_in_second.get(3));
1894  lst_node_tri58.ajouter(lst_node_in_second.get(5));
1895 
1896  lst_node_tri59.ajouter(lst_node_in_second.get(0));
1897  lst_node_tri59.ajouter(lst_node_in_second.get(1));
1898  lst_node_tri59.ajouter(lst_node_in_second.get(2));
1899 
1900  lst_node_tri510.ajouter(lst_node_in_second.get(0));
1901  lst_node_tri510.ajouter(lst_node_in_second.get(1));
1902  lst_node_tri510.ajouter(lst_node_in_second.get(5));
1903  //----------------------------------------------------
1904  //----------------------------------------------------
1905  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());
1906 
1907  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());
1908 
1909  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());
1910 
1911  //----------------------------------------------------
1912  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());
1913 
1914  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());
1915 
1916  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());
1917 
1918  lst_node_tri61.ajouter(lst_node_in_second.get(0));
1919  lst_node_tri61.ajouter(lst_node_in_second.get(1));
1920  lst_node_tri61.ajouter(lst_node_in_second.get(2));
1921 
1922  lst_node_tri62.ajouter(lst_node_in_second.get(0));
1923  lst_node_tri62.ajouter(lst_node_in_second.get(1));
1924  lst_node_tri62.ajouter(lst_node_in_second.get(4));
1925 
1926  lst_node_tri63.ajouter(lst_node_in_second.get(0));
1927  lst_node_tri63.ajouter(lst_node_in_second.get(2));
1928  lst_node_tri63.ajouter(lst_node_in_second.get(4));
1929 
1930  lst_node_tri64.ajouter(lst_node_in_second.get(1));
1931  lst_node_tri64.ajouter(lst_node_in_second.get(2));
1932  lst_node_tri64.ajouter(lst_node_in_second.get(4));
1933 
1934  lst_node_tri65.ajouter(lst_node_in_second.get(1));
1935  lst_node_tri65.ajouter(lst_node_in_second.get(3));
1936  lst_node_tri65.ajouter(lst_node_in_second.get(4));
1937 
1938  lst_node_tri66.ajouter(lst_node_in_second.get(1));
1939  lst_node_tri66.ajouter(lst_node_in_second.get(3));
1940  lst_node_tri66.ajouter(lst_node_in_second.get(5));
1941 
1942  lst_node_tri67.ajouter(lst_node_in_second.get(1));
1943  lst_node_tri67.ajouter(lst_node_in_second.get(4));
1944  lst_node_tri67.ajouter(lst_node_in_second.get(5));
1945 
1946  lst_node_tri68.ajouter(lst_node_in_second.get(3));
1947  lst_node_tri68.ajouter(lst_node_in_second.get(4));
1948  lst_node_tri68.ajouter(lst_node_in_second.get(5));
1949 
1950  lst_node_tri69.ajouter(lst_node_in_second.get(2));
1951  lst_node_tri69.ajouter(lst_node_in_second.get(3));
1952  lst_node_tri69.ajouter(lst_node_in_second.get(1));
1953 
1954  lst_node_tri610.ajouter(lst_node_in_second.get(2));
1955  lst_node_tri610.ajouter(lst_node_in_second.get(4));
1956  lst_node_tri610.ajouter(lst_node_in_second.get(3));
1957 
1958  //----------------------------------------------------
1959  //----------------------------------------------------
1960  int check_not_to_creat_tetra=0;
1961  int check_to_creat_tetra=0;
1962  int check_to_go_further=3;
1963 
1964 
1965  int check_not_to_creat_tetra_1=0;
1966  LISTE_MG_TRIANGLE::iterator it_tri_existed;
1967 
1968 
1969  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))
1970  {
1971  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()))))
1972  {
1973 
1974  check_to_creat_tetra=2;
1975  }
1976 
1977  else
1978  {
1979  check_not_to_creat_tetra_1=3;
1980  }
1981 
1982  }
1983 
1984  int check_not_to_creat_tetra_2=0;
1985 
1986  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))
1987  {
1988 
1989  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()))))
1990  {
1991 
1992  check_to_creat_tetra=2;
1993  }
1994 
1995  else
1996 
1997  {
1998  check_not_to_creat_tetra_2=3;
1999 
2000  }
2001 
2002  }
2003 
2004  int check_not_to_creat_tetra_3=0;
2005 
2006  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))
2007  {
2008 
2009  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()))))
2010  {
2011 
2012  check_to_creat_tetra=2;
2013  }
2014 
2015  else
2016 
2017  {
2018  check_not_to_creat_tetra_3=3;
2019 
2020  }
2021 
2022  }
2023 
2024  int check_not_to_creat_tetra_4=0;
2025 
2026  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))
2027  {
2028 
2029  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()))))
2030  {
2031  check_to_creat_tetra=2;
2032  }
2033 
2034  else
2035 
2036  {
2037  check_not_to_creat_tetra_4=3;
2038 
2039  }
2040 
2041 
2042  }
2043 
2044  int check_not_to_creat_tetra_5=0;
2045 
2046  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))
2047  {
2048 
2049  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()))))
2050  {
2051 
2052  check_to_creat_tetra=2;
2053  }
2054 
2055  else
2056 
2057  {
2058  check_not_to_creat_tetra_5=3;
2059 
2060  }
2061 
2062  }
2063 
2064  int check_not_to_creat_tetra_6=0;
2065 
2066  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))
2067  {
2068  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()))))
2069  {
2070  check_to_creat_tetra=2;
2071  }
2072  else
2073 
2074  {
2075  check_not_to_creat_tetra_6=3;
2076  }
2077  }
2078 
2079  //---------------------------------------------------------------------------------
2080 
2081  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)))
2082  {
2083 
2084  if (qual1>0.00001)
2085  {
2086  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());
2087 
2088  check_to_go_further=5;
2089 
2090  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2091  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2092 
2093  }
2094  if ((qualo1>0.00001))
2095  {
2096  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());
2097  check_to_go_further=5;
2098 
2099  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2100  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2101  }
2102  if ((qual2>0.00001))
2103  {
2104  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());
2105 
2106  check_to_go_further=5;
2107 
2108  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2109  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2110  }
2111  if ((qualo2>0.00001))
2112 
2113  {
2114  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());
2115  check_to_go_further=5;
2116 
2117 
2118  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2119  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2120  }
2121  if ((qual3>0.00001))
2122  {
2123  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());
2124 
2125  check_to_go_further=5;
2126 
2127 
2128  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2129  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2130  }
2131  if ((qualo3>0.00001))
2132  {
2133  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());
2134  check_to_go_further=5;
2135 
2136  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2137  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2138  }
2139  }
2140 
2141  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)))
2142  {
2143  if((qual4>0.00001) && (check_not_to_creat_tetra!=3))
2144  {
2145  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());
2146  check_to_go_further=5;
2147 
2148  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2149  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2150 
2151 
2152  }
2153  if((qual5>0.00001) && (check_not_to_creat_tetra!=3))
2154  {
2155 
2156  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());
2157  check_to_go_further=5;
2158 
2159 
2160  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2161  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2162 
2163 
2164  }
2165  if((qual6>0.00001) && (check_not_to_creat_tetra!=3))
2166  {
2167  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());
2168  check_to_go_further=5;
2169 
2170  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2171  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2172 
2173 
2174  }
2175  if((qualo4>0.00001) && (check_not_to_creat_tetra!=3))
2176  {
2177  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());
2178  check_to_go_further=5;
2179 
2180  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2181  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2182 
2183  }
2184  if((qualo5>0.00001) && (check_not_to_creat_tetra!=3))
2185  {
2186  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());
2187  check_to_go_further=5;
2188 
2189  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2190  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2191  }
2192  if((qualo6>0.00001) && (check_not_to_creat_tetra!=3))
2193  {
2194  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());
2195  check_to_go_further=5;
2196 
2197  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2198  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2199 
2200  }
2201  }
2202 
2203  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)))
2204  {
2205  if((qual7>0.00001) && (check_not_to_creat_tetra!=3))
2206  {
2207  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());
2208  check_to_go_further=5;
2209 
2210  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2211  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2212  }
2213 
2214  if((qualo7>0.00001) && (check_not_to_creat_tetra!=3))
2215  {
2216  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());
2217  check_to_go_further=5;
2218 
2219  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2220  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2221 
2222  }
2223 
2224  if((qual8>0.00001) && (check_not_to_creat_tetra!=3))
2225  {
2226  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());
2227  check_to_go_further=5;
2228 
2229  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2230  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2231 
2232 
2233  }
2234 
2235  if((qualo8>0.00001) && (check_not_to_creat_tetra!=3))
2236  {
2237  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());
2238  check_to_go_further=5;
2239 
2240  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2241  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2242 
2243 
2244  }
2245 
2246  if((qual9>0.00001) && (check_not_to_creat_tetra!=3))
2247  {
2248  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());
2249 
2250  check_to_go_further=5;
2251 
2252  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2253  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2254 
2255  }
2256 
2257  if((qualo9>0.00001) && (check_not_to_creat_tetra!=3))
2258  {
2259  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());
2260  check_to_go_further=5;
2261 
2262  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2263  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2264 
2265  }
2266  }
2267 
2268  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)))
2269  {
2270  if((qual10>0.00001) && (check_not_to_creat_tetra!=3))
2271  {
2272  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());
2273 
2274  check_to_go_further=5;
2275 
2276 
2277  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2278  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2279  }
2280  if((qualo10>0.00001) && (check_not_to_creat_tetra!=3))
2281  {
2282  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());
2283 check_to_go_further=5;
2284 
2285 
2286  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2287  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2288 
2289  }
2290  if((qual11>0.00001) && (check_not_to_creat_tetra!=3))
2291  {
2292  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());
2293  check_to_go_further=5;
2294 
2295  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2296  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2297 
2298  }
2299  if((qualo11>0.00001) && (check_not_to_creat_tetra!=3))
2300  {
2301 
2302  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());
2303  check_to_go_further=5;
2304 
2305  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2306  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2307 
2308  }
2309  if((qual12>0.00001) && (check_not_to_creat_tetra!=3))
2310  {
2311  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());
2312  check_to_go_further=5;
2313 
2314  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2315  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2316 
2317  }
2318  if((qualo12>0.00001) && (check_not_to_creat_tetra!=3))
2319  {
2320  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());
2321  check_to_go_further=5;
2322 
2323  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2324  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2325 
2326  }
2327 
2328  }
2329 
2330 
2331  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)))
2332  {
2333  if((qual13>0.00001) && (check_not_to_creat_tetra!=3))
2334  {
2335  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());
2336  check_to_go_further=5;
2337 
2338 
2339  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2340  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2341 
2342  }
2343 
2344  if((qualo13>0.00001) && (check_not_to_creat_tetra!=3))
2345  {
2346  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());
2347  check_to_go_further=5;
2348 
2349  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2350  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2351 
2352  }
2353 
2354  if((qual14>0.00001) && (check_not_to_creat_tetra!=3))
2355  {
2356  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());
2357 check_to_go_further=5;
2358 
2359  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2360  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2361 
2362 
2363  }
2364 
2365  if((qualo14>0.00001) && (check_not_to_creat_tetra!=3))
2366  {
2367  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());
2368 check_to_go_further=5;
2369 
2370  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2371  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2372 
2373  }
2374 
2375  if((qual15>0.00001) && (check_not_to_creat_tetra!=3))
2376  {
2377  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());
2378  check_to_go_further=5;
2379 
2380  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2381  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2382 
2383  }
2384 
2385  if((qualo15>0.00001) && (check_not_to_creat_tetra!=3))
2386  {
2387  check_to_go_further=5;
2388  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());
2389 
2390 
2391  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2392  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2393 
2394  }
2395 
2396  }
2397 
2398  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))
2399  {
2400  if((qual16>0.00001) && (check_not_to_creat_tetra!=3))
2401  {
2402  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());
2403 
2404  check_to_go_further=5;
2405 
2406 
2407  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2408  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2409 
2410 
2411  }
2412  if((qualo16>0.00001) && (check_not_to_creat_tetra!=3))
2413  {
2414  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());
2415 
2416  check_to_go_further=5;
2417 
2418  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2419  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2420 
2421  }
2422  if((qual17>0.00001) && (check_not_to_creat_tetra!=3))
2423  {
2424  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());
2425 check_to_go_further=5;
2426 
2427  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2428  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2429 
2430  }
2431  if((qualo17>0.00001) && (check_not_to_creat_tetra!=3))
2432  {
2433  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());
2434 check_to_go_further=5;
2435 
2436 
2437  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2438  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2439 
2440 
2441  }
2442  if((qual18>0.00001) && (check_not_to_creat_tetra!=3))
2443  {
2444  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());
2445  check_to_go_further=5;
2446 
2447  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2448  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2449 
2450  }
2451  if((qualo18>0.00001) && (check_not_to_creat_tetra!=3))
2452  {
2453  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());
2454 
2455  check_to_go_further=5;
2456  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2457  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2458 
2459  }
2460  }
2461  //==============================SECOND ROUND===============
2462  //=========================================================
2463  if (check_to_go_further==3)
2464  {
2465  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))
2466  {
2467 
2468  if (qual1>0.00001)
2469  {
2470  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());
2471  check_to_go_further=5;
2472 
2473 
2474  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2475  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2476 
2477  }
2478  if ((qualo1>0.00001))
2479  {
2480  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());
2481  check_to_go_further=5;
2482 
2483  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2484  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2485  }
2486  if ((qual2>0.00001))
2487  {
2488  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());
2489 
2490  check_to_go_further=5;
2491 
2492  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2493  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2494  }
2495  if ((qualo2>0.00001))
2496  {
2497  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());
2498  check_to_go_further=5;
2499 
2500  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2501  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2502  }
2503  if ((qual3>0.00001))
2504  {
2505  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());
2506 
2507  check_to_go_further=5;
2508  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2509  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2510  }
2511  if ((qualo3>0.00001))
2512  {
2513  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());
2514  check_to_go_further=5;
2515  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2516  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2517  }
2518  }
2519 
2520  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))
2521  {
2522 
2523  if((qual4>0.00001) && (check_not_to_creat_tetra!=3))
2524  {
2525  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());
2526  check_to_go_further=5;
2527 
2528  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2529  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2530  }
2531 
2532  if((qual5>0.00001) && (check_not_to_creat_tetra!=3))
2533  {
2534 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());
2535  check_to_go_further=5;
2536 
2537  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2538  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2539 
2540  }
2541 
2542  if((qual6>0.00001) && (check_not_to_creat_tetra!=3))
2543  {
2544  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());
2545  check_to_go_further=5;
2546 
2547  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2548  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2549 
2550 
2551  }
2552  if((qualo4>0.00001) && (check_not_to_creat_tetra!=3))
2553  {
2554  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());
2555  check_to_go_further=5;
2556 
2557  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2558  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2559 
2560 
2561  }
2562 
2563  if((qualo5>0.00001) && (check_not_to_creat_tetra!=3))
2564  {
2565  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());
2566  check_to_go_further=5;
2567 
2568  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2569  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2570 
2571  }
2572 
2573  if((qualo6>0.00001) && (check_not_to_creat_tetra!=3))
2574 
2575  {
2576  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());
2577  check_to_go_further=5;
2578 
2579  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2580  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2581 
2582  }
2583  }
2584 
2585  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))
2586  {
2587 
2588 
2589  if((qual7>0.00001) && (check_not_to_creat_tetra!=3))
2590  {
2591  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());
2592  check_to_go_further=5;
2593 
2594  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2595  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2596 
2597  }
2598 
2599  if((qualo7>0.00001) && (check_not_to_creat_tetra!=3))
2600 
2601  {
2602  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());
2603  check_to_go_further=5;
2604 
2605  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2606  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2607 
2608  }
2609 
2610 
2611  if((qual8>0.00001) && (check_not_to_creat_tetra!=3))
2612  {
2613  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());
2614  check_to_go_further=5;
2615 
2616  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2617  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2618 
2619 
2620  }
2621 
2622  if((qualo8>0.00001) && (check_not_to_creat_tetra!=3))
2623  {
2624  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());
2625  check_to_go_further=5;
2626 
2627  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2628  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2629 
2630 
2631  }
2632 
2633  if((qual9>0.00001) && (check_not_to_creat_tetra!=3))
2634  {
2635  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());
2636 
2637  check_to_go_further=5;
2638 
2639  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2640  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2641 
2642 
2643  }
2644 
2645 
2646  if((qualo9>0.00001) && (check_not_to_creat_tetra!=3))
2647  {
2648  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());
2649  check_to_go_further=5;
2650 
2651  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2652  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2653 
2654  }
2655 
2656  }
2657 
2658  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))
2659  {
2660  if((qual10>0.00001) && (check_not_to_creat_tetra!=3))
2661  {
2662  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());
2663 check_to_go_further=5;
2664 
2665  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2666  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2667 
2668  }
2669  if((qualo10>0.00001) && (check_not_to_creat_tetra!=3))
2670  {
2671  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());
2672 check_to_go_further=5;
2673 
2674  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2675  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2676 
2677  }
2678  if((qual11>0.00001) && (check_not_to_creat_tetra!=3))
2679  {
2680  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());
2681  check_to_go_further=5;
2682 
2683  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2684  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2685 
2686  }
2687  if((qualo11>0.00001) && (check_not_to_creat_tetra!=3))
2688  {
2689 
2690 
2691  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());
2692  check_to_go_further=5;
2693 
2694  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2695  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2696 
2697  }
2698  if((qual12>0.00001) && (check_not_to_creat_tetra!=3))
2699  {
2700  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());
2701  check_to_go_further=5;
2702 
2703  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2704  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2705 
2706  }
2707  if((qualo12>0.00001) && (check_not_to_creat_tetra!=3))
2708  {
2709  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());
2710  check_to_go_further=5;
2711 
2712  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2713  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2714 
2715  }
2716 
2717  }
2718 
2719  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))
2720  {
2721  if((qual13>0.00001) && (check_not_to_creat_tetra!=3))
2722  {
2723  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());
2724  check_to_go_further=5;
2725  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2726  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2727 
2728  }
2729 
2730  if((qualo13>0.00001) && (check_not_to_creat_tetra!=3))
2731  {
2732  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());
2733  check_to_go_further=5;
2734 
2735  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2736  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2737 
2738  }
2739 
2740  if((qual14>0.00001) && (check_not_to_creat_tetra!=3))
2741  {
2742  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());
2743 check_to_go_further=5;
2744 
2745  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2746  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2747 
2748  }
2749 
2750  if((qualo14>0.00001) && (check_not_to_creat_tetra!=3))
2751  {
2752  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());
2753 check_to_go_further=5;
2754 
2755  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2756  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2757 
2758  }
2759 
2760  if((qual15>0.00001) && (check_not_to_creat_tetra!=3))
2761  {
2762  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());
2763  check_to_go_further=5;
2764 
2765  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2766  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2767 
2768  }
2769 
2770  if((qualo15>0.00001) && (check_not_to_creat_tetra!=3))
2771  {
2772  check_to_go_further=5;
2773  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());
2774 
2775 
2776  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2777  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2778 
2779  }
2780 
2781  }
2782 
2783  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))
2784  {
2785 
2786  if((qual16>0.00001) && (check_not_to_creat_tetra!=3))
2787  {
2788  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());
2789 
2790  check_to_go_further=5;
2791 
2792  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2793  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2794  }
2795 
2796  if((qualo16>0.00001) && (check_not_to_creat_tetra!=3))
2797  {
2798  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());
2799 
2800  check_to_go_further=5;
2801 
2802 
2803  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2804  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2805 
2806  }
2807  if((qual17>0.00001) && (check_not_to_creat_tetra!=3))
2808  {
2809  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());
2810 check_to_go_further=5;
2811 
2812  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2813  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2814 
2815  }
2816 
2817  if((qualo17>0.00001) && (check_not_to_creat_tetra!=3))
2818  {
2819  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());
2820 check_to_go_further=5;
2821 
2822 
2823  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2824  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2825 
2826  }
2827 
2828  if((qual18>0.00001) && (check_not_to_creat_tetra!=3))
2829  {
2830  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());
2831  check_to_go_further=5;
2832 
2833  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2834  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2835 
2836  }
2837  if((qualo18>0.00001) && (check_not_to_creat_tetra!=3))
2838  {
2839  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());
2840 
2841  check_to_go_further=5;
2842  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2843  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2844 
2845  }
2846  }
2847 
2848  }
2849  //=============================Third ROUND================
2850  //=========================================================
2851 
2852  if (check_to_go_further==3)
2853  {
2854  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))
2855  {
2856 
2857  if (qual1>0.000001)
2858  {
2859  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());
2860  check_to_go_further=5;
2861 
2862  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2863  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2864 
2865  }
2866  if ((qualo1>0.000001))
2867  {
2868  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());
2869  check_to_go_further=5;
2870 
2871  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2872  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2873  }
2874  if ((qual2>0.000001))
2875  {
2876  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());
2877 
2878 
2879  check_to_go_further=5;
2880 
2881  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2882  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2883  }
2884  if ((qualo2>0.000001))
2885  {
2886  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());
2887  check_to_go_further=5;
2888 
2889  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2890  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2891  }
2892 
2893  if ((qual3>0.000001))
2894  {
2895  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());
2896 
2897  check_to_go_further=5;
2898 
2899  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2900  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2901  }
2902  if ((qualo3>0.000001))
2903  {
2904  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());
2905  check_to_go_further=5;
2906 
2907  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2908  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2909  }
2910  }
2911 
2912  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))
2913  {
2914 
2915  if((qual4>0.0000001) && (check_not_to_creat_tetra!=3))
2916  {
2917  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());
2918  check_to_go_further=5;
2919 
2920  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2921  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2922 
2923 
2924  }
2925 
2926  if((qual5>0.0000001) && (check_not_to_creat_tetra!=3))
2927  {
2928 
2929  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());
2930  check_to_go_further=5;
2931 
2932  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2933  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2934 
2935 
2936  }
2937 
2938  if((qual6>0.0000001) && (check_not_to_creat_tetra!=3))
2939  {
2940  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());
2941  check_to_go_further=5;
2942 
2943  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2944  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2945 
2946 
2947 
2948  }
2949  if((qualo4>0.0000001) && (check_not_to_creat_tetra!=3))
2950  {
2951  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());
2952  check_to_go_further=5;
2953 
2954 
2955  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2956  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2957 
2958  }
2959 
2960  if((qualo5>0.0000001) && (check_not_to_creat_tetra!=3))
2961  {
2962  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());
2963  check_to_go_further=5;
2964 
2965  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2966  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2967 
2968 
2969  }
2970 
2971  if((qualo6>0.0000001) && (check_not_to_creat_tetra!=3))
2972 
2973  {
2974  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());
2975  check_to_go_further=5;
2976 
2977  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2978  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2979 
2980  }
2981  }
2982 
2983  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))
2984  {
2985 
2986 
2987  if((qual7>0.0000001) && (check_not_to_creat_tetra!=3))
2988  {
2989  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());
2990  check_to_go_further=5;
2991 
2992  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
2993  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
2994 
2995  }
2996 
2997  if((qualo7>0.0000001) && (check_not_to_creat_tetra!=3))
2998 
2999  {
3000  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());
3001  check_to_go_further=5;
3002 
3003  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3004  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3005 
3006  }
3007 
3008 
3009  if((qual8>0.0000001) && (check_not_to_creat_tetra!=3))
3010  {
3011  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());
3012  check_to_go_further=5;
3013 
3014  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3015  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3016 
3017 
3018  }
3019 
3020  if((qualo8>0.0000001) && (check_not_to_creat_tetra!=3))
3021  {
3022  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());
3023  check_to_go_further=5;
3024 
3025  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3026  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3027 
3028 
3029  }
3030 
3031  if((qual9>0.0000001) && (check_not_to_creat_tetra!=3))
3032  {
3033  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());
3034 
3035  check_to_go_further=5;
3036 
3037  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3038  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3039 
3040 
3041  }
3042 
3043 
3044  if((qualo9>0.0000001) && (check_not_to_creat_tetra!=3))
3045  {
3046  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());
3047  check_to_go_further=5;
3048 
3049  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3050  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3051 
3052  }
3053 
3054  }
3055 
3056  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))
3057  {
3058  if((qual10>0.0000001) && (check_not_to_creat_tetra!=3))
3059  {
3060  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());
3061 check_to_go_further=5;
3062 
3063  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3064  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3065 
3066  }
3067  if((qualo10>0.0000001) && (check_not_to_creat_tetra!=3))
3068  {
3069  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());
3070 check_to_go_further=5;
3071 
3072  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3073  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3074 
3075  }
3076  if((qual11>0.0000001) && (check_not_to_creat_tetra!=3))
3077  {
3078  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());
3079  check_to_go_further=5;
3080 
3081  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3082  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3083 
3084 
3085  }
3086  if((qualo11>0.0000001) && (check_not_to_creat_tetra!=3))
3087  {
3088 
3089  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());
3090  check_to_go_further=5;
3091 
3092  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3093  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3094 
3095  }
3096  if((qual12>0.0000001) && (check_not_to_creat_tetra!=3))
3097  {
3098  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());
3099  check_to_go_further=5;
3100 
3101  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3102  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3103 
3104  }
3105  if((qualo12>0.0000001) && (check_not_to_creat_tetra!=3))
3106  {
3107  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());
3108  check_to_go_further=5;
3109 
3110  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3111  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3112 
3113  }
3114 
3115  }
3116 
3117  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))
3118  {
3119  if((qual13>0.0000001) && (check_not_to_creat_tetra!=3))
3120  {
3121  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());
3122  check_to_go_further=5;
3123 
3124  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3125  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3126  }
3127 
3128  if((qualo13>0.0000001) && (check_not_to_creat_tetra!=3))
3129  {
3130  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());
3131  check_to_go_further=5;
3132 
3133  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3134  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3135 
3136  }
3137 
3138  if((qual14>0.0000001) && (check_not_to_creat_tetra!=3))
3139  {
3140  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());
3141 check_to_go_further=5;
3142 
3143  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3144  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3145  }
3146 
3147  if((qualo14>0.0000001) && (check_not_to_creat_tetra!=3))
3148  {
3149  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());
3150 check_to_go_further=5;
3151 
3152  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3153  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3154 
3155  }
3156 
3157  if((qual15>0.0000001) && (check_not_to_creat_tetra!=3))
3158  {
3159  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());
3160  check_to_go_further=5;
3161 
3162  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3163  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3164 
3165  }
3166 
3167  if((qualo15>0.0000001) && (check_not_to_creat_tetra!=3))
3168  {
3169  check_to_go_further=5;
3170  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());
3171 
3172 
3173  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3174  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3175 
3176  }
3177 
3178  }
3179 
3180  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))
3181  {
3182 
3183  if((qual16>0.0000001) && (check_not_to_creat_tetra!=3))
3184  {
3185  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());
3186 
3187  check_to_go_further=5;
3188 
3189  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3190  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3191 
3192 
3193  }
3194 
3195  if((qualo16>0.0000001) && (check_not_to_creat_tetra!=3))
3196  {
3197  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());
3198 
3199  check_to_go_further=5;
3200 
3201 
3202  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3203  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3204 
3205  }
3206  if((qual17>0.0000001) && (check_not_to_creat_tetra!=3))
3207  {
3208  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());
3209 check_to_go_further=5;
3210 
3211  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3212  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3213 
3214  }
3215 
3216  if((qualo17>0.0000001) && (check_not_to_creat_tetra!=3))
3217  {
3218  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());
3219 check_to_go_further=5;
3220 
3221 
3222  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3223  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3224 
3225  }
3226 
3227  if((qual18>0.0000001) && (check_not_to_creat_tetra!=3))
3228  {
3229  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());
3230  check_to_go_further=5;
3231 
3232  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3233  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3234 
3235  }
3236  if((qualo18>0.0000001) && (check_not_to_creat_tetra!=3))
3237  {
3238  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());
3239 
3240 
3241  check_to_go_further=5;
3242  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3243  nb_tet_6nodes_accepted_3original=nb_tet_6nodes_accepted_3original+1;
3244 
3245  }
3246  }
3247 
3248  }
3249  //=============================DEAD ENDD================
3250  //=========================================================
3251  if (check_to_go_further==3)
3252  {
3253 
3254  int nb_ttri_alreday= lst_tri_already_existed.get_nb();
3255 
3256  if((nb_ttri_alreday==7) || (nb_ttri_alreday==8))
3257  {
3258  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);
3259 
3260  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);
3261 
3262  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);
3263 
3264 
3265  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);
3266 
3267 
3268  m_mg_maillage->ajouter_mg_noeud(node_added_middle);
3269  // node_added_middle->get_lien_topologie()->get_lien_maillage()->ajouter(node_added_middle);
3270  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());
3271 
3272  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());
3273 
3274  //-------------------------------------------
3275  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());
3276 
3277  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());
3278  //----------------------------------------------
3279  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());
3280 
3281  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());
3282  //-------------------------------------------------------
3283  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());
3284 
3285  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());
3286  //----------------------------------------------------------
3287  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());
3288 
3289  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());
3290  //-----------------------------------------------------------------
3291  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());
3292 
3293  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());
3294  //----------------------------------------------------------------------
3295  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());
3296 
3297  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());
3298  //-------------------------------------------------------------
3299 
3300 
3301  if (quality1>0.0001)
3302  {
3303  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());
3304 
3305  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3306  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3307  check_to_go_further=5;
3308 
3309  }
3310  if (qualityo1>0.0001)
3311  {
3312  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());
3313  check_to_go_further=5;
3314  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3315  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3316  }
3317  if (quality2>0.0001)
3318  {
3319  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());
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 
3324  }
3325  if (qualityo2>0.0001)
3326  {
3327  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());
3328 
3329  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3330  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3331  ;
3332  }
3333  if (quality3>0.0001)
3334  {
3335  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());
3336 
3337  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3338  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3339 
3340  }
3341  if (qualityo3>0.0001)
3342  {
3343  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());
3344  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3345  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3346 
3347  }
3348  if (quality4>0.0001)
3349  {
3350  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());
3351  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3352  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3353 
3354  }
3355  if (qualityo4>0.0001)
3356  {
3357  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());
3358  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3359  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3360 
3361  }
3362  if (quality5>0.0001)
3363  {
3364  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());
3365 
3366  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3367  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3368 
3369  }
3370  if (qualityo5>0.0001)
3371  {
3372  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());
3373  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3374  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3375 
3376 
3377  }
3378  if (quality6>0.0001)
3379  {
3380  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());
3381  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3382  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3383 
3384  }
3385  if (qualityo6>0.0001)
3386  {
3387  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());
3388  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3389  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3390 
3391  }
3392  if (quality7>0.0001)
3393  {
3394  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());
3395 
3396  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3397  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3398 
3399  }
3400  if (qualityo7>0.0001)
3401  {
3402  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());
3403  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3404 nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3405 
3406  }
3407 
3408  //-------------------------------------------------------------------
3409  if(nb_ttri_alreday==8)
3410  {
3411  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());
3412 
3413  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());
3414 
3415  if (quality8>0.0001)
3416  {
3417  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());
3418 
3419  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3420  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3421 
3422  }
3423 
3424  if (qualityo8>0.0001)
3425  {
3426  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());
3427 
3428  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3429  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3430 
3431  }
3432  }
3433  if(nb_ttri_alreday==7)
3434  {
3435 
3436  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());
3437 
3438  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());
3439 
3440 
3441  if (quality8>0.0001)
3442  {
3443  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());
3444 
3445  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3446  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3447 
3448  }
3449 
3450  if (qualityo8>0.0001)
3451  {
3452  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());
3453  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3454  nb_tet_6nodes_accepted_3original_deadend=nb_tet_6nodes_accepted_3original_deadend+1;
3455 
3456  }
3457  }
3458  }
3459 
3460  }
3461  if (check_to_go_further==3)
3462  {
3463  printf(" not created 6--3!!!!!!!! \n\n");
3464  return;
3465 
3466  }
3467 
3468  lst_tri_already_existed.vide();
3469  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();
3470 
3471  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();
3472  lst_node_tri29.vide();lst_node_tri210.vide();
3473 
3474  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();
3475  lst_node_tri39.vide();lst_node_tri310.vide();
3476 
3477  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();
3478  lst_node_tri49.vide();lst_node_tri410.vide();
3479 
3480  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();
3481  lst_node_tri59.vide();lst_node_tri510.vide();
3482 
3483  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();
3484  lst_node_tri69.vide();lst_node_tri610.vide();
3485 
3486 }
3487 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)
3488 {
3489 
3490  TPL_MAP_ENTITE<MG_TETRA*> lst_tet_added;
3491  double qualite_min_3D=std::numeric_limits< double >::max();
3492  double qualite_max_3D=std::numeric_limits< double >::min();
3493  double qualite_moyenne_3D=0;
3494 
3495  TPL_MAP_ENTITE<MG_TRIANGLE*>lst_tri_already_existed;
3496 
3497  int identi000=lst_node_in_second.get(0)->get_id();
3498  int identi111=lst_node_in_second.get(1)->get_id();
3499  int identi222=lst_node_in_second.get(2)->get_id();
3500  int identi333=lst_node_in_second.get(3)->get_id();
3501  int identi444=lst_node_in_second.get(4)->get_id();
3502  int identi555=lst_node_in_second.get(5)->get_id();
3503  int identi666=lst_node_in_second.get(6)->get_id();
3504  int identi777=lst_node_in_second.get(7)->get_id();
3505 
3506  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;
3507 
3508  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;
3509 
3510  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;
3511 
3512  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;
3513 
3514  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;
3515 
3516  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;
3517  //--------------------------------------------------------------------------------------
3518 
3519 
3520  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;
3521 
3522  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;
3523 
3524  //===============================For each of 6 nodes of prism=============================
3525  for (int ll=0;ll<6;ll++)
3526  {
3527  int ntt=lst_node_in.get(ll)->get_lien_triangle()->get_nb();
3528  //===============================For each triangle of nb triangles of each node===============
3529  if(ntt>0)
3530  {
3531  for(int mm=0;mm<ntt;mm++)
3532  {
3533  MG_TRIANGLE* tri_related_nodee= lst_node_in.get(ll)->get_lien_triangle()->get(mm);
3534 
3535  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())))
3536  {
3537  lst_tri_already_existed.ajouter(tri_related_nodee);
3538  }}}}
3539 
3540  int check_not_to_creat_tetra=0;
3541  int check_to_creat_tetra=0;
3542  int check_to_go_further=3;
3543 
3544 
3545  if (identi111 == identi555)
3546  {
3547 
3548  int id_node_common0=(map_correspondance_node_node_out.find(lst_node_in_second.get(0))->second)->get_id();
3549  int id_node_common2=(map_correspondance_node_node_out.find(lst_node_in_second.get(2))->second)->get_id();
3550  int id_node_common4=(map_correspondance_node_node_out.find(lst_node_in_second.get(4))->second)->get_id();
3551  int id_node_common6=(map_correspondance_node_node_out.find(lst_node_in_second.get(6))->second)->get_id();
3552 
3553 
3554  if(id_node_common0==id_node_common2)
3555  {
3556 
3557  //============================================Getting the Qualities===============================================
3558  //====================================================================================================================
3559 
3560  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());
3561 
3562  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());
3563 
3564  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());
3565 
3566  //----------------------------------------------------
3567  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());
3568 
3569  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());
3570 
3571  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());
3572 
3573  lst_node_tri11.ajouter(lst_node_in_second.get(1));
3574  lst_node_tri11.ajouter(lst_node_in_second.get(2));
3575  lst_node_tri11.ajouter(lst_node_in_second.get(3));
3576 
3577  lst_node_tri12.ajouter(lst_node_in_second.get(1));
3578  lst_node_tri12.ajouter(lst_node_in_second.get(2));
3579  lst_node_tri12.ajouter(lst_node_in_second.get(6));
3580 
3581  lst_node_tri13.ajouter(lst_node_in_second.get(1));
3582  lst_node_tri13.ajouter(lst_node_in_second.get(3));
3583  lst_node_tri13.ajouter(lst_node_in_second.get(6));
3584 
3585  lst_node_tri14.ajouter(lst_node_in_second.get(2));
3586  lst_node_tri14.ajouter(lst_node_in_second.get(3));
3587  lst_node_tri14.ajouter(lst_node_in_second.get(6));
3588 
3589  lst_node_tri15.ajouter(lst_node_in_second.get(0));
3590  lst_node_tri15.ajouter(lst_node_in_second.get(1));
3591  lst_node_tri15.ajouter(lst_node_in_second.get(4));
3592 
3593  lst_node_tri16.ajouter(lst_node_in_second.get(0));
3594  lst_node_tri16.ajouter(lst_node_in_second.get(1));
3595  lst_node_tri16.ajouter(lst_node_in_second.get(6));
3596 
3597  lst_node_tri17.ajouter(lst_node_in_second.get(0));
3598  lst_node_tri17.ajouter(lst_node_in_second.get(4));
3599  lst_node_tri17.ajouter(lst_node_in_second.get(6));
3600 
3601  lst_node_tri18.ajouter(lst_node_in_second.get(1));
3602  lst_node_tri18.ajouter(lst_node_in_second.get(4));
3603  lst_node_tri18.ajouter(lst_node_in_second.get(6));
3604 
3605  lst_node_tri19.ajouter(lst_node_in_second.get(0));
3606  lst_node_tri19.ajouter(lst_node_in_second.get(1));
3607  lst_node_tri19.ajouter(lst_node_in_second.get(2));
3608 
3609  lst_node_tri110.ajouter(lst_node_in_second.get(0));
3610  lst_node_tri110.ajouter(lst_node_in_second.get(2));
3611  lst_node_tri110.ajouter(lst_node_in_second.get(6));
3612 
3613  //----------------------------------------------------
3614  //----------------------------------------------------
3615  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());
3616 
3617  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());
3618 
3619 
3620  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());
3621 
3622  //----------------------------------------------------
3623  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());
3624 
3625  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());
3626 
3627  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());
3628 
3629  lst_node_tri21.ajouter(lst_node_in_second.get(1));
3630  lst_node_tri21.ajouter(lst_node_in_second.get(2));
3631  lst_node_tri21.ajouter(lst_node_in_second.get(3));
3632 
3633  lst_node_tri22.ajouter(lst_node_in_second.get(1));
3634  lst_node_tri22.ajouter(lst_node_in_second.get(2));
3635  lst_node_tri22.ajouter(lst_node_in_second.get(6));
3636 
3637  lst_node_tri23.ajouter(lst_node_in_second.get(1));
3638  lst_node_tri23.ajouter(lst_node_in_second.get(3));
3639  lst_node_tri23.ajouter(lst_node_in_second.get(6));
3640 
3641  lst_node_tri24.ajouter(lst_node_in_second.get(2));
3642  lst_node_tri24.ajouter(lst_node_in_second.get(3));
3643  lst_node_tri24.ajouter(lst_node_in_second.get(6));
3644 
3645  lst_node_tri25.ajouter(lst_node_in_second.get(0));
3646  lst_node_tri25.ajouter(lst_node_in_second.get(1));
3647  lst_node_tri25.ajouter(lst_node_in_second.get(2));
3648 
3649  lst_node_tri26.ajouter(lst_node_in_second.get(0));
3650  lst_node_tri26.ajouter(lst_node_in_second.get(1));
3651  lst_node_tri26.ajouter(lst_node_in_second.get(4));
3652 
3653  lst_node_tri27.ajouter(lst_node_in_second.get(0));
3654  lst_node_tri27.ajouter(lst_node_in_second.get(2));
3655  lst_node_tri27.ajouter(lst_node_in_second.get(4));
3656 
3657  lst_node_tri28.ajouter(lst_node_in_second.get(1));
3658  lst_node_tri28.ajouter(lst_node_in_second.get(2));
3659  lst_node_tri28.ajouter(lst_node_in_second.get(4));
3660 
3661  lst_node_tri29.ajouter(lst_node_in_second.get(1));
3662  lst_node_tri29.ajouter(lst_node_in_second.get(4));
3663  lst_node_tri29.ajouter(lst_node_in_second.get(6));
3664 
3665  lst_node_tri210.ajouter(lst_node_in_second.get(2));
3666  lst_node_tri210.ajouter(lst_node_in_second.get(4));
3667  lst_node_tri210.ajouter(lst_node_in_second.get(6));
3668  //----------------------------------------------------
3669  //----------------------------------------------------
3670  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());
3671 
3672  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());
3673 
3674  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());
3675 
3676  //----------------------------------------------------
3677  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());
3678 
3679  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());
3680 
3681  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());
3682 
3683  lst_node_tri31.ajouter(lst_node_in_second.get(3));
3684  lst_node_tri31.ajouter(lst_node_in_second.get(2));
3685  lst_node_tri31.ajouter(lst_node_in_second.get(4));
3686 
3687  lst_node_tri32.ajouter(lst_node_in_second.get(2));
3688  lst_node_tri32.ajouter(lst_node_in_second.get(3));
3689  lst_node_tri32.ajouter(lst_node_in_second.get(6));
3690 
3691  lst_node_tri33.ajouter(lst_node_in_second.get(2));
3692  lst_node_tri33.ajouter(lst_node_in_second.get(4));
3693  lst_node_tri33.ajouter(lst_node_in_second.get(6));
3694 
3695  lst_node_tri34.ajouter(lst_node_in_second.get(3));
3696  lst_node_tri34.ajouter(lst_node_in_second.get(4));
3697  lst_node_tri34.ajouter(lst_node_in_second.get(6));
3698 
3699  lst_node_tri35.ajouter(lst_node_in_second.get(2));
3700  lst_node_tri35.ajouter(lst_node_in_second.get(1));
3701  lst_node_tri35.ajouter(lst_node_in_second.get(3));
3702 
3703  lst_node_tri36.ajouter(lst_node_in_second.get(2));
3704  lst_node_tri36.ajouter(lst_node_in_second.get(1));
3705  lst_node_tri36.ajouter(lst_node_in_second.get(4));
3706 
3707  lst_node_tri37.ajouter(lst_node_in_second.get(1));
3708  lst_node_tri37.ajouter(lst_node_in_second.get(3));
3709 
3710  lst_node_tri37.ajouter(lst_node_in_second.get(4));
3711 
3712  lst_node_tri38.ajouter(lst_node_in_second.get(0));
3713  lst_node_tri38.ajouter(lst_node_in_second.get(1));
3714  lst_node_tri38.ajouter(lst_node_in_second.get(2));
3715 
3716  lst_node_tri39.ajouter(lst_node_in_second.get(0));
3717  lst_node_tri39.ajouter(lst_node_in_second.get(2));
3718  lst_node_tri39.ajouter(lst_node_in_second.get(4));
3719 
3720  lst_node_tri310.ajouter(lst_node_in_second.get(0));
3721  lst_node_tri310.ajouter(lst_node_in_second.get(1));
3722  lst_node_tri310.ajouter(lst_node_in_second.get(4));
3723  //----------------------------------------------------
3724  //----------------------------------------------------
3725  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());
3726 
3727  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());
3728 
3729  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());
3730  //----------------------------------------------------
3731  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());
3732 
3733  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());
3734 
3735  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());
3736 
3737  lst_node_tri41.ajouter(lst_node_in_second.get(0));
3738  lst_node_tri41.ajouter(lst_node_in_second.get(2));
3739  lst_node_tri41.ajouter(lst_node_in_second.get(3));
3740 
3741  lst_node_tri48.ajouter(lst_node_in_second.get(0));
3742  lst_node_tri48.ajouter(lst_node_in_second.get(2));
3743  lst_node_tri48.ajouter(lst_node_in_second.get(6));
3744 
3745 
3746  lst_node_tri42.ajouter(lst_node_in_second.get(0));
3747  lst_node_tri42.ajouter(lst_node_in_second.get(3));
3748  lst_node_tri42.ajouter(lst_node_in_second.get(6));
3749 
3750  lst_node_tri43.ajouter(lst_node_in_second.get(2));
3751  lst_node_tri43.ajouter(lst_node_in_second.get(3));
3752  lst_node_tri43.ajouter(lst_node_in_second.get(6));
3753 
3754  lst_node_tri44.ajouter(lst_node_in_second.get(0));
3755  lst_node_tri44.ajouter(lst_node_in_second.get(1));
3756  lst_node_tri44.ajouter(lst_node_in_second.get(3));
3757 
3758  lst_node_tri45.ajouter(lst_node_in_second.get(0));
3759  lst_node_tri45.ajouter(lst_node_in_second.get(1));
3760  lst_node_tri45.ajouter(lst_node_in_second.get(4));
3761 
3762  lst_node_tri46.ajouter(lst_node_in_second.get(0));
3763  lst_node_tri46.ajouter(lst_node_in_second.get(3));
3764  lst_node_tri46.ajouter(lst_node_in_second.get(4));
3765 
3766  lst_node_tri47.ajouter(lst_node_in_second.get(1));
3767  lst_node_tri47.ajouter(lst_node_in_second.get(3));
3768  lst_node_tri47.ajouter(lst_node_in_second.get(4));
3769 
3770  lst_node_tri49.ajouter(lst_node_in_second.get(0));
3771  lst_node_tri49.ajouter(lst_node_in_second.get(4));
3772  lst_node_tri49.ajouter(lst_node_in_second.get(6));
3773 
3774  lst_node_tri410.ajouter(lst_node_in_second.get(3));
3775  lst_node_tri410.ajouter(lst_node_in_second.get(4));
3776  lst_node_tri410.ajouter(lst_node_in_second.get(6));
3777  //----------------------------------------------------
3778  //----------------------------------------------------
3779  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());
3780 
3781  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());
3782 
3783  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());
3784 
3785 
3786  //----------------------------------------------------
3787  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());
3788 
3789  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());
3790 
3791  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());
3792 
3793  lst_node_tri51.ajouter(lst_node_in_second.get(3));
3794  lst_node_tri51.ajouter(lst_node_in_second.get(2));
3795  lst_node_tri51.ajouter(lst_node_in_second.get(4));
3796 
3797  lst_node_tri52.ajouter(lst_node_in_second.get(2));
3798 
3799  lst_node_tri52.ajouter(lst_node_in_second.get(3));
3800  lst_node_tri52.ajouter(lst_node_in_second.get(6));
3801 
3802  lst_node_tri53.ajouter(lst_node_in_second.get(2));
3803  lst_node_tri53.ajouter(lst_node_in_second.get(4));
3804  lst_node_tri53.ajouter(lst_node_in_second.get(6));
3805 
3806  lst_node_tri54.ajouter(lst_node_in_second.get(3));
3807  lst_node_tri54.ajouter(lst_node_in_second.get(4));
3808  lst_node_tri54.ajouter(lst_node_in_second.get(6));
3809 
3810  lst_node_tri55.ajouter(lst_node_in_second.get(1));
3811  lst_node_tri55.ajouter(lst_node_in_second.get(0));
3812  lst_node_tri55.ajouter(lst_node_in_second.get(3));
3813 
3814  lst_node_tri56.ajouter(lst_node_in_second.get(0));
3815  lst_node_tri56.ajouter(lst_node_in_second.get(1));
3816  lst_node_tri56.ajouter(lst_node_in_second.get(4));
3817 
3818  lst_node_tri57.ajouter(lst_node_in_second.get(0));
3819  lst_node_tri57.ajouter(lst_node_in_second.get(3));
3820  lst_node_tri57.ajouter(lst_node_in_second.get(4));
3821 
3822  lst_node_tri58.ajouter(lst_node_in_second.get(1));
3823  lst_node_tri58.ajouter(lst_node_in_second.get(3));
3824  lst_node_tri58.ajouter(lst_node_in_second.get(4));
3825 
3826  lst_node_tri59.ajouter(lst_node_in_second.get(0));
3827  lst_node_tri59.ajouter(lst_node_in_second.get(2));
3828  lst_node_tri59.ajouter(lst_node_in_second.get(3));
3829 
3830  lst_node_tri510.ajouter(lst_node_in_second.get(0));
3831  lst_node_tri510.ajouter(lst_node_in_second.get(2));
3832  lst_node_tri510.ajouter(lst_node_in_second.get(4));
3833 
3834  //----------------------------------------------------
3835  //----------------------------------------------------
3836  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());
3837 
3838  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());
3839 
3840  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());
3841 
3842  //----------------------------------------------------
3843  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());
3844 
3845  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());
3846 
3847  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());
3848 
3849  lst_node_tri61.ajouter(lst_node_in_second.get(0));
3850  lst_node_tri61.ajouter(lst_node_in_second.get(1));
3851  lst_node_tri61.ajouter(lst_node_in_second.get(4));
3852 
3853  lst_node_tri62.ajouter(lst_node_in_second.get(0));
3854  lst_node_tri62.ajouter(lst_node_in_second.get(1));
3855  lst_node_tri62.ajouter(lst_node_in_second.get(6));
3856 
3857  lst_node_tri63.ajouter(lst_node_in_second.get(0));
3858  lst_node_tri63.ajouter(lst_node_in_second.get(4));
3859  lst_node_tri63.ajouter(lst_node_in_second.get(6));
3860 
3861  lst_node_tri64.ajouter(lst_node_in_second.get(1));
3862  lst_node_tri64.ajouter(lst_node_in_second.get(6));
3863  lst_node_tri64.ajouter(lst_node_in_second.get(4));
3864 
3865  lst_node_tri65.ajouter(lst_node_in_second.get(0));
3866  lst_node_tri65.ajouter(lst_node_in_second.get(2));
3867  lst_node_tri65.ajouter(lst_node_in_second.get(3));
3868 
3869  lst_node_tri66.ajouter(lst_node_in_second.get(0));
3870  lst_node_tri66.ajouter(lst_node_in_second.get(2));
3871  lst_node_tri66.ajouter(lst_node_in_second.get(6));
3872 
3873  lst_node_tri67.ajouter(lst_node_in_second.get(2));
3874  lst_node_tri67.ajouter(lst_node_in_second.get(3));
3875  lst_node_tri67.ajouter(lst_node_in_second.get(6));
3876 
3877  lst_node_tri68.ajouter(lst_node_in_second.get(0));
3878  lst_node_tri68.ajouter(lst_node_in_second.get(3));
3879  lst_node_tri68.ajouter(lst_node_in_second.get(6));
3880 
3881  lst_node_tri69.ajouter(lst_node_in_second.get(0));
3882  lst_node_tri69.ajouter(lst_node_in_second.get(3));
3883  lst_node_tri69.ajouter(lst_node_in_second.get(1));
3884 
3885  lst_node_tri610.ajouter(lst_node_in_second.get(1));
3886  lst_node_tri610.ajouter(lst_node_in_second.get(6));
3887  lst_node_tri610.ajouter(lst_node_in_second.get(3));
3888 
3889  //----------------------------------------------------
3890  //---------------------------------------------------
3891 
3892  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)))
3893  {
3894  check_not_to_creat_tetra=0;
3895  LISTE_MG_TRIANGLE::iterator it_tri_existed;
3896  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))
3897  {
3898  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()))))
3899  {
3900 
3901  check_to_creat_tetra=2;
3902  }
3903  else
3904 
3905  {
3906  check_not_to_creat_tetra=3;
3907 
3908  }
3909 
3910  }
3911 
3912  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
3913  {
3914  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());
3915  check_to_go_further=5;
3916 
3917  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3918  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
3919 
3920  }
3921 
3922  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
3923  {
3924  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());
3925  check_to_go_further=5;
3926 
3927  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3928  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
3929  }
3930 
3931  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
3932  {
3933  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());
3934  check_to_go_further=5;
3935 
3936 
3937  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3938  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
3939  }
3940  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
3941  {
3942  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());
3943  check_to_go_further=5;
3944 
3945  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3946  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
3947  }
3948 
3949  if ((quall3>0.00001) && (check_not_to_creat_tetra!=3))
3950  {
3951  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());
3952 
3953  check_to_go_further=5;
3954  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3955  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
3956  }
3957  if ((quallo3>0.00001) && (check_not_to_creat_tetra!=3))
3958 
3959  {
3960  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());
3961  check_to_go_further=5;
3962 
3963 
3964  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3965 
3966  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
3967  }
3968  }
3969  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)))
3970  {
3971  check_not_to_creat_tetra=0;
3972  LISTE_MG_TRIANGLE::iterator it_tri_existed;
3973  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))
3974  {
3975  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()))))
3976  {
3977  check_to_creat_tetra=2;
3978  }
3979  else
3980  {
3981  check_not_to_creat_tetra=3;
3982  }
3983  }
3984 
3985  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
3986  {
3987  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());
3988  check_to_go_further=5;
3989 
3990  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
3991  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
3992 
3993  }
3994 
3995  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
3996  {
3997  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());
3998  check_to_go_further=5;
3999 
4000  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4001  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4002 
4003  }
4004 
4005  if((quall6>0.00001) && (check_not_to_creat_tetra!=3))
4006  {
4007  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());
4008  check_to_go_further=5;
4009  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4010  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4011  }
4012  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
4013  {
4014  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());
4015  check_to_go_further=5;
4016 
4017  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4018  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4019 
4020 
4021  }
4022 
4023  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
4024  {
4025  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());
4026  check_to_go_further=5;
4027 
4028  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4029  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4030 
4031  }
4032 
4033  if((quallo6>0.00001) && (check_not_to_creat_tetra!=3))
4034  {
4035  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());
4036  check_to_go_further=5;
4037 
4038  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4039  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4040 
4041  }
4042  }
4043  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)))
4044  {
4045  check_not_to_creat_tetra=0;
4046  LISTE_MG_TRIANGLE::iterator it_tri_existed;
4047  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))
4048  {
4049  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()))))
4050  {
4051 
4052  check_to_creat_tetra=2;
4053  }
4054 
4055  else
4056 
4057  {
4058  check_not_to_creat_tetra=3;
4059 
4060  }
4061 
4062  }
4063 
4064  if((quall7>0.00001) && (check_not_to_creat_tetra!=3))
4065  {
4066  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()));
4067  check_to_go_further=5;
4068  qualite_moyenne_3D+=quall7;
4069  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4070  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4071 
4072  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
4073 
4074  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
4075  }
4076 
4077  if((quallo7>0.00001) && (check_not_to_creat_tetra!=3))
4078 
4079  {
4080  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()));
4081  check_to_go_further=5;
4082  qualite_moyenne_3D+=quallo7;
4083  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4084  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4085 
4086  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
4087  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
4088  }
4089 
4090  if((quall8>0.00001) && (check_not_to_creat_tetra!=3))
4091  {
4092  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()));
4093  check_to_go_further=5;
4094  qualite_moyenne_3D+=quall8;
4095  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4096  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4097  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
4098 
4099  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
4100 
4101  }
4102 
4103  if((quallo8>0.00001) && (check_not_to_creat_tetra!=3))
4104  {
4105  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()));
4106  check_to_go_further=5;
4107  qualite_moyenne_3D+=quallo8;
4108  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4109  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4110  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
4111  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
4112 
4113  }
4114 
4115  if((quall9>0.00001) && (check_not_to_creat_tetra!=3))
4116  {
4117  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()));
4118  check_to_go_further=5;
4119 
4120  qualite_moyenne_3D+=quall9;
4121  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4122  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4123  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
4124 
4125 
4126  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
4127  }
4128 
4129  if((quallo9>0.00001) && (check_not_to_creat_tetra!=3))
4130  {
4131  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()));
4132  check_to_go_further=5;
4133  qualite_moyenne_3D+=quallo9;
4134  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4135  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4136  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
4137  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
4138  }
4139  }
4140  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)))
4141  {
4142  check_not_to_creat_tetra=0;
4143  LISTE_MG_TRIANGLE::iterator it_tri_existed;
4144  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))
4145  {
4146  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()))))
4147  {
4148  check_to_creat_tetra=2;
4149  }
4150  else
4151  {
4152  check_not_to_creat_tetra=3;
4153  }
4154  }
4155 
4156  if((quall10>0.00001) && (check_not_to_creat_tetra!=3))
4157  {
4158  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()));
4159 
4160  check_to_go_further=5;
4161  qualite_moyenne_3D+=quall10;
4162  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4163  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4164  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
4165  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
4166  }
4167  if((quallo10>0.00001) && (check_not_to_creat_tetra!=3))
4168  {
4169  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()));
4170 
4171  check_to_go_further=5;
4172 
4173  qualite_moyenne_3D+=quallo10;
4174  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4175  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4176  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
4177  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
4178  }
4179 
4180  if((quall11>0.00001) && (check_not_to_creat_tetra!=3))
4181  {
4182  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()));
4183  check_to_go_further=5;
4184  qualite_moyenne_3D+=quall11;
4185  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4186  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4187  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
4188  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
4189  }
4190  if((quallo11>0.00001) && (check_not_to_creat_tetra!=3))
4191  {
4192  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()));
4193 
4194  check_to_go_further=5;
4195  qualite_moyenne_3D+=quallo11;
4196 
4197  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4198  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4199  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
4200  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
4201  }
4202  if((quall12>0.00001) && (check_not_to_creat_tetra!=3))
4203  {
4204  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()));
4205  check_to_go_further=5;
4206  qualite_moyenne_3D+=quall12;
4207  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4208  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4209  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
4210  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
4211 
4212  }
4213  if((quallo12>0.00001) && (check_not_to_creat_tetra!=3))
4214 
4215  {
4216  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()));
4217  check_to_go_further=5;
4218  qualite_moyenne_3D+=quallo12;
4219  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4220  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4221  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
4222  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
4223  }
4224  }
4225  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)))
4226  {
4227  check_not_to_creat_tetra=0;
4228  LISTE_MG_TRIANGLE::iterator it_tri_existed;
4229  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))
4230  {
4231 
4232  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()))))
4233  {
4234  check_to_creat_tetra=2;
4235  }
4236  else
4237  {
4238  check_not_to_creat_tetra=3;
4239  }
4240  }
4241  if((quall13>0.00001) && (check_not_to_creat_tetra!=3))
4242  {
4243  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()));
4244  check_to_go_further=5;
4245  qualite_moyenne_3D+=quall13;
4246  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4247  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4248  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
4249 
4250 
4251  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
4252  }
4253 
4254  if((quallo13>0.00001) && (check_not_to_creat_tetra!=3))
4255  {
4256  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()));
4257  check_to_go_further=5;
4258  qualite_moyenne_3D+=quallo13;
4259  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4260  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4261  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
4262 
4263  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
4264  }
4265 
4266  if((quall14>0.00001) && (check_not_to_creat_tetra!=3))
4267  {
4268  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()));
4269 
4270  check_to_go_further=5;
4271  qualite_moyenne_3D+=quall14;
4272  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4273  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4274 
4275  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
4276  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
4277  }
4278 
4279  if((quallo14>0.00001) && (check_not_to_creat_tetra!=3))
4280  {
4281  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()));
4282 
4283  check_to_go_further=5;
4284 
4285  qualite_moyenne_3D+=quallo14;
4286  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4287  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4288  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
4289  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
4290  }
4291 
4292  if((quall15>0.00001) && (check_not_to_creat_tetra!=3))
4293  {
4294  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()));
4295  check_to_go_further=5;
4296  qualite_moyenne_3D+=quall15;
4297  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4298  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4299  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
4300  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
4301  }
4302 
4303  if((quallo15>0.00001) && (check_not_to_creat_tetra!=3))
4304  {
4305 
4306  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()));
4307  check_to_go_further=5;
4308  qualite_moyenne_3D+=quallo15;
4309  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4310  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4311  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
4312  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
4313  }
4314  }
4315  if ((quall16>0.001 || quallo16>0.001) && (quall17>0.001 || quallo17>0.001) && (quall18>0.001 || quallo18>0.001) && (check_to_go_further==3))
4316  {
4317  check_not_to_creat_tetra=0;
4318  LISTE_MG_TRIANGLE::iterator it_tri_existed;
4319  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))
4320  {
4321  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()))))
4322  {
4323  check_to_creat_tetra=2;
4324  }
4325  else
4326  {
4327  check_not_to_creat_tetra=3;
4328  }
4329  }
4330 
4331  if((quall16>0.00001) && (check_not_to_creat_tetra!=3))
4332  {
4333  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()));
4334 
4335  check_to_go_further=5;
4336  qualite_moyenne_3D+=quall16;
4337  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4338  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4339 
4340  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
4341  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
4342  }
4343  if((quallo16>0.00001) && (check_not_to_creat_tetra!=3))
4344  {
4345  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()));
4346  check_to_go_further=5;
4347  qualite_moyenne_3D+=quallo16;
4348  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4349  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4350  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
4351  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
4352  }
4353  if((quall17>0.00001) && (check_not_to_creat_tetra!=3))
4354  {
4355  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()));
4356  check_to_go_further=5;
4357  qualite_moyenne_3D+=quall17;
4358  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4359  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4360  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
4361  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
4362  }
4363  if((quallo17>0.00001) && (check_not_to_creat_tetra!=3))
4364  {
4365  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()));
4366  check_to_go_further=5;
4367  qualite_moyenne_3D+=quallo17;
4368 
4369  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4370  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4371 
4372  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
4373  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
4374  }
4375  if((quall18>0.00001) && (check_not_to_creat_tetra!=3))
4376  {
4377  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()));
4378  check_to_go_further=5;
4379  qualite_moyenne_3D+=quall18;
4380  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4381  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4382  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
4383  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
4384  }
4385  if((quallo18>0.00001) && (check_not_to_creat_tetra!=3))
4386  {
4387  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()));
4388  check_to_go_further=5;
4389  qualite_moyenne_3D+=quallo18;
4390 
4391  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4392  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4393  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
4394  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
4395  }
4396  }
4397  //============================================Second loop==============================================================
4398  if (check_to_go_further==3)
4399  {
4400  if ((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001) && (quall3>0.001 || quallo3>0.001))
4401  {
4402  check_not_to_creat_tetra=0;
4403  LISTE_MG_TRIANGLE::iterator it_tri_existed;
4404 
4405  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))
4406 
4407  {
4408 
4409  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()))))
4410  {
4411 
4412  check_to_creat_tetra=2;
4413  }
4414 
4415 
4416  else
4417 
4418  {
4419  check_not_to_creat_tetra=3;
4420 
4421  }
4422 
4423  }
4424 
4425 
4426  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
4427  {
4428  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()));
4429  check_to_go_further=5;
4430  qualite_moyenne_3D+=quall1;
4431  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4432  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4433  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
4434  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
4435  }
4436 
4437  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
4438  {
4439  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()));
4440  check_to_go_further=5;
4441  qualite_moyenne_3D+=quallo1;
4442  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
4443  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
4444  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4445  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4446  }
4447 
4448  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
4449  {
4450  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()));
4451  check_to_go_further=5;
4452 
4453  qualite_moyenne_3D+=quall2;
4454  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
4455  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
4456 
4457  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4458  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4459  }
4460  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
4461  {
4462  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()));
4463  check_to_go_further=5;
4464 
4465  qualite_moyenne_3D+=quallo2;
4466  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
4467  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
4468 
4469  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4470  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4471  }
4472 
4473  if ((quall3>0.00001) && (check_not_to_creat_tetra!=3))
4474  {
4475  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()));
4476 
4477  check_to_go_further=5;
4478 
4479  qualite_moyenne_3D+=quall3;
4480  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
4481  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
4482  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4483  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4484  }
4485  if ((quallo3>0.00001) && (check_not_to_creat_tetra!=3))
4486 
4487  {
4488  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()));
4489  check_to_go_further=5;
4490  qualite_moyenne_3D+=quallo3;
4491  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
4492  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
4493  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4494  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4495  }
4496 
4497  }
4498  if ((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (quall6>0.001 || quallo6>0.001) && (check_to_go_further==3))
4499  {
4500  check_not_to_creat_tetra=0;
4501  LISTE_MG_TRIANGLE::iterator it_tri_existed;
4502 
4503  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))
4504 
4505  {
4506 
4507  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()))))
4508  {
4509 
4510  check_to_creat_tetra=2;
4511  }
4512 
4513  else
4514 
4515  {
4516  check_not_to_creat_tetra=3;
4517 
4518  }
4519 
4520  }
4521 
4522  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
4523  {
4524  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()));
4525  check_to_go_further=5;
4526  qualite_moyenne_3D+=quall4;
4527  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4528  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4529  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
4530  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
4531  }
4532 
4533  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
4534  {
4535  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()));
4536  check_to_go_further=5;
4537  qualite_moyenne_3D+=quall5;
4538  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4539  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4540  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
4541 
4542  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
4543 
4544  }
4545 
4546  if((quall6>0.00001) && (check_not_to_creat_tetra!=3))
4547  {
4548  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()));
4549  check_to_go_further=5;
4550 
4551  qualite_moyenne_3D+=quall6;
4552  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4553  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4554  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
4555  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
4556 
4557  }
4558  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
4559  {
4560  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()));
4561  check_to_go_further=5;
4562  qualite_moyenne_3D+=quallo4;
4563  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4564  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4565  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
4566  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
4567 
4568  }
4569 
4570  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
4571  {
4572  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()));
4573  check_to_go_further=5;
4574  qualite_moyenne_3D+=quallo5;
4575  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4576  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4577  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
4578  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
4579 
4580  }
4581 
4582  if((quallo6>0.00001) && (check_not_to_creat_tetra!=3))
4583  {
4584  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()));
4585  check_to_go_further=5;
4586  qualite_moyenne_3D+=quallo6;
4587  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4588  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4589  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
4590  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
4591 
4592  }
4593  }
4594 
4595  if ((quall7>0.001 || quallo7>0.001) && (quall8>0.001 || quallo8>0.001) && (quall9>0.001 || quallo9>0.001) && (check_to_go_further==3))
4596  {
4597  check_not_to_creat_tetra=0;
4598  LISTE_MG_TRIANGLE::iterator it_tri_existed;
4599  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))
4600 
4601  {
4602 
4603  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()))))
4604  {
4605 
4606  check_to_creat_tetra=2;
4607  }
4608 
4609  else
4610 
4611  {
4612  check_not_to_creat_tetra=3;
4613 
4614  }
4615 
4616  }
4617 
4618  if((quall7>0.00001) && (check_not_to_creat_tetra!=3))
4619  {
4620  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()));
4621  check_to_go_further=5;
4622  qualite_moyenne_3D+=quall7;
4623  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4624  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4625 
4626  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
4627 
4628  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
4629  }
4630 
4631  if((quallo7>0.00001) && (check_not_to_creat_tetra!=3))
4632 
4633  {
4634  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()));
4635  check_to_go_further=5;
4636  qualite_moyenne_3D+=quallo7;
4637  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4638  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4639 
4640  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
4641  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
4642  }
4643 
4644  if((quall8>0.00001) && (check_not_to_creat_tetra!=3))
4645  {
4646  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()));
4647  check_to_go_further=5;
4648  qualite_moyenne_3D+=quall8;
4649  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4650  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4651  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
4652 
4653  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
4654 
4655  }
4656 
4657  if((quallo8>0.00001) && (check_not_to_creat_tetra!=3))
4658  {
4659  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()));
4660  check_to_go_further=5;
4661  qualite_moyenne_3D+=quallo8;
4662  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4663  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4664  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
4665  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
4666 
4667  }
4668 
4669  if((quall9>0.00001) && (check_not_to_creat_tetra!=3))
4670  {
4671  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()));
4672  check_to_go_further=5;
4673 
4674  qualite_moyenne_3D+=quall9;
4675  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4676  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4677  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
4678  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
4679  }
4680 
4681  if((quallo9>0.00001) && (check_not_to_creat_tetra!=3))
4682  {
4683  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()));
4684  check_to_go_further=5;
4685  qualite_moyenne_3D+=quallo9;
4686  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4687  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4688  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
4689  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
4690  }
4691  }
4692 
4693  if ((quall10>0.001 || quallo10>0.001) && (quall12>0.001 || quallo12>0.001) && (quall11>0.001 || quallo11>0.001) && (check_to_go_further==3))
4694  {
4695  check_not_to_creat_tetra=0;
4696  LISTE_MG_TRIANGLE::iterator it_tri_existed;
4697  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))
4698  {
4699  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()))))
4700  {
4701 
4702 
4703  check_to_creat_tetra=2;
4704 
4705  }
4706 
4707  else
4708 
4709  {
4710  check_not_to_creat_tetra=3;
4711 
4712  }
4713 
4714  }
4715 
4716  if((quall10>0.00001) && (check_not_to_creat_tetra!=3))
4717  {
4718  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()));
4719 
4720  check_to_go_further=5;
4721 
4722  qualite_moyenne_3D+=quall10;
4723  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4724  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4725  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
4726  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
4727  }
4728  if((quallo10>0.00001) && (check_not_to_creat_tetra!=3))
4729  {
4730  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()));
4731 
4732  check_to_go_further=5;
4733  qualite_moyenne_3D+=quallo10;
4734  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4735  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4736  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
4737  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
4738  }
4739 
4740  if((quall11>0.00001) && (check_not_to_creat_tetra!=3))
4741  {
4742  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()));
4743  check_to_go_further=5;
4744  qualite_moyenne_3D+=quall11;
4745  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4746  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4747  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
4748  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
4749  }
4750  if((quallo11>0.00001) && (check_not_to_creat_tetra!=3))
4751  {
4752  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()));
4753 
4754  check_to_go_further=5;
4755  qualite_moyenne_3D+=quallo11;
4756 
4757  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4758  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4759  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
4760  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
4761  }
4762  if((quall12>0.00001) && (check_not_to_creat_tetra!=3))
4763  {
4764  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()));
4765  check_to_go_further=5;
4766  qualite_moyenne_3D+=quall12;
4767  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4768  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4769  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
4770  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
4771  }
4772  if((quallo12>0.00001) && (check_not_to_creat_tetra!=3))
4773 
4774  {
4775  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()));
4776  check_to_go_further=5;
4777  qualite_moyenne_3D+=quallo12;
4778  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4779  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4780  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
4781  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
4782  }
4783  }
4784  if ((quall13>0.001 || quallo13>0.001) && (quall14>0.001 || quallo14>0.001) && (quall15>0.001 || quallo15>0.001) && (check_to_go_further==3))
4785  {
4786 
4787  check_not_to_creat_tetra=0;
4788  LISTE_MG_TRIANGLE::iterator it_tri_existed;
4789  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))
4790 
4791  {
4792 
4793  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()))))
4794  {
4795 
4796  check_to_creat_tetra=2;
4797  }
4798 
4799  else
4800 
4801  {
4802  check_not_to_creat_tetra=3;
4803 
4804  }
4805 
4806  }
4807  if((quall13>0.00001) && (check_not_to_creat_tetra!=3))
4808  {
4809  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()));
4810  check_to_go_further=5;
4811  qualite_moyenne_3D+=quall13;
4812  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4813  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4814  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
4815 
4816 
4817  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
4818  }
4819 
4820  if((quallo13>0.00001) && (check_not_to_creat_tetra!=3))
4821  {
4822  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()));
4823  check_to_go_further=5;
4824  qualite_moyenne_3D+=quallo13;
4825  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4826  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4827  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
4828 
4829  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
4830  }
4831 
4832  if((quall14>0.00001) && (check_not_to_creat_tetra!=3))
4833  {
4834  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()));
4835 
4836  check_to_go_further=5;
4837  qualite_moyenne_3D+=quall14;
4838  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4839  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4840 
4841  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
4842  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
4843  }
4844 
4845  if((quallo14>0.00001) && (check_not_to_creat_tetra!=3))
4846  {
4847  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()));
4848 
4849  check_to_go_further=5;
4850 
4851  qualite_moyenne_3D+=quallo14;
4852  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4853  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4854  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
4855  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
4856  }
4857 
4858  if((quall15>0.00001) && (check_not_to_creat_tetra!=3))
4859  {
4860  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()));
4861  check_to_go_further=5;
4862  qualite_moyenne_3D+=quall15;
4863  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4864  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4865  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
4866  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
4867  }
4868 
4869  if((quallo15>0.00001) && (check_not_to_creat_tetra!=3))
4870  {
4871 
4872  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()));
4873  check_to_go_further=5;
4874  qualite_moyenne_3D+=quallo15;
4875  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4876  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4877  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
4878  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
4879  }
4880  }
4881 
4882  if ((quall16>0.001 || quallo16>0.001) && (quall17>0.001 || quallo17>0.001) && (quall18>0.001 || quallo18>0.001) && (check_to_go_further==3))
4883  {
4884  check_not_to_creat_tetra=0;
4885  LISTE_MG_TRIANGLE::iterator it_tri_existed;
4886  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))
4887 
4888  {
4889 
4890  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()))))
4891  {
4892 
4893  check_to_creat_tetra=2;
4894  }
4895 
4896 
4897  else
4898 
4899  {
4900  check_not_to_creat_tetra=3;
4901 
4902  }
4903 
4904  }
4905 
4906  if((quall16>0.00001) && (check_not_to_creat_tetra!=3))
4907  {
4908  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()));
4909 
4910  check_to_go_further=5;
4911  qualite_moyenne_3D+=quall16;
4912  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4913  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4914 
4915  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
4916  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
4917  }
4918  if((quallo16>0.00001) && (check_not_to_creat_tetra!=3))
4919  {
4920  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()));
4921 
4922  check_to_go_further=5;
4923  qualite_moyenne_3D+=quallo16;
4924  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4925  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4926  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
4927  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
4928  }
4929  if((quall17>0.00001) && (check_not_to_creat_tetra!=3))
4930  {
4931  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()));
4932  check_to_go_further=5;
4933  qualite_moyenne_3D+=quall17;
4934  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4935  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4936  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
4937  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
4938  }
4939  if((quallo17>0.00001) && (check_not_to_creat_tetra!=3))
4940  {
4941  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()));
4942  check_to_go_further=5;
4943  qualite_moyenne_3D+=quallo17;
4944 
4945  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4946  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4947 
4948  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
4949  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
4950  }
4951  if((quall18>0.00001) && (check_not_to_creat_tetra!=3))
4952  {
4953  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()));
4954  check_to_go_further=5;
4955  qualite_moyenne_3D+=quall18;
4956  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4957  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4958  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
4959  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
4960  }
4961  if((quallo18>0.00001) && (check_not_to_creat_tetra!=3))
4962  {
4963  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()));
4964  check_to_go_further=5;
4965  qualite_moyenne_3D+=quallo18;
4966 
4967  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
4968  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
4969  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
4970  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
4971  }
4972  }
4973  }
4974  //============================================Third loop==============================================================
4975  if (check_to_go_further==3)
4976  {
4977  if ((quall1>0.000001 || quallo1>0.000001) && (quall2>0.000001 || quallo2>0.000001) && (quall3>0.000001 || quallo3>0.000001))
4978  {
4979  check_not_to_creat_tetra=0;
4980  LISTE_MG_TRIANGLE::iterator it_tri_existed;
4981  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))
4982 
4983  {
4984 
4985  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()))))
4986  {
4987 
4988  check_to_creat_tetra=2;
4989  }
4990 
4991 
4992  else
4993 
4994  {
4995  check_not_to_creat_tetra=3;
4996 
4997  }
4998 
4999  }
5000 
5001 
5002  if ((quall1>0.000001) && (check_not_to_creat_tetra!=3))
5003  {
5004  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()));
5005  check_to_go_further=5;
5006  qualite_moyenne_3D+=quall1;
5007  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5008  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5009  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
5010  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
5011  }
5012 
5013  if ((quallo1>0.000001) && (check_not_to_creat_tetra!=3))
5014  {
5015  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()));
5016  check_to_go_further=5;
5017  qualite_moyenne_3D+=quallo1;
5018  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
5019  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
5020  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5021  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5022  }
5023 
5024  if ((quall2>0.000001) && (check_not_to_creat_tetra!=3))
5025  {
5026  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()));
5027  check_to_go_further=5;
5028 
5029  qualite_moyenne_3D+=quall2;
5030  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
5031  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
5032 
5033  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5034  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5035  }
5036  if ((quallo2>0.000001) && (check_not_to_creat_tetra!=3))
5037  {
5038  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()));
5039  check_to_go_further=5;
5040 
5041  qualite_moyenne_3D+=quallo2;
5042  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
5043  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
5044 
5045  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5046  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5047  }
5048 
5049  if ((quall3>0.000001) && (check_not_to_creat_tetra!=3))
5050  {
5051  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()));
5052 
5053  check_to_go_further=5;
5054 
5055  qualite_moyenne_3D+=quall3;
5056  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
5057  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
5058  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5059  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5060  }
5061  if ((quallo3>0.000001) && (check_not_to_creat_tetra!=3))
5062 
5063  {
5064  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()));
5065  check_to_go_further=5;
5066  qualite_moyenne_3D+=quallo3;
5067  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
5068  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
5069  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5070  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5071  }
5072  }
5073  if ((quall4>0.000001 || quallo4>0.000001) && (quall5>0.000001 || quallo5>0.000001) && (quall6>0.000001 || quallo6>0.000001) && (check_to_go_further==3))
5074  {
5075  check_not_to_creat_tetra=0;
5076  LISTE_MG_TRIANGLE::iterator it_tri_existed;
5077  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))
5078 
5079  {
5080 
5081  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()))))
5082  {
5083 
5084  check_to_creat_tetra=2;
5085  }
5086 
5087  else
5088 
5089  {
5090  check_not_to_creat_tetra=3;
5091 
5092  }
5093 
5094  }
5095 
5096  if((quall4>0.000001) && (check_not_to_creat_tetra!=3))
5097  {
5098  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()));
5099  check_to_go_further=5;
5100  qualite_moyenne_3D+=quall4;
5101  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5102  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5103  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
5104  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
5105  }
5106 
5107  if((quall5>0.000001) && (check_not_to_creat_tetra!=3))
5108  {
5109  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()));
5110  check_to_go_further=5;
5111  qualite_moyenne_3D+=quall5;
5112  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5113  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5114  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
5115 
5116  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
5117 
5118  }
5119 
5120  if((quall6>0.000001) && (check_not_to_creat_tetra!=3))
5121  {
5122  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()));
5123  check_to_go_further=5;
5124 
5125  qualite_moyenne_3D+=quall6;
5126  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5127  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5128  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
5129  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
5130 
5131  }
5132  if((quallo4>0.000001) && (check_not_to_creat_tetra!=3))
5133  {
5134  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()));
5135  check_to_go_further=5;
5136  qualite_moyenne_3D+=quallo4;
5137  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5138  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5139  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
5140  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
5141 
5142  }
5143 
5144  if((quallo5>0.000001) && (check_not_to_creat_tetra!=3))
5145  {
5146  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()));
5147  check_to_go_further=5;
5148  qualite_moyenne_3D+=quallo5;
5149  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5150  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5151  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
5152  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
5153 
5154  }
5155 
5156  if((quallo6>0.000001) && (check_not_to_creat_tetra!=3))
5157  {
5158  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()));
5159  check_to_go_further=5;
5160  qualite_moyenne_3D+=quallo6;
5161  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5162  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5163  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
5164  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
5165 
5166  }
5167  }
5168  if ((quall7>0.000001 || quallo7>0.000001) && (quall8>0.000001 || quallo8>0.000001) && (quall9>0.000001 || quallo9>0.000001) && (check_to_go_further==3))
5169  {
5170  check_not_to_creat_tetra=0;
5171  LISTE_MG_TRIANGLE::iterator it_tri_existed;
5172  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))
5173 
5174  {
5175 
5176  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()))))
5177  {
5178 
5179  check_to_creat_tetra=2;
5180  }
5181 
5182  else
5183 
5184  {
5185  check_not_to_creat_tetra=3;
5186 
5187  }
5188 
5189  }
5190 
5191  if((quall7>0.000001) && (check_not_to_creat_tetra!=3))
5192  {
5193  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()));
5194  check_to_go_further=5;
5195  qualite_moyenne_3D+=quall7;
5196  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5197  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5198 
5199  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
5200 
5201  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
5202  }
5203 
5204  if((quallo7>0.000001) && (check_not_to_creat_tetra!=3))
5205 
5206  {
5207  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()));
5208  check_to_go_further=5;
5209  qualite_moyenne_3D+=quallo7;
5210  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5211  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5212 
5213  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
5214  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
5215  }
5216 
5217  if((quall8>0.000001) && (check_not_to_creat_tetra!=3))
5218  {
5219  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()));
5220  check_to_go_further=5;
5221  qualite_moyenne_3D+=quall8;
5222  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5223  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5224  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
5225 
5226  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
5227 
5228  }
5229 
5230  if((quallo8>0.000001) && (check_not_to_creat_tetra!=3))
5231  {
5232  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()));
5233  check_to_go_further=5;
5234  qualite_moyenne_3D+=quallo8;
5235  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5236  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5237  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
5238  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
5239 
5240  }
5241 
5242  if((quall9>0.000001) && (check_not_to_creat_tetra!=3))
5243  {
5244  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()));
5245  check_to_go_further=5;
5246 
5247  qualite_moyenne_3D+=quall9;
5248  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5249  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5250  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
5251  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
5252  }
5253 
5254  if((quallo9>0.000001) && (check_not_to_creat_tetra!=3))
5255  {
5256  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()));
5257  check_to_go_further=5;
5258  qualite_moyenne_3D+=quallo9;
5259  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5260  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5261  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
5262  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
5263  }
5264  }
5265  if ((quall10>0.000001 || quallo10>0.000001) && (quall12>0.000001 || quallo12>0.000001) && (quall11>0.000001 || quallo11>0.000001) && (check_to_go_further==3))
5266  {
5267  check_not_to_creat_tetra=0;
5268  LISTE_MG_TRIANGLE::iterator it_tri_existed;
5269  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))
5270  {
5271  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()))))
5272  {
5273 
5274  check_to_creat_tetra=2;
5275 
5276 
5277  }
5278 
5279  else
5280 
5281  {
5282  check_not_to_creat_tetra=3;
5283 
5284  }
5285 
5286  }
5287 
5288  if((quall10>0.000001) && (check_not_to_creat_tetra!=3))
5289  {
5290  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()));
5291 
5292  check_to_go_further=5;
5293  qualite_moyenne_3D+=quall10;
5294  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5295  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5296  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
5297  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
5298  }
5299  if((quallo10>0.000001) && (check_not_to_creat_tetra!=3))
5300  {
5301  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()));
5302 
5303  check_to_go_further=5;
5304 
5305  qualite_moyenne_3D+=quallo10;
5306  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5307  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5308  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
5309  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
5310  }
5311 
5312  if((quall11>0.000001) && (check_not_to_creat_tetra!=3))
5313  {
5314  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()));
5315  check_to_go_further=5;
5316  qualite_moyenne_3D+=quall11;
5317  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5318  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5319  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
5320  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
5321  }
5322  if((quallo11>0.000001) && (check_not_to_creat_tetra!=3))
5323  {
5324  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()));
5325 
5326  check_to_go_further=5;
5327  qualite_moyenne_3D+=quallo11;
5328 
5329  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5330  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5331  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
5332  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
5333  }
5334  if((quall12>0.000001) && (check_not_to_creat_tetra!=3))
5335  {
5336  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()));
5337  check_to_go_further=5;
5338  qualite_moyenne_3D+=quall12;
5339  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5340  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5341  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
5342  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
5343  }
5344  if((quallo12>0.000001) && (check_not_to_creat_tetra!=3))
5345 
5346  {
5347  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()));
5348  check_to_go_further=5;
5349  qualite_moyenne_3D+=quallo12;
5350  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5351  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5352  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
5353  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
5354  }
5355  }
5356  if ((quall13>0.000001 || quallo13>0.000001) && (quall14>0.000001 || quallo14>0.000001) && (quall15>0.000001 || quallo15>0.000001) && (check_to_go_further==3))
5357  {
5358  check_not_to_creat_tetra=0;
5359  LISTE_MG_TRIANGLE::iterator it_tri_existed;
5360 
5361  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))
5362 
5363  {
5364 
5365  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()))))
5366  {
5367 
5368  check_to_creat_tetra=2;
5369  }
5370 
5371  else
5372 
5373  {
5374  check_not_to_creat_tetra=3;
5375 
5376  }
5377 
5378  }
5379 
5380 
5381  if((quall13>0.000001) && (check_not_to_creat_tetra!=3))
5382  {
5383  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()));
5384  check_to_go_further=5;
5385  qualite_moyenne_3D+=quall13;
5386  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5387  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5388  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
5389 
5390 
5391  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
5392  }
5393 
5394  if((quallo13>0.000001) && (check_not_to_creat_tetra!=3))
5395  {
5396  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()));
5397  check_to_go_further=5;
5398  qualite_moyenne_3D+=quallo13;
5399  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5400  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5401  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
5402 
5403  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
5404  }
5405 
5406  if((quall14>0.000001) && (check_not_to_creat_tetra!=3))
5407  {
5408  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()));
5409 
5410  check_to_go_further=5;
5411  qualite_moyenne_3D+=quall14;
5412  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5413  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5414 
5415  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
5416  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
5417  }
5418 
5419  if((quallo14>0.000001) && (check_not_to_creat_tetra!=3))
5420  {
5421  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()));
5422 
5423  check_to_go_further=5;
5424 
5425  qualite_moyenne_3D+=quallo14;
5426  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5427  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5428  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
5429  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
5430  }
5431 
5432  if((quall15>0.000001) && (check_not_to_creat_tetra!=3))
5433  {
5434  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()));
5435  check_to_go_further=5;
5436  qualite_moyenne_3D+=quall15;
5437  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5438  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5439  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
5440  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
5441  }
5442 
5443  if((quallo15>0.000001) && (check_not_to_creat_tetra!=3))
5444  {
5445 
5446  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()));
5447  check_to_go_further=5;
5448  qualite_moyenne_3D+=quallo15;
5449  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5450  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5451  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
5452  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
5453  }
5454  }
5455 
5456  if ((quall16>0.000001 || quallo16>0.000001) && (quall17>0.000001 || quallo17>0.000001) && (quall18>0.000001 || quallo18>0.000001) && (check_to_go_further==3))
5457  {
5458  check_not_to_creat_tetra=0;
5459  LISTE_MG_TRIANGLE::iterator it_tri_existed;
5460  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))
5461 
5462  {
5463 
5464  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()))))
5465  {
5466 
5467  check_to_creat_tetra=2;
5468  }
5469 
5470 
5471  else
5472 
5473  {
5474  check_not_to_creat_tetra=3;
5475 
5476  }
5477 
5478  }
5479 
5480  if((quall16>0.000001) && (check_not_to_creat_tetra!=3))
5481  {
5482  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()));
5483 
5484  check_to_go_further=5;
5485  qualite_moyenne_3D+=quall16;
5486  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5487  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5488 
5489  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
5490  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
5491  }
5492  if((quallo16>0.000001) && (check_not_to_creat_tetra!=3))
5493  {
5494  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()));
5495 
5496  check_to_go_further=5;
5497  qualite_moyenne_3D+=quallo16;
5498  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5499  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5500  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
5501  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
5502  }
5503  if((quall17>0.000001) && (check_not_to_creat_tetra!=3))
5504  {
5505  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()));
5506  check_to_go_further=5;
5507  qualite_moyenne_3D+=quall17;
5508  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5509  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5510  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
5511  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
5512  }
5513  if((quallo17>0.000001) && (check_not_to_creat_tetra!=3))
5514  {
5515  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()));
5516  check_to_go_further=5;
5517  qualite_moyenne_3D+=quallo17;
5518 
5519  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5520  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5521 
5522  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
5523  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
5524  }
5525  if((quall18>0.000001) && (check_not_to_creat_tetra!=3))
5526  {
5527  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()));
5528  check_to_go_further=5;
5529  qualite_moyenne_3D+=quall18;
5530  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5531  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5532  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
5533  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
5534  }
5535  if((quallo18>0.000001) && (check_not_to_creat_tetra!=3))
5536  {
5537  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()));
5538  check_to_go_further=5;
5539  qualite_moyenne_3D+=quallo18;
5540 
5541  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5542  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5543  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
5544  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
5545  }
5546  }
5547  }
5548  }
5549  else
5550  {
5551  //=========================================Change of 2 to 6================================
5552 
5553  //============================================Getting the Qualities============================================
5554  //====================================================================================================================
5555 
5556  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());
5557 
5558  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());
5559 
5560  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());
5561 
5562  //----------------------------------------------------
5563  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());
5564 
5565  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());
5566 
5567  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());
5568 
5569  lst_node_tri11.ajouter(lst_node_in_second.get(3));
5570  lst_node_tri11.ajouter(lst_node_in_second.get(1));
5571  lst_node_tri11.ajouter(lst_node_in_second.get(2));
5572 
5573  lst_node_tri12.ajouter(lst_node_in_second.get(1));
5574  lst_node_tri12.ajouter(lst_node_in_second.get(2));
5575  lst_node_tri12.ajouter(lst_node_in_second.get(6));
5576 
5577  lst_node_tri13.ajouter(lst_node_in_second.get(1));
5578  lst_node_tri13.ajouter(lst_node_in_second.get(3));
5579  lst_node_tri13.ajouter(lst_node_in_second.get(6));
5580 
5581  lst_node_tri14.ajouter(lst_node_in_second.get(2));
5582  lst_node_tri14.ajouter(lst_node_in_second.get(3));
5583  lst_node_tri14.ajouter(lst_node_in_second.get(6));
5584 
5585  lst_node_tri15.ajouter(lst_node_in_second.get(0));
5586  lst_node_tri15.ajouter(lst_node_in_second.get(1));
5587  lst_node_tri15.ajouter(lst_node_in_second.get(4));
5588 
5589  lst_node_tri16.ajouter(lst_node_in_second.get(0));
5590  lst_node_tri16.ajouter(lst_node_in_second.get(1));
5591  lst_node_tri16.ajouter(lst_node_in_second.get(6));
5592 
5593  lst_node_tri17.ajouter(lst_node_in_second.get(0));
5594  lst_node_tri17.ajouter(lst_node_in_second.get(4));
5595  lst_node_tri17.ajouter(lst_node_in_second.get(2));
5596 
5597  lst_node_tri18.ajouter(lst_node_in_second.get(1));
5598  lst_node_tri18.ajouter(lst_node_in_second.get(4));
5599  lst_node_tri18.ajouter(lst_node_in_second.get(2));
5600 
5601  lst_node_tri19.ajouter(lst_node_in_second.get(1));
5602  lst_node_tri19.ajouter(lst_node_in_second.get(2));
5603  lst_node_tri19.ajouter(lst_node_in_second.get(0));
5604 
5605  lst_node_tri110.ajouter(lst_node_in_second.get(0));
5606  lst_node_tri110.ajouter(lst_node_in_second.get(2));
5607  lst_node_tri110.ajouter(lst_node_in_second.get(6));
5608 
5609  //----------------------------------------------------
5610  //----------------------------------------------------
5611  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());
5612 
5613  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());
5614 
5615  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());
5616 
5617  //----------------------------------------------------
5618  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());
5619 
5620  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());
5621 
5622  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());
5623 
5624  lst_node_tri21.ajouter(lst_node_in_second.get(1));
5625  lst_node_tri21.ajouter(lst_node_in_second.get(2));
5626  lst_node_tri21.ajouter(lst_node_in_second.get(3));
5627 
5628  lst_node_tri22.ajouter(lst_node_in_second.get(1));
5629  lst_node_tri22.ajouter(lst_node_in_second.get(2));
5630  lst_node_tri22.ajouter(lst_node_in_second.get(6));
5631 
5632  lst_node_tri23.ajouter(lst_node_in_second.get(1));
5633  lst_node_tri23.ajouter(lst_node_in_second.get(3));
5634  lst_node_tri23.ajouter(lst_node_in_second.get(6));
5635 
5636  lst_node_tri24.ajouter(lst_node_in_second.get(2));
5637  lst_node_tri24.ajouter(lst_node_in_second.get(3));
5638  lst_node_tri24.ajouter(lst_node_in_second.get(6));
5639 
5640  lst_node_tri25.ajouter(lst_node_in_second.get(0));
5641  lst_node_tri25.ajouter(lst_node_in_second.get(1));
5642  lst_node_tri25.ajouter(lst_node_in_second.get(6));
5643 
5644  lst_node_tri26.ajouter(lst_node_in_second.get(0));
5645  lst_node_tri26.ajouter(lst_node_in_second.get(1));
5646  lst_node_tri26.ajouter(lst_node_in_second.get(4));
5647 
5648  lst_node_tri27.ajouter(lst_node_in_second.get(0));
5649  lst_node_tri27.ajouter(lst_node_in_second.get(6));
5650  lst_node_tri27.ajouter(lst_node_in_second.get(4));
5651 
5652  lst_node_tri28.ajouter(lst_node_in_second.get(1));
5653  lst_node_tri28.ajouter(lst_node_in_second.get(2));
5654  lst_node_tri28.ajouter(lst_node_in_second.get(4));
5655 
5656  lst_node_tri29.ajouter(lst_node_in_second.get(1));
5657  lst_node_tri29.ajouter(lst_node_in_second.get(4));
5658  lst_node_tri29.ajouter(lst_node_in_second.get(6));
5659 
5660  lst_node_tri210.ajouter(lst_node_in_second.get(2));
5661  lst_node_tri210.ajouter(lst_node_in_second.get(4));
5662  lst_node_tri210.ajouter(lst_node_in_second.get(6));
5663  //----------------------------------------------------
5664  //----------------------------------------------------
5665  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());
5666 
5667  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());
5668 
5669  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());
5670 
5671  //----------------------------------------------------
5672  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());
5673 
5674  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());
5675 
5676  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());
5677 
5678  lst_node_tri31.ajouter(lst_node_in_second.get(3));
5679  lst_node_tri31.ajouter(lst_node_in_second.get(2));
5680  lst_node_tri31.ajouter(lst_node_in_second.get(4));
5681 
5682  lst_node_tri32.ajouter(lst_node_in_second.get(2));
5683  lst_node_tri32.ajouter(lst_node_in_second.get(3));
5684  lst_node_tri32.ajouter(lst_node_in_second.get(6));
5685 
5686  lst_node_tri33.ajouter(lst_node_in_second.get(2));
5687  lst_node_tri33.ajouter(lst_node_in_second.get(4));
5688  lst_node_tri33.ajouter(lst_node_in_second.get(6));
5689 
5690  lst_node_tri34.ajouter(lst_node_in_second.get(3));
5691  lst_node_tri34.ajouter(lst_node_in_second.get(4));
5692  lst_node_tri34.ajouter(lst_node_in_second.get(6));
5693 
5694  lst_node_tri35.ajouter(lst_node_in_second.get(6));
5695  lst_node_tri35.ajouter(lst_node_in_second.get(1));
5696  lst_node_tri35.ajouter(lst_node_in_second.get(3));
5697 
5698  lst_node_tri36.ajouter(lst_node_in_second.get(6));
5699  lst_node_tri36.ajouter(lst_node_in_second.get(1));
5700  lst_node_tri36.ajouter(lst_node_in_second.get(4));
5701 
5702  lst_node_tri37.ajouter(lst_node_in_second.get(1));
5703  lst_node_tri37.ajouter(lst_node_in_second.get(3));
5704  lst_node_tri37.ajouter(lst_node_in_second.get(4));
5705 
5706  lst_node_tri38.ajouter(lst_node_in_second.get(0));
5707  lst_node_tri38.ajouter(lst_node_in_second.get(1));
5708  lst_node_tri38.ajouter(lst_node_in_second.get(6));
5709 
5710  lst_node_tri39.ajouter(lst_node_in_second.get(0));
5711  lst_node_tri39.ajouter(lst_node_in_second.get(6));
5712  lst_node_tri39.ajouter(lst_node_in_second.get(4));
5713 
5714  lst_node_tri310.ajouter(lst_node_in_second.get(0));
5715  lst_node_tri310.ajouter(lst_node_in_second.get(1));
5716  lst_node_tri310.ajouter(lst_node_in_second.get(4));
5717  //----------------------------------------------------
5718  //----------------------------------------------------
5719  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());
5720 
5721  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());
5722 
5723  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());
5724 
5725 
5726  //----------------------------------------------------
5727  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());
5728 
5729  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());
5730 
5731  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());
5732 
5733  lst_node_tri41.ajouter(lst_node_in_second.get(0));
5734  lst_node_tri41.ajouter(lst_node_in_second.get(2));
5735  lst_node_tri41.ajouter(lst_node_in_second.get(3));
5736 
5737  lst_node_tri48.ajouter(lst_node_in_second.get(0));
5738  lst_node_tri48.ajouter(lst_node_in_second.get(2));
5739  lst_node_tri48.ajouter(lst_node_in_second.get(6));
5740 
5741 
5742  lst_node_tri42.ajouter(lst_node_in_second.get(0));
5743  lst_node_tri42.ajouter(lst_node_in_second.get(3));
5744  lst_node_tri42.ajouter(lst_node_in_second.get(6));
5745 
5746  lst_node_tri43.ajouter(lst_node_in_second.get(2));
5747  lst_node_tri43.ajouter(lst_node_in_second.get(3));
5748  lst_node_tri43.ajouter(lst_node_in_second.get(6));
5749 
5750  lst_node_tri44.ajouter(lst_node_in_second.get(0));
5751  lst_node_tri44.ajouter(lst_node_in_second.get(1));
5752  lst_node_tri44.ajouter(lst_node_in_second.get(3));
5753 
5754  lst_node_tri45.ajouter(lst_node_in_second.get(0));
5755  lst_node_tri45.ajouter(lst_node_in_second.get(1));
5756  lst_node_tri45.ajouter(lst_node_in_second.get(4));
5757 
5758  lst_node_tri46.ajouter(lst_node_in_second.get(0));
5759  lst_node_tri46.ajouter(lst_node_in_second.get(3));
5760  lst_node_tri46.ajouter(lst_node_in_second.get(4));
5761 
5762  lst_node_tri47.ajouter(lst_node_in_second.get(1));
5763  lst_node_tri47.ajouter(lst_node_in_second.get(3));
5764  lst_node_tri47.ajouter(lst_node_in_second.get(4));
5765 
5766  lst_node_tri49.ajouter(lst_node_in_second.get(0));
5767  lst_node_tri49.ajouter(lst_node_in_second.get(4));
5768  lst_node_tri49.ajouter(lst_node_in_second.get(2));
5769 
5770  lst_node_tri410.ajouter(lst_node_in_second.get(3));
5771  lst_node_tri410.ajouter(lst_node_in_second.get(4));
5772  lst_node_tri410.ajouter(lst_node_in_second.get(2));
5773  //----------------------------------------------------
5774  //----------------------------------------------------
5775  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());
5776 
5777  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());
5778 
5779  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());
5780 
5781 
5782  //----------------------------------------------------
5783  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());
5784 
5785  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());
5786 
5787  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());
5788 
5789  lst_node_tri51.ajouter(lst_node_in_second.get(3));
5790  lst_node_tri51.ajouter(lst_node_in_second.get(2));
5791  lst_node_tri51.ajouter(lst_node_in_second.get(4));
5792 
5793  lst_node_tri52.ajouter(lst_node_in_second.get(2));
5794  lst_node_tri52.ajouter(lst_node_in_second.get(3));
5795  lst_node_tri52.ajouter(lst_node_in_second.get(6));
5796 
5797  lst_node_tri53.ajouter(lst_node_in_second.get(2));
5798  lst_node_tri53.ajouter(lst_node_in_second.get(4));
5799  lst_node_tri53.ajouter(lst_node_in_second.get(6));
5800 
5801  lst_node_tri54.ajouter(lst_node_in_second.get(3));
5802  lst_node_tri54.ajouter(lst_node_in_second.get(4));
5803  lst_node_tri54.ajouter(lst_node_in_second.get(6));
5804 
5805  lst_node_tri55.ajouter(lst_node_in_second.get(1));
5806  lst_node_tri55.ajouter(lst_node_in_second.get(0));
5807  lst_node_tri55.ajouter(lst_node_in_second.get(3));
5808 
5809  lst_node_tri56.ajouter(lst_node_in_second.get(0));
5810  lst_node_tri56.ajouter(lst_node_in_second.get(1));
5811  lst_node_tri56.ajouter(lst_node_in_second.get(4));
5812 
5813  lst_node_tri57.ajouter(lst_node_in_second.get(0));
5814  lst_node_tri57.ajouter(lst_node_in_second.get(3));
5815  lst_node_tri57.ajouter(lst_node_in_second.get(4));
5816 
5817  lst_node_tri58.ajouter(lst_node_in_second.get(1));
5818  lst_node_tri58.ajouter(lst_node_in_second.get(3));
5819  lst_node_tri58.ajouter(lst_node_in_second.get(4));
5820 
5821  lst_node_tri59.ajouter(lst_node_in_second.get(0));
5822  lst_node_tri59.ajouter(lst_node_in_second.get(6));
5823  lst_node_tri59.ajouter(lst_node_in_second.get(3));
5824 
5825  lst_node_tri510.ajouter(lst_node_in_second.get(0));
5826  lst_node_tri510.ajouter(lst_node_in_second.get(6));
5827  lst_node_tri510.ajouter(lst_node_in_second.get(4));
5828 
5829  //----------------------------------------------------
5830  //----------------------------------------------------
5831  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());
5832 
5833  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());
5834 
5835  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());
5836 
5837  //----------------------------------------------------
5838  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());
5839 
5840  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());
5841 
5842  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());
5843 
5844  lst_node_tri61.ajouter(lst_node_in_second.get(0));
5845  lst_node_tri61.ajouter(lst_node_in_second.get(1));
5846  lst_node_tri61.ajouter(lst_node_in_second.get(4));
5847 
5848  lst_node_tri62.ajouter(lst_node_in_second.get(0));
5849  lst_node_tri62.ajouter(lst_node_in_second.get(1));
5850  lst_node_tri62.ajouter(lst_node_in_second.get(2));
5851 
5852  lst_node_tri63.ajouter(lst_node_in_second.get(0));
5853  lst_node_tri63.ajouter(lst_node_in_second.get(4));
5854  lst_node_tri63.ajouter(lst_node_in_second.get(2));
5855 
5856  lst_node_tri64.ajouter(lst_node_in_second.get(1));
5857  lst_node_tri64.ajouter(lst_node_in_second.get(2));
5858  lst_node_tri64.ajouter(lst_node_in_second.get(4));
5859 
5860  lst_node_tri65.ajouter(lst_node_in_second.get(0));
5861  lst_node_tri65.ajouter(lst_node_in_second.get(2));
5862  lst_node_tri65.ajouter(lst_node_in_second.get(3));
5863 
5864  lst_node_tri66.ajouter(lst_node_in_second.get(0));
5865  lst_node_tri66.ajouter(lst_node_in_second.get(2));
5866  lst_node_tri66.ajouter(lst_node_in_second.get(6));
5867 
5868  lst_node_tri67.ajouter(lst_node_in_second.get(2));
5869  lst_node_tri67.ajouter(lst_node_in_second.get(3));
5870  lst_node_tri67.ajouter(lst_node_in_second.get(6));
5871 
5872  lst_node_tri68.ajouter(lst_node_in_second.get(0));
5873  lst_node_tri68.ajouter(lst_node_in_second.get(3));
5874  lst_node_tri68.ajouter(lst_node_in_second.get(6));
5875 
5876  lst_node_tri69.ajouter(lst_node_in_second.get(0));
5877  lst_node_tri69.ajouter(lst_node_in_second.get(3));
5878  lst_node_tri69.ajouter(lst_node_in_second.get(1));
5879 
5880  lst_node_tri610.ajouter(lst_node_in_second.get(1));
5881  lst_node_tri610.ajouter(lst_node_in_second.get(2));
5882  lst_node_tri610.ajouter(lst_node_in_second.get(3));
5883 
5884  //----------------------------------------------------
5885  //---------------------------------------------------
5886 
5887  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)))
5888  {
5889  check_not_to_creat_tetra=0;
5890  LISTE_MG_TRIANGLE::iterator it_tri_existed;
5891  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))
5892  {
5893  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()))))
5894  {
5895 
5896  check_to_creat_tetra=2;
5897  }
5898  else
5899 
5900  {
5901  check_not_to_creat_tetra=3;
5902 
5903  }
5904 
5905  }
5906 
5907  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
5908  {
5909  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()));
5910  check_to_go_further=5;
5911  qualite_moyenne_3D+=quall1;
5912  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5913  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5914  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
5915  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
5916  }
5917 
5918  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
5919  {
5920  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()));
5921  check_to_go_further=5;
5922  qualite_moyenne_3D+=quallo1;
5923  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
5924  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
5925  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5926  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5927  }
5928 
5929  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
5930  {
5931  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()));
5932  check_to_go_further=5;
5933 
5934  qualite_moyenne_3D+=quall2;
5935  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
5936  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
5937 
5938  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5939  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5940  }
5941  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
5942  {
5943  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()));
5944  check_to_go_further=5;
5945 
5946  qualite_moyenne_3D+=quallo2;
5947  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
5948  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
5949 
5950  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5951  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5952  }
5953 
5954  if ((quall3>0.00001) && (check_not_to_creat_tetra!=3))
5955  {
5956  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()));
5957 
5958  check_to_go_further=5;
5959 
5960  qualite_moyenne_3D+=quall3;
5961  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
5962  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
5963  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5964  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5965  }
5966  if ((quallo3>0.00001) && (check_not_to_creat_tetra!=3))
5967 
5968  {
5969  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()));
5970  check_to_go_further=5;
5971  qualite_moyenne_3D+=quallo3;
5972  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
5973  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
5974  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
5975  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
5976  }
5977  }
5978  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)))
5979  {
5980  check_not_to_creat_tetra=0;
5981  LISTE_MG_TRIANGLE::iterator it_tri_existed;
5982  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))
5983  {
5984  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()))))
5985  {
5986  check_to_creat_tetra=2;
5987  }
5988  else
5989  {
5990  check_not_to_creat_tetra=3;
5991  }
5992  }
5993 
5994  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
5995  {
5996  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()));
5997  check_to_go_further=5;
5998  qualite_moyenne_3D+=quall4;
5999  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6000  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6001  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
6002  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
6003  }
6004 
6005  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
6006  {
6007  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()));
6008  check_to_go_further=5;
6009  qualite_moyenne_3D+=quall5;
6010  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6011  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6012  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
6013 
6014  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
6015 
6016  }
6017 
6018  if((quall6>0.00001) && (check_not_to_creat_tetra!=3))
6019  {
6020  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()));
6021  check_to_go_further=5;
6022 
6023  qualite_moyenne_3D+=quall6;
6024  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6025  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6026  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
6027  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
6028 
6029  }
6030  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
6031  {
6032  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()));
6033  check_to_go_further=5;
6034  qualite_moyenne_3D+=quallo4;
6035  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6036  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6037  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
6038  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
6039 
6040  }
6041 
6042  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
6043  {
6044  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()));
6045  check_to_go_further=5;
6046  qualite_moyenne_3D+=quallo5;
6047  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6048  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6049  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
6050  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
6051 
6052  }
6053 
6054  if((quallo6>0.00001) && (check_not_to_creat_tetra!=3))
6055  {
6056  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()));
6057  check_to_go_further=5;
6058  qualite_moyenne_3D+=quallo6;
6059  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6060  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6061  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
6062  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
6063 
6064  }
6065  }
6066  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)))
6067  {
6068  check_not_to_creat_tetra=0;
6069  LISTE_MG_TRIANGLE::iterator it_tri_existed;
6070  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))
6071  {
6072  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()))))
6073  {
6074 
6075  check_to_creat_tetra=2;
6076  }
6077 
6078  else
6079 
6080  {
6081  check_not_to_creat_tetra=3;
6082 
6083  }
6084 
6085  }
6086 
6087  if((quall7>0.00001) && (check_not_to_creat_tetra!=3))
6088  {
6089  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()));
6090  check_to_go_further=5;
6091  qualite_moyenne_3D+=quall7;
6092  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6093  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6094 
6095  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
6096 
6097  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
6098  }
6099 
6100  if((quallo7>0.00001) && (check_not_to_creat_tetra!=3))
6101 
6102  {
6103  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()));
6104  check_to_go_further=5;
6105  qualite_moyenne_3D+=quallo7;
6106  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6107  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6108 
6109  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
6110  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
6111  }
6112 
6113  if((quall8>0.00001) && (check_not_to_creat_tetra!=3))
6114  {
6115  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()));
6116  check_to_go_further=5;
6117  qualite_moyenne_3D+=quall8;
6118  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6119  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6120  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
6121 
6122  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
6123 
6124  }
6125 
6126  if((quallo8>0.00001) && (check_not_to_creat_tetra!=3))
6127  {
6128  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()));
6129  check_to_go_further=5;
6130  qualite_moyenne_3D+=quallo8;
6131  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6132  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6133  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
6134  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
6135 
6136  }
6137 
6138  if((quall9>0.00001) && (check_not_to_creat_tetra!=3))
6139  {
6140  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()));
6141  check_to_go_further=5;
6142 
6143  qualite_moyenne_3D+=quall9;
6144  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6145  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6146  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
6147  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
6148  }
6149 
6150  if((quallo9>0.00001) && (check_not_to_creat_tetra!=3))
6151  {
6152  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()));
6153  check_to_go_further=5;
6154  qualite_moyenne_3D+=quallo9;
6155  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6156  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6157  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
6158  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
6159  }
6160  }
6161  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)))
6162  {
6163  check_not_to_creat_tetra=0;
6164  LISTE_MG_TRIANGLE::iterator it_tri_existed;
6165  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))
6166  {
6167  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()))))
6168  {
6169  check_to_creat_tetra=2;
6170  }
6171  else
6172  {
6173  check_not_to_creat_tetra=3;
6174  }
6175  }
6176 
6177  if((quall10>0.00001) && (check_not_to_creat_tetra!=3))
6178  {
6179  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()));
6180 
6181  check_to_go_further=5;
6182  qualite_moyenne_3D+=quall10;
6183  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6184  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6185  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
6186  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
6187  }
6188  if((quallo10>0.00001) && (check_not_to_creat_tetra!=3))
6189  {
6190  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()));
6191 
6192  check_to_go_further=5;
6193 
6194  qualite_moyenne_3D+=quallo10;
6195  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6196  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6197  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
6198  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
6199  }
6200 
6201  if((quall11>0.00001) && (check_not_to_creat_tetra!=3))
6202  {
6203  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()));
6204  check_to_go_further=5;
6205  qualite_moyenne_3D+=quall11;
6206  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6207  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6208  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
6209  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
6210  }
6211  if((quallo11>0.00001) && (check_not_to_creat_tetra!=3))
6212  {
6213  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()));
6214 
6215  check_to_go_further=5;
6216  qualite_moyenne_3D+=quallo11;
6217 
6218  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6219  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6220  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
6221  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
6222  }
6223  if((quall12>0.00001) && (check_not_to_creat_tetra!=3))
6224  {
6225  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()));
6226  check_to_go_further=5;
6227  qualite_moyenne_3D+=quall12;
6228  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6229  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6230  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
6231  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
6232  }
6233  if((quallo12>0.00001) && (check_not_to_creat_tetra!=3))
6234 
6235  {
6236  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()));
6237  check_to_go_further=5;
6238  qualite_moyenne_3D+=quallo12;
6239  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6240  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6241  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
6242  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
6243  }
6244  }
6245  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)))
6246  {
6247  check_not_to_creat_tetra=0;
6248  LISTE_MG_TRIANGLE::iterator it_tri_existed;
6249  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))
6250  {
6251 
6252  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()))))
6253  {
6254  check_to_creat_tetra=2;
6255  }
6256  else
6257  {
6258  check_not_to_creat_tetra=3;
6259  }
6260  }
6261  if((quall13>0.00001) && (check_not_to_creat_tetra!=3))
6262  {
6263  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()));
6264  check_to_go_further=5;
6265  qualite_moyenne_3D+=quall13;
6266  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6267  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6268  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
6269 
6270 
6271  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
6272  }
6273 
6274  if((quallo13>0.00001) && (check_not_to_creat_tetra!=3))
6275  {
6276  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()));
6277  check_to_go_further=5;
6278  qualite_moyenne_3D+=quallo13;
6279  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6280  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6281  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
6282 
6283  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
6284  }
6285 
6286  if((quall14>0.00001) && (check_not_to_creat_tetra!=3))
6287  {
6288  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()));
6289 
6290  check_to_go_further=5;
6291  qualite_moyenne_3D+=quall14;
6292  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6293  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6294 
6295  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
6296  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
6297  }
6298 
6299  if((quallo14>0.00001) && (check_not_to_creat_tetra!=3))
6300  {
6301  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()));
6302 
6303  check_to_go_further=5;
6304 
6305  qualite_moyenne_3D+=quallo14;
6306  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6307  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6308  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
6309  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
6310  }
6311 
6312  if((quall15>0.00001) && (check_not_to_creat_tetra!=3))
6313  {
6314  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()));
6315  check_to_go_further=5;
6316  qualite_moyenne_3D+=quall15;
6317  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6318  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6319  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
6320  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
6321  }
6322 
6323  if((quallo15>0.00001) && (check_not_to_creat_tetra!=3))
6324  {
6325 
6326  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()));
6327  check_to_go_further=5;
6328  qualite_moyenne_3D+=quallo15;
6329  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6330  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6331  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
6332  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
6333  }
6334  }
6335 
6336  if ((quall16>0.001 || quallo16>0.001) && (quall17>0.001 || quallo17>0.001) && (quall18>0.001 || quallo18>0.001) && (check_to_go_further==3))
6337  {
6338  check_not_to_creat_tetra=0;
6339  LISTE_MG_TRIANGLE::iterator it_tri_existed;
6340  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))
6341  {
6342  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()))))
6343  {
6344  check_to_creat_tetra=2;
6345  }
6346  else
6347  {
6348  check_not_to_creat_tetra=3;
6349  }
6350  }
6351 
6352  if((quall16>0.00001) && (check_not_to_creat_tetra!=3))
6353  {
6354  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()));
6355 
6356  check_to_go_further=5;
6357  qualite_moyenne_3D+=quall16;
6358  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6359  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6360 
6361  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
6362  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
6363  }
6364  if((quallo16>0.00001) && (check_not_to_creat_tetra!=3))
6365  {
6366  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()));
6367  check_to_go_further=5;
6368  qualite_moyenne_3D+=quallo16;
6369  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6370  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6371  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
6372  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
6373  }
6374  if((quall17>0.00001) && (check_not_to_creat_tetra!=3))
6375  {
6376  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()));
6377  check_to_go_further=5;
6378  qualite_moyenne_3D+=quall17;
6379  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6380  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6381  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
6382  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
6383  }
6384  if((quallo17>0.00001) && (check_not_to_creat_tetra!=3))
6385  {
6386  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()));
6387  check_to_go_further=5;
6388  qualite_moyenne_3D+=quallo17;
6389 
6390  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6391  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6392 
6393  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
6394  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
6395  }
6396  if((quall18>0.00001) && (check_not_to_creat_tetra!=3))
6397  {
6398  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()));
6399  check_to_go_further=5;
6400  qualite_moyenne_3D+=quall18;
6401  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6402  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6403  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
6404  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
6405  }
6406  if((quallo18>0.00001) && (check_not_to_creat_tetra!=3))
6407  {
6408  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()));
6409  check_to_go_further=5;
6410  qualite_moyenne_3D+=quallo18;
6411 
6412  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6413  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6414  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
6415  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
6416  }
6417  }
6418 
6419  //============================================Second loop==============================================================
6420  if (check_to_go_further==3)
6421  {
6422  if ((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001) && (quall3>0.001 || quallo3>0.001))
6423  {
6424  check_not_to_creat_tetra=0;
6425  LISTE_MG_TRIANGLE::iterator it_tri_existed;
6426  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))
6427 
6428  {
6429 
6430  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()))))
6431  {
6432 
6433  check_to_creat_tetra=2;
6434  }
6435 
6436 
6437  else
6438 
6439  {
6440  check_not_to_creat_tetra=3;
6441 
6442  }
6443 
6444  }
6445 
6446 
6447  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
6448  {
6449  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()));
6450  check_to_go_further=5;
6451  qualite_moyenne_3D+=quall1;
6452  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6453  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6454  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
6455  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
6456  }
6457 
6458  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
6459  {
6460  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()));
6461  check_to_go_further=5;
6462  qualite_moyenne_3D+=quallo1;
6463  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
6464  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
6465  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6466  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6467  }
6468 
6469  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
6470  {
6471  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()));
6472  check_to_go_further=5;
6473 
6474  qualite_moyenne_3D+=quall2;
6475  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
6476  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
6477 
6478  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6479  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6480  }
6481  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
6482  {
6483  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()));
6484  check_to_go_further=5;
6485 
6486  qualite_moyenne_3D+=quallo2;
6487  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
6488  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
6489 
6490  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6491  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6492  }
6493 
6494  if ((quall3>0.00001) && (check_not_to_creat_tetra!=3))
6495  {
6496  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()));
6497 
6498  check_to_go_further=5;
6499 
6500  qualite_moyenne_3D+=quall3;
6501  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
6502  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
6503  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6504  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6505  }
6506  if ((quallo3>0.00001) && (check_not_to_creat_tetra!=3))
6507 
6508  {
6509  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()));
6510  check_to_go_further=5;
6511  qualite_moyenne_3D+=quallo3;
6512  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
6513  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
6514  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6515  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6516  }
6517  }
6518  if ((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (quall6>0.001 || quallo6>0.001) && (check_to_go_further==3))
6519  {
6520  check_not_to_creat_tetra=0;
6521  LISTE_MG_TRIANGLE::iterator it_tri_existed;
6522  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))
6523 
6524  {
6525 
6526  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()))))
6527  {
6528 
6529  check_to_creat_tetra=2;
6530  }
6531 
6532  else
6533 
6534  {
6535  check_not_to_creat_tetra=3;
6536 
6537  }
6538 
6539  }
6540 
6541  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
6542  {
6543  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()));
6544  check_to_go_further=5;
6545  qualite_moyenne_3D+=quall4;
6546  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6547  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6548  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
6549  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
6550  }
6551 
6552  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
6553  {
6554  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()));
6555  check_to_go_further=5;
6556  qualite_moyenne_3D+=quall5;
6557  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6558  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6559  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
6560 
6561  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
6562 
6563  }
6564 
6565  if((quall6>0.00001) && (check_not_to_creat_tetra!=3))
6566  {
6567  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()));
6568  check_to_go_further=5;
6569 
6570  qualite_moyenne_3D+=quall6;
6571  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6572  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6573  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
6574  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
6575 
6576  }
6577  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
6578  {
6579  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()));
6580  check_to_go_further=5;
6581  qualite_moyenne_3D+=quallo4;
6582  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6583  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6584  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
6585  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
6586 
6587  }
6588 
6589  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
6590  {
6591  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()));
6592  check_to_go_further=5;
6593  qualite_moyenne_3D+=quallo5;
6594  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6595  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6596  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
6597  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
6598 
6599  }
6600 
6601  if((quallo6>0.00001) && (check_not_to_creat_tetra!=3))
6602  {
6603  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()));
6604  check_to_go_further=5;
6605  qualite_moyenne_3D+=quallo6;
6606  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6607  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6608  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
6609  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
6610 
6611  }
6612  }
6613  if ((quall7>0.001 || quallo7>0.001) && (quall8>0.001 || quallo8>0.001) && (quall9>0.001 || quallo9>0.001) && (check_to_go_further==3))
6614  {
6615  check_not_to_creat_tetra=0;
6616  LISTE_MG_TRIANGLE::iterator it_tri_existed;
6617  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))
6618 
6619  {
6620 
6621  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()))))
6622  {
6623 
6624  check_to_creat_tetra=2;
6625  }
6626 
6627  else
6628 
6629  {
6630  check_not_to_creat_tetra=3;
6631 
6632  }
6633 
6634  }
6635 
6636  if((quall7>0.00001) && (check_not_to_creat_tetra!=3))
6637  {
6638  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()));
6639  check_to_go_further=5;
6640  qualite_moyenne_3D+=quall7;
6641  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6642  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6643 
6644  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
6645 
6646  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
6647  }
6648 
6649  if((quallo7>0.00001) && (check_not_to_creat_tetra!=3))
6650 
6651  {
6652  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()));
6653  check_to_go_further=5;
6654  qualite_moyenne_3D+=quallo7;
6655  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6656  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6657 
6658  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
6659  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
6660  }
6661 
6662  if((quall8>0.00001) && (check_not_to_creat_tetra!=3))
6663  {
6664  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()));
6665  check_to_go_further=5;
6666  qualite_moyenne_3D+=quall8;
6667  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6668  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6669  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
6670 
6671  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
6672 
6673  }
6674 
6675  if((quallo8>0.00001) && (check_not_to_creat_tetra!=3))
6676  {
6677  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()));
6678  check_to_go_further=5;
6679  qualite_moyenne_3D+=quallo8;
6680  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6681  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6682  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
6683  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
6684 
6685  }
6686 
6687  if((quall9>0.00001) && (check_not_to_creat_tetra!=3))
6688  {
6689  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()));
6690  check_to_go_further=5;
6691 
6692  qualite_moyenne_3D+=quall9;
6693  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6694  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6695  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
6696  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
6697  }
6698 
6699  if((quallo9>0.00001) && (check_not_to_creat_tetra!=3))
6700  {
6701  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()));
6702  check_to_go_further=5;
6703  qualite_moyenne_3D+=quallo9;
6704  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6705  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6706  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
6707  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
6708  }
6709  }
6710  if ((quall10>0.001 || quallo10>0.001) && (quall12>0.001 || quallo12>0.001) && (quall11>0.001 || quallo11>0.001) && (check_to_go_further==3))
6711  {
6712  check_not_to_creat_tetra=0;
6713  LISTE_MG_TRIANGLE::iterator it_tri_existed;
6714  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))
6715  {
6716  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()))))
6717  {
6718 
6719  check_to_creat_tetra=2;
6720 
6721  }
6722 
6723  else
6724 
6725  {
6726  check_not_to_creat_tetra=3;
6727 
6728  }
6729 
6730  }
6731 
6732  if((quall10>0.00001) && (check_not_to_creat_tetra!=3))
6733  {
6734  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()));
6735 
6736  check_to_go_further=5;
6737 
6738  qualite_moyenne_3D+=quall10;
6739  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6740  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6741  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
6742  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
6743  }
6744  if((quallo10>0.00001) && (check_not_to_creat_tetra!=3))
6745  {
6746  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()));
6747 
6748  check_to_go_further=5;
6749  qualite_moyenne_3D+=quallo10;
6750  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6751  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6752  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
6753  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
6754  }
6755  if((quall11>0.00001) && (check_not_to_creat_tetra!=3))
6756  {
6757  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()));
6758  check_to_go_further=5;
6759  qualite_moyenne_3D+=quall11;
6760  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6761  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6762  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
6763  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
6764  }
6765  if((quallo11>0.00001) && (check_not_to_creat_tetra!=3))
6766  {
6767  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()));
6768 
6769  check_to_go_further=5;
6770  qualite_moyenne_3D+=quallo11;
6771 
6772  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6773  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6774  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
6775  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
6776  }
6777  if((quall12>0.00001) && (check_not_to_creat_tetra!=3))
6778  {
6779  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()));
6780  check_to_go_further=5;
6781  qualite_moyenne_3D+=quall12;
6782  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6783  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6784  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
6785  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
6786  }
6787  if((quallo12>0.00001) && (check_not_to_creat_tetra!=3))
6788 
6789  {
6790  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()));
6791  check_to_go_further=5;
6792  qualite_moyenne_3D+=quallo12;
6793  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6794  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6795  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
6796  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
6797  }
6798  }
6799  if ((quall13>0.001 || quallo13>0.001) && (quall14>0.001 || quallo14>0.001) && (quall15>0.001 || quallo15>0.001) && (check_to_go_further==3))
6800  {
6801  check_not_to_creat_tetra=0;
6802  LISTE_MG_TRIANGLE::iterator it_tri_existed;
6803  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))
6804 
6805  {
6806 
6807  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()))))
6808  {
6809 
6810  check_to_creat_tetra=2;
6811  }
6812 
6813  else
6814 
6815  {
6816  check_not_to_creat_tetra=3;
6817 
6818  }
6819 
6820  }
6821 
6822 
6823  if((quall13>0.00001) && (check_not_to_creat_tetra!=3))
6824  {
6825  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()));
6826  check_to_go_further=5;
6827  qualite_moyenne_3D+=quall13;
6828  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6829  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6830  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
6831 
6832 
6833  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
6834  }
6835 
6836  if((quallo13>0.00001) && (check_not_to_creat_tetra!=3))
6837  {
6838  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()));
6839  check_to_go_further=5;
6840  qualite_moyenne_3D+=quallo13;
6841  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6842  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6843  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
6844 
6845  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
6846  }
6847 
6848  if((quall14>0.00001) && (check_not_to_creat_tetra!=3))
6849  {
6850  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()));
6851 
6852  check_to_go_further=5;
6853  qualite_moyenne_3D+=quall14;
6854  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6855  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6856 
6857  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
6858  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
6859  }
6860 
6861  if((quallo14>0.00001) && (check_not_to_creat_tetra!=3))
6862  {
6863  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()));
6864 
6865  check_to_go_further=5;
6866 
6867  qualite_moyenne_3D+=quallo14;
6868  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6869  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6870  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
6871  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
6872  }
6873 
6874  if((quall15>0.00001) && (check_not_to_creat_tetra!=3))
6875  {
6876  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()));
6877  check_to_go_further=5;
6878  qualite_moyenne_3D+=quall15;
6879  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6880  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6881  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
6882  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
6883  }
6884 
6885  if((quallo15>0.00001) && (check_not_to_creat_tetra!=3))
6886  {
6887 
6888  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()));
6889  check_to_go_further=5;
6890  qualite_moyenne_3D+=quallo15;
6891  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6892  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6893  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
6894  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
6895  }
6896  }
6897 
6898  if ((quall16>0.001 || quallo16>0.001) && (quall17>0.001 || quallo17>0.001) && (quall18>0.001 || quallo18>0.001) && (check_to_go_further==3))
6899  {
6900  check_not_to_creat_tetra=0;
6901  LISTE_MG_TRIANGLE::iterator it_tri_existed;
6902  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))
6903 
6904  {
6905 
6906  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()))))
6907  {
6908 
6909  check_to_creat_tetra=2;
6910  }
6911 
6912 
6913  else
6914 
6915  {
6916  check_not_to_creat_tetra=3;
6917 
6918  }
6919 
6920  }
6921 
6922  if((quall16>0.00001) && (check_not_to_creat_tetra!=3))
6923  {
6924  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()));
6925 
6926  check_to_go_further=5;
6927  qualite_moyenne_3D+=quall16;
6928  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6929  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6930 
6931  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
6932  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
6933  }
6934  if((quallo16>0.00001) && (check_not_to_creat_tetra!=3))
6935  {
6936  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()));
6937 
6938  check_to_go_further=5;
6939  qualite_moyenne_3D+=quallo16;
6940  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6941  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6942  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
6943  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
6944  }
6945  if((quall17>0.00001) && (check_not_to_creat_tetra!=3))
6946  {
6947  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()));
6948  check_to_go_further=5;
6949  qualite_moyenne_3D+=quall17;
6950  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6951  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6952  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
6953  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
6954  }
6955  if((quallo17>0.00001) && (check_not_to_creat_tetra!=3))
6956  {
6957  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()));
6958  check_to_go_further=5;
6959  qualite_moyenne_3D+=quallo17;
6960 
6961  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6962  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6963 
6964  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
6965  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
6966  }
6967  if((quall18>0.00001) && (check_not_to_creat_tetra!=3))
6968  {
6969  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()));
6970  check_to_go_further=5;
6971  qualite_moyenne_3D+=quall18;
6972  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6973  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6974  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
6975  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
6976  }
6977  if((quallo18>0.00001) && (check_not_to_creat_tetra!=3))
6978  {
6979  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()));
6980  check_to_go_further=5;
6981  qualite_moyenne_3D+=quallo18;
6982 
6983  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
6984  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
6985  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
6986  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
6987  }
6988  }
6989  }
6990  //============================================Third loop==============================================================
6991  if (check_to_go_further==3)
6992  {
6993  if ((quall1>0.000001 || quallo1>0.000001) && (quall2>0.000001 || quallo2>0.000001) && (quall3>0.000001 || quallo3>0.000001))
6994  {
6995  check_not_to_creat_tetra=0;
6996  LISTE_MG_TRIANGLE::iterator it_tri_existed;
6997  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))
6998 
6999  {
7000 
7001  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()))))
7002  {
7003 
7004  check_to_creat_tetra=2;
7005  }
7006 
7007 
7008  else
7009 
7010  {
7011  check_not_to_creat_tetra=3;
7012 
7013  }
7014 
7015  }
7016 
7017 
7018  if ((quall1>0.000001) && (check_not_to_creat_tetra!=3))
7019  {
7020  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()));
7021  check_to_go_further=5;
7022  qualite_moyenne_3D+=quall1;
7023  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7024  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7025  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
7026  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
7027  }
7028 
7029  if ((quallo1>0.000001) && (check_not_to_creat_tetra!=3))
7030  {
7031  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()));
7032  check_to_go_further=5;
7033  qualite_moyenne_3D+=quallo1;
7034  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
7035  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
7036  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7037  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7038  }
7039 
7040  if ((quall2>0.000001) && (check_not_to_creat_tetra!=3))
7041  {
7042  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()));
7043  check_to_go_further=5;
7044 
7045  qualite_moyenne_3D+=quall2;
7046  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
7047  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
7048 
7049  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7050  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7051  }
7052  if ((quallo2>0.000001) && (check_not_to_creat_tetra!=3))
7053  {
7054  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()));
7055  check_to_go_further=5;
7056 
7057  qualite_moyenne_3D+=quallo2;
7058  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
7059  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
7060 
7061  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7062  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7063  }
7064 
7065  if ((quall3>0.000001) && (check_not_to_creat_tetra!=3))
7066  {
7067  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()));
7068 
7069  check_to_go_further=5;
7070 
7071  qualite_moyenne_3D+=quall3;
7072  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
7073  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
7074  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7075  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7076  }
7077  if ((quallo3>0.000001) && (check_not_to_creat_tetra!=3))
7078 
7079  {
7080  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()));
7081  check_to_go_further=5;
7082  qualite_moyenne_3D+=quallo3;
7083  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
7084  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
7085  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7086  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7087  }
7088  }
7089  if ((quall4>0.000001 || quallo4>0.000001) && (quall5>0.000001 || quallo5>0.000001) && (quall6>0.000001 || quallo6>0.000001) && (check_to_go_further==3))
7090  {
7091  check_not_to_creat_tetra=0;
7092  LISTE_MG_TRIANGLE::iterator it_tri_existed;
7093  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))
7094 
7095  {
7096 
7097  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()))))
7098  {
7099 
7100  check_to_creat_tetra=2;
7101  }
7102 
7103  else
7104 
7105  {
7106  check_not_to_creat_tetra=3;
7107 
7108  }
7109 
7110  }
7111 
7112  if((quall4>0.000001) && (check_not_to_creat_tetra!=3))
7113  {
7114  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()));
7115  check_to_go_further=5;
7116  qualite_moyenne_3D+=quall4;
7117  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7118  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7119  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
7120  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
7121  }
7122 
7123  if((quall5>0.000001) && (check_not_to_creat_tetra!=3))
7124  {
7125  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()));
7126  check_to_go_further=5;
7127  qualite_moyenne_3D+=quall5;
7128  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7129  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7130  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
7131 
7132  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
7133 
7134  }
7135 
7136  if((quall6>0.000001) && (check_not_to_creat_tetra!=3))
7137  {
7138  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()));
7139  check_to_go_further=5;
7140 
7141  qualite_moyenne_3D+=quall6;
7142  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7143  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7144  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
7145  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
7146 
7147  }
7148  if((quallo4>0.000001) && (check_not_to_creat_tetra!=3))
7149  {
7150  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()));
7151  check_to_go_further=5;
7152  qualite_moyenne_3D+=quallo4;
7153  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7154  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7155  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
7156  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
7157 
7158  }
7159 
7160  if((quallo5>0.000001) && (check_not_to_creat_tetra!=3))
7161  {
7162  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()));
7163  check_to_go_further=5;
7164  qualite_moyenne_3D+=quallo5;
7165  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7166  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7167  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
7168  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
7169 
7170  }
7171 
7172  if((quallo6>0.000001) && (check_not_to_creat_tetra!=3))
7173  {
7174  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()));
7175  check_to_go_further=5;
7176  qualite_moyenne_3D+=quallo6;
7177  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7178  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7179  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
7180  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
7181 
7182  }
7183  }
7184  if ((quall7>0.000001 || quallo7>0.000001) && (quall8>0.000001 || quallo8>0.000001) && (quall9>0.000001 || quallo9>0.000001) && (check_to_go_further==3))
7185  {
7186  check_not_to_creat_tetra=0;
7187  LISTE_MG_TRIANGLE::iterator it_tri_existed;
7188  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))
7189 
7190  {
7191 
7192  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()))))
7193  {
7194 
7195  check_to_creat_tetra=2;
7196  }
7197 
7198  else
7199 
7200  {
7201  check_not_to_creat_tetra=3;
7202 
7203  }
7204 
7205  }
7206 
7207  if((quall7>0.000001) && (check_not_to_creat_tetra!=3))
7208  {
7209  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()));
7210  check_to_go_further=5;
7211  qualite_moyenne_3D+=quall7;
7212  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7213  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7214 
7215  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
7216 
7217  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
7218  }
7219 
7220  if((quallo7>0.000001) && (check_not_to_creat_tetra!=3))
7221 
7222  {
7223  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()));
7224  check_to_go_further=5;
7225  qualite_moyenne_3D+=quallo7;
7226  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7227  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7228 
7229  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
7230  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
7231  }
7232 
7233  if((quall8>0.000001) && (check_not_to_creat_tetra!=3))
7234  {
7235  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()));
7236  check_to_go_further=5;
7237  qualite_moyenne_3D+=quall8;
7238  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7239  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7240  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
7241 
7242  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
7243 
7244  }
7245 
7246  if((quallo8>0.000001) && (check_not_to_creat_tetra!=3))
7247  {
7248  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()));
7249  check_to_go_further=5;
7250  qualite_moyenne_3D+=quallo8;
7251  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7252  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7253  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
7254  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
7255 
7256  }
7257 
7258  if((quall9>0.000001) && (check_not_to_creat_tetra!=3))
7259  {
7260  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()));
7261  check_to_go_further=5;
7262 
7263  qualite_moyenne_3D+=quall9;
7264  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7265  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7266  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
7267  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
7268  }
7269 
7270  if((quallo9>0.000001) && (check_not_to_creat_tetra!=3))
7271  {
7272  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()));
7273  check_to_go_further=5;
7274  qualite_moyenne_3D+=quallo9;
7275  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7276  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7277  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
7278  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
7279  }
7280  }
7281  if ((quall10>0.000001 || quallo10>0.000001) && (quall12>0.000001 || quallo12>0.000001) && (quall11>0.000001 || quallo11>0.000001) && (check_to_go_further==3))
7282  {
7283  check_not_to_creat_tetra=0;
7284  LISTE_MG_TRIANGLE::iterator it_tri_existed;
7285  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))
7286  {
7287  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()))))
7288  {
7289 
7290  check_to_creat_tetra=2;
7291 
7292  }
7293 
7294 
7295  else
7296 
7297  {
7298  check_not_to_creat_tetra=3;
7299 
7300  }
7301 
7302  }
7303 
7304  if((quall10>0.000001) && (check_not_to_creat_tetra!=3))
7305  {
7306  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()));
7307 
7308  check_to_go_further=5;
7309  qualite_moyenne_3D+=quall10;
7310  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7311  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7312  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
7313  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
7314  }
7315  if((quallo10>0.000001) && (check_not_to_creat_tetra!=3))
7316  {
7317  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()));
7318 
7319  check_to_go_further=5;
7320 
7321  qualite_moyenne_3D+=quallo10;
7322  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7323  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7324  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
7325  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
7326  }
7327 
7328  if((quall11>0.000001) && (check_not_to_creat_tetra!=3))
7329  {
7330  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()));
7331  check_to_go_further=5;
7332  qualite_moyenne_3D+=quall11;
7333  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7334  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7335  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
7336  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
7337  }
7338  if((quallo11>0.000001) && (check_not_to_creat_tetra!=3))
7339  {
7340  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()));
7341 
7342  check_to_go_further=5;
7343  qualite_moyenne_3D+=quallo11;
7344 
7345  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7346  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7347  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
7348  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
7349  }
7350  if((quall12>0.000001) && (check_not_to_creat_tetra!=3))
7351  {
7352  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()));
7353  check_to_go_further=5;
7354  qualite_moyenne_3D+=quall12;
7355  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7356  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7357  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
7358  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
7359  }
7360  if((quallo12>0.000001) && (check_not_to_creat_tetra!=3))
7361 
7362  {
7363  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()));
7364  check_to_go_further=5;
7365  qualite_moyenne_3D+=quallo12;
7366  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7367  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7368  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
7369  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
7370  }
7371  }
7372  if ((quall13>0.000001 || quallo13>0.000001) && (quall14>0.000001 || quallo14>0.000001) && (quall15>0.000001 || quallo15>0.000001) && (check_to_go_further==3))
7373  {
7374  check_not_to_creat_tetra=0;
7375  LISTE_MG_TRIANGLE::iterator it_tri_existed;
7376  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))
7377 
7378  {
7379 
7380  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()))))
7381  {
7382 
7383  check_to_creat_tetra=2;
7384  }
7385 
7386  else
7387 
7388  {
7389  check_not_to_creat_tetra=3;
7390 
7391  }
7392 
7393  }
7394 
7395 
7396  if((quall13>0.000001) && (check_not_to_creat_tetra!=3))
7397  {
7398  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()));
7399  check_to_go_further=5;
7400  qualite_moyenne_3D+=quall13;
7401  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7402  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7403  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
7404 
7405 
7406  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
7407  }
7408 
7409  if((quallo13>0.000001) && (check_not_to_creat_tetra!=3))
7410  {
7411  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()));
7412  check_to_go_further=5;
7413  qualite_moyenne_3D+=quallo13;
7414  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7415  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7416  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
7417 
7418  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
7419  }
7420 
7421  if((quall14>0.000001) && (check_not_to_creat_tetra!=3))
7422  {
7423  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()));
7424 
7425  check_to_go_further=5;
7426  qualite_moyenne_3D+=quall14;
7427  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7428  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7429 
7430  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
7431  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
7432  }
7433 
7434  if((quallo14>0.000001) && (check_not_to_creat_tetra!=3))
7435  {
7436  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()));
7437 
7438  check_to_go_further=5;
7439 
7440  qualite_moyenne_3D+=quallo14;
7441  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7442  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7443  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
7444  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
7445  }
7446 
7447  if((quall15>0.000001) && (check_not_to_creat_tetra!=3))
7448  {
7449  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()));
7450  check_to_go_further=5;
7451  qualite_moyenne_3D+=quall15;
7452  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7453  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7454  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
7455  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
7456  }
7457 
7458  if((quallo15>0.000001) && (check_not_to_creat_tetra!=3))
7459  {
7460 
7461  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()));
7462  check_to_go_further=5;
7463  qualite_moyenne_3D+=quallo15;
7464  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7465  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7466  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
7467  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
7468  }
7469  }
7470 
7471  if ((quall16>0.000001 || quallo16>0.000001) && (quall17>0.000001 || quallo17>0.000001) && (quall18>0.000001 || quallo18>0.000001) && (check_to_go_further==3))
7472  {
7473  check_not_to_creat_tetra=0;
7474  LISTE_MG_TRIANGLE::iterator it_tri_existed;
7475  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))
7476 
7477  {
7478 
7479  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()))))
7480  {
7481 
7482  check_to_creat_tetra=2;
7483  }
7484 
7485 
7486  else
7487 
7488  {
7489  check_not_to_creat_tetra=3;
7490 
7491  }
7492 
7493  }
7494 
7495  if((quall16>0.000001) && (check_not_to_creat_tetra!=3))
7496  {
7497  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()));
7498 
7499  check_to_go_further=5;
7500  qualite_moyenne_3D+=quall16;
7501  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7502  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7503 
7504  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
7505  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
7506  }
7507  if((quallo16>0.000001) && (check_not_to_creat_tetra!=3))
7508  {
7509  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()));
7510 
7511  check_to_go_further=5;
7512  qualite_moyenne_3D+=quallo16;
7513  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7514  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7515  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
7516  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
7517  }
7518  if((quall17>0.000001) && (check_not_to_creat_tetra!=3))
7519  {
7520  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()));
7521  check_to_go_further=5;
7522  qualite_moyenne_3D+=quall17;
7523  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7524  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7525  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
7526  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
7527  }
7528  if((quallo17>0.000001) && (check_not_to_creat_tetra!=3))
7529  {
7530  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()));
7531  check_to_go_further=5;
7532  qualite_moyenne_3D+=quallo17;
7533 
7534  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7535  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7536 
7537  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
7538  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
7539  }
7540  if((quall18>0.000001) && (check_not_to_creat_tetra!=3))
7541  {
7542  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()));
7543  check_to_go_further=5;
7544  qualite_moyenne_3D+=quall18;
7545  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7546  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7547  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
7548  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
7549  }
7550  if((quallo18>0.000001) && (check_not_to_creat_tetra!=3))
7551  {
7552  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()));
7553  check_to_go_further=5;
7554  qualite_moyenne_3D+=quallo18;
7555 
7556  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7557  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7558  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
7559  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
7560  }
7561  }
7562  }
7563  }
7564 
7565  }
7566  if (identi111 == identi333)
7567  {
7568  int id_node_common0=(map_correspondance_node_node_out.find(lst_node_in_second.get(0))->second)->get_id();
7569  int id_node_common4=(map_correspondance_node_node_out.find(lst_node_in_second.get(4))->second)->get_id();
7570 
7571 
7572  if(id_node_common0==id_node_common4)
7573  {
7574  //============================================Getting the Qualities=====================
7575  //=======================================================================================
7576 
7577  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());
7578 
7579  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());
7580 
7581  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());
7582 
7583  //----------------------------------------------------
7584  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());
7585 
7586  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());
7587 
7588  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());
7589 
7590  lst_node_tri11.ajouter(lst_node_in_second.get(5));
7591  lst_node_tri11.ajouter(lst_node_in_second.get(1));
7592  lst_node_tri11.ajouter(lst_node_in_second.get(4));
7593 
7594  lst_node_tri12.ajouter(lst_node_in_second.get(1));
7595  lst_node_tri12.ajouter(lst_node_in_second.get(4));
7596  lst_node_tri12.ajouter(lst_node_in_second.get(6));
7597 
7598  lst_node_tri13.ajouter(lst_node_in_second.get(1));
7599  lst_node_tri13.ajouter(lst_node_in_second.get(5));
7600  lst_node_tri13.ajouter(lst_node_in_second.get(6));
7601 
7602  lst_node_tri14.ajouter(lst_node_in_second.get(4));
7603  lst_node_tri14.ajouter(lst_node_in_second.get(5));
7604  lst_node_tri14.ajouter(lst_node_in_second.get(6));
7605 
7606  lst_node_tri15.ajouter(lst_node_in_second.get(0));
7607  lst_node_tri15.ajouter(lst_node_in_second.get(1));
7608  lst_node_tri15.ajouter(lst_node_in_second.get(2));
7609 
7610  lst_node_tri16.ajouter(lst_node_in_second.get(0));
7611  lst_node_tri16.ajouter(lst_node_in_second.get(1));
7612  lst_node_tri16.ajouter(lst_node_in_second.get(6));
7613 
7614  lst_node_tri17.ajouter(lst_node_in_second.get(0));
7615  lst_node_tri17.ajouter(lst_node_in_second.get(2));
7616  lst_node_tri17.ajouter(lst_node_in_second.get(6));
7617 
7618  lst_node_tri18.ajouter(lst_node_in_second.get(1));
7619  lst_node_tri18.ajouter(lst_node_in_second.get(2));
7620  lst_node_tri18.ajouter(lst_node_in_second.get(6));
7621 
7622  lst_node_tri19.ajouter(lst_node_in_second.get(1));
7623  lst_node_tri19.ajouter(lst_node_in_second.get(4));
7624  lst_node_tri19.ajouter(lst_node_in_second.get(0));
7625 
7626  lst_node_tri110.ajouter(lst_node_in_second.get(0));
7627  lst_node_tri110.ajouter(lst_node_in_second.get(4));
7628  lst_node_tri110.ajouter(lst_node_in_second.get(6));
7629 
7630  //----------------------------------------------------
7631  //----------------------------------------------------
7632  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());
7633 
7634  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());
7635 
7636  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());
7637 
7638  //----------------------------------------------------
7639  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());
7640 
7641  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());
7642 
7643  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());
7644 
7645  lst_node_tri21.ajouter(lst_node_in_second.get(1));
7646  lst_node_tri21.ajouter(lst_node_in_second.get(4));
7647  lst_node_tri21.ajouter(lst_node_in_second.get(5));
7648 
7649  lst_node_tri22.ajouter(lst_node_in_second.get(1));
7650  lst_node_tri22.ajouter(lst_node_in_second.get(4));
7651  lst_node_tri22.ajouter(lst_node_in_second.get(6));
7652 
7653  lst_node_tri23.ajouter(lst_node_in_second.get(1));
7654  lst_node_tri23.ajouter(lst_node_in_second.get(5));
7655  lst_node_tri23.ajouter(lst_node_in_second.get(6));
7656 
7657  lst_node_tri24.ajouter(lst_node_in_second.get(4));
7658  lst_node_tri24.ajouter(lst_node_in_second.get(5));
7659  lst_node_tri24.ajouter(lst_node_in_second.get(6));
7660 
7661  lst_node_tri25.ajouter(lst_node_in_second.get(0));
7662  lst_node_tri25.ajouter(lst_node_in_second.get(1));
7663  lst_node_tri25.ajouter(lst_node_in_second.get(2));
7664 
7665  lst_node_tri26.ajouter(lst_node_in_second.get(0));
7666  lst_node_tri26.ajouter(lst_node_in_second.get(1));
7667  lst_node_tri26.ajouter(lst_node_in_second.get(4));
7668 
7669  lst_node_tri27.ajouter(lst_node_in_second.get(0));
7670  lst_node_tri27.ajouter(lst_node_in_second.get(2));
7671  lst_node_tri27.ajouter(lst_node_in_second.get(4));
7672 
7673  lst_node_tri28.ajouter(lst_node_in_second.get(1));
7674  lst_node_tri28.ajouter(lst_node_in_second.get(2));
7675  lst_node_tri28.ajouter(lst_node_in_second.get(4));
7676 
7677  lst_node_tri29.ajouter(lst_node_in_second.get(1));
7678  lst_node_tri29.ajouter(lst_node_in_second.get(2));
7679  lst_node_tri29.ajouter(lst_node_in_second.get(6));
7680 
7681  lst_node_tri210.ajouter(lst_node_in_second.get(2));
7682  lst_node_tri210.ajouter(lst_node_in_second.get(4));
7683  lst_node_tri210.ajouter(lst_node_in_second.get(6));
7684  //----------------------------------------------------
7685  //----------------------------------------------------
7686  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());
7687 
7688  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());
7689 
7690  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());
7691 
7692  //----------------------------------------------------
7693  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());
7694 
7695  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());
7696 
7697  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());
7698 
7699  lst_node_tri31.ajouter(lst_node_in_second.get(5));
7700  lst_node_tri31.ajouter(lst_node_in_second.get(2));
7701  lst_node_tri31.ajouter(lst_node_in_second.get(4));
7702 
7703  lst_node_tri32.ajouter(lst_node_in_second.get(2));
7704  lst_node_tri32.ajouter(lst_node_in_second.get(5));
7705  lst_node_tri32.ajouter(lst_node_in_second.get(6));
7706 
7707  lst_node_tri33.ajouter(lst_node_in_second.get(2));
7708  lst_node_tri33.ajouter(lst_node_in_second.get(4));
7709  lst_node_tri33.ajouter(lst_node_in_second.get(6));
7710 
7711  lst_node_tri34.ajouter(lst_node_in_second.get(5));
7712  lst_node_tri34.ajouter(lst_node_in_second.get(4));
7713  lst_node_tri34.ajouter(lst_node_in_second.get(6));
7714 
7715  lst_node_tri35.ajouter(lst_node_in_second.get(2));
7716  lst_node_tri35.ajouter(lst_node_in_second.get(1));
7717  lst_node_tri35.ajouter(lst_node_in_second.get(5));
7718 
7719  lst_node_tri36.ajouter(lst_node_in_second.get(2));
7720  lst_node_tri36.ajouter(lst_node_in_second.get(1));
7721  lst_node_tri36.ajouter(lst_node_in_second.get(4));
7722 
7723  lst_node_tri37.ajouter(lst_node_in_second.get(1));
7724  lst_node_tri37.ajouter(lst_node_in_second.get(5));
7725  lst_node_tri37.ajouter(lst_node_in_second.get(4));
7726 
7727  lst_node_tri38.ajouter(lst_node_in_second.get(0));
7728  lst_node_tri38.ajouter(lst_node_in_second.get(1));
7729  lst_node_tri38.ajouter(lst_node_in_second.get(2));
7730 
7731  lst_node_tri39.ajouter(lst_node_in_second.get(0));
7732  lst_node_tri39.ajouter(lst_node_in_second.get(2));
7733  lst_node_tri39.ajouter(lst_node_in_second.get(4));
7734 
7735  lst_node_tri310.ajouter(lst_node_in_second.get(0));
7736  lst_node_tri310.ajouter(lst_node_in_second.get(1));
7737  lst_node_tri310.ajouter(lst_node_in_second.get(4));
7738  //----------------------------------------------------
7739  //----------------------------------------------------
7740  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());
7741 
7742  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());
7743 
7744  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());
7745 
7746  //----------------------------------------------------
7747  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());
7748 
7749  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());
7750 
7751  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());
7752 
7753  lst_node_tri41.ajouter(lst_node_in_second.get(0));
7754  lst_node_tri41.ajouter(lst_node_in_second.get(4));
7755  lst_node_tri41.ajouter(lst_node_in_second.get(5));
7756 
7757  lst_node_tri48.ajouter(lst_node_in_second.get(0));
7758  lst_node_tri48.ajouter(lst_node_in_second.get(4));
7759  lst_node_tri48.ajouter(lst_node_in_second.get(6));
7760 
7761 
7762  lst_node_tri42.ajouter(lst_node_in_second.get(0));
7763  lst_node_tri42.ajouter(lst_node_in_second.get(5));
7764  lst_node_tri42.ajouter(lst_node_in_second.get(6));
7765 
7766  lst_node_tri43.ajouter(lst_node_in_second.get(4));
7767  lst_node_tri43.ajouter(lst_node_in_second.get(5));
7768  lst_node_tri43.ajouter(lst_node_in_second.get(6));
7769 
7770  lst_node_tri44.ajouter(lst_node_in_second.get(0));
7771  lst_node_tri44.ajouter(lst_node_in_second.get(1));
7772  lst_node_tri44.ajouter(lst_node_in_second.get(5));
7773 
7774  lst_node_tri45.ajouter(lst_node_in_second.get(0));
7775  lst_node_tri45.ajouter(lst_node_in_second.get(1));
7776  lst_node_tri45.ajouter(lst_node_in_second.get(2));
7777 
7778  lst_node_tri46.ajouter(lst_node_in_second.get(0));
7779  lst_node_tri46.ajouter(lst_node_in_second.get(5));
7780  lst_node_tri46.ajouter(lst_node_in_second.get(2));
7781 
7782  lst_node_tri47.ajouter(lst_node_in_second.get(1));
7783  lst_node_tri47.ajouter(lst_node_in_second.get(5));
7784  lst_node_tri47.ajouter(lst_node_in_second.get(2));
7785 
7786  lst_node_tri49.ajouter(lst_node_in_second.get(0));
7787  lst_node_tri49.ajouter(lst_node_in_second.get(2));
7788  lst_node_tri49.ajouter(lst_node_in_second.get(6));
7789 
7790  lst_node_tri410.ajouter(lst_node_in_second.get(5));
7791  lst_node_tri410.ajouter(lst_node_in_second.get(2));
7792  lst_node_tri410.ajouter(lst_node_in_second.get(6));
7793  //----------------------------------------------------
7794  //----------------------------------------------------
7795  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());
7796 
7797  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());
7798 
7799  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());
7800 
7801 
7802  //----------------------------------------------------
7803  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());
7804 
7805  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());
7806 
7807  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());
7808 
7809  lst_node_tri51.ajouter(lst_node_in_second.get(5));
7810  lst_node_tri51.ajouter(lst_node_in_second.get(2));
7811  lst_node_tri51.ajouter(lst_node_in_second.get(4));
7812 
7813  lst_node_tri52.ajouter(lst_node_in_second.get(2));
7814  lst_node_tri52.ajouter(lst_node_in_second.get(5));
7815  lst_node_tri52.ajouter(lst_node_in_second.get(6));
7816 
7817  lst_node_tri53.ajouter(lst_node_in_second.get(2));
7818  lst_node_tri53.ajouter(lst_node_in_second.get(4));
7819  lst_node_tri53.ajouter(lst_node_in_second.get(6));
7820 
7821  lst_node_tri54.ajouter(lst_node_in_second.get(5));
7822  lst_node_tri54.ajouter(lst_node_in_second.get(4));
7823  lst_node_tri54.ajouter(lst_node_in_second.get(6));
7824 
7825  lst_node_tri55.ajouter(lst_node_in_second.get(1));
7826  lst_node_tri55.ajouter(lst_node_in_second.get(0));
7827  lst_node_tri55.ajouter(lst_node_in_second.get(5));
7828 
7829  lst_node_tri56.ajouter(lst_node_in_second.get(0));
7830  lst_node_tri56.ajouter(lst_node_in_second.get(1));
7831  lst_node_tri56.ajouter(lst_node_in_second.get(2));
7832 
7833  lst_node_tri57.ajouter(lst_node_in_second.get(0));
7834  lst_node_tri57.ajouter(lst_node_in_second.get(5));
7835  lst_node_tri57.ajouter(lst_node_in_second.get(2));
7836 
7837  lst_node_tri58.ajouter(lst_node_in_second.get(1));
7838  lst_node_tri58.ajouter(lst_node_in_second.get(5));
7839  lst_node_tri58.ajouter(lst_node_in_second.get(2));
7840 
7841  lst_node_tri59.ajouter(lst_node_in_second.get(0));
7842  lst_node_tri59.ajouter(lst_node_in_second.get(4));
7843  lst_node_tri59.ajouter(lst_node_in_second.get(5));
7844 
7845  lst_node_tri510.ajouter(lst_node_in_second.get(0));
7846  lst_node_tri510.ajouter(lst_node_in_second.get(2));
7847  lst_node_tri510.ajouter(lst_node_in_second.get(4));
7848 
7849  //----------------------------------------------------
7850  //----------------------------------------------------
7851  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());
7852 
7853  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());
7854 
7855  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());
7856 
7857  //----------------------------------------------------
7858  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());
7859 
7860  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());
7861 
7862  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());
7863 
7864  lst_node_tri61.ajouter(lst_node_in_second.get(0));
7865  lst_node_tri61.ajouter(lst_node_in_second.get(1));
7866  lst_node_tri61.ajouter(lst_node_in_second.get(2));
7867 
7868  lst_node_tri62.ajouter(lst_node_in_second.get(0));
7869  lst_node_tri62.ajouter(lst_node_in_second.get(1));
7870  lst_node_tri62.ajouter(lst_node_in_second.get(6));
7871 
7872  lst_node_tri63.ajouter(lst_node_in_second.get(0));
7873  lst_node_tri63.ajouter(lst_node_in_second.get(2));
7874  lst_node_tri63.ajouter(lst_node_in_second.get(6));
7875 
7876  lst_node_tri64.ajouter(lst_node_in_second.get(1));
7877  lst_node_tri64.ajouter(lst_node_in_second.get(6));
7878  lst_node_tri64.ajouter(lst_node_in_second.get(2));
7879 
7880  lst_node_tri65.ajouter(lst_node_in_second.get(0));
7881  lst_node_tri65.ajouter(lst_node_in_second.get(4));
7882  lst_node_tri65.ajouter(lst_node_in_second.get(5));
7883 
7884  lst_node_tri66.ajouter(lst_node_in_second.get(0));
7885  lst_node_tri66.ajouter(lst_node_in_second.get(4));
7886  lst_node_tri66.ajouter(lst_node_in_second.get(6));
7887 
7888  lst_node_tri67.ajouter(lst_node_in_second.get(4));
7889  lst_node_tri67.ajouter(lst_node_in_second.get(5));
7890  lst_node_tri67.ajouter(lst_node_in_second.get(6));
7891 
7892  lst_node_tri68.ajouter(lst_node_in_second.get(0));
7893  lst_node_tri68.ajouter(lst_node_in_second.get(5));
7894  lst_node_tri68.ajouter(lst_node_in_second.get(6));
7895 
7896  lst_node_tri69.ajouter(lst_node_in_second.get(0));
7897  lst_node_tri69.ajouter(lst_node_in_second.get(5));
7898  lst_node_tri69.ajouter(lst_node_in_second.get(1));
7899 
7900  lst_node_tri610.ajouter(lst_node_in_second.get(1));
7901  lst_node_tri610.ajouter(lst_node_in_second.get(6));
7902  lst_node_tri610.ajouter(lst_node_in_second.get(5));
7903  //----------------------------------------------------
7904  //----------------------------------------------------
7905  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)))
7906 
7907  {
7908  check_not_to_creat_tetra=0;
7909  LISTE_MG_TRIANGLE::iterator it_tri_existed;
7910  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))
7911 
7912  {
7913 
7914  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()))))
7915  {
7916 
7917  check_to_creat_tetra=2;
7918  }
7919 
7920 
7921  else
7922 
7923  {
7924  check_not_to_creat_tetra=3;
7925 
7926  }
7927 
7928  }
7929 
7930 
7931  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
7932  {
7933  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()));
7934  check_to_go_further=5;
7935  qualite_moyenne_3D+=quall1;
7936  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7937  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7938  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
7939  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
7940  }
7941 
7942  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
7943  {
7944  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()));
7945  check_to_go_further=5;
7946  qualite_moyenne_3D+=quallo1;
7947  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
7948  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
7949  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7950  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7951  }
7952 
7953  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
7954  {
7955  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()));
7956  check_to_go_further=5;
7957 
7958  qualite_moyenne_3D+=quall2;
7959  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
7960  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
7961 
7962  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7963  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7964  }
7965  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
7966  {
7967  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()));
7968  check_to_go_further=5;
7969 
7970  qualite_moyenne_3D+=quallo2;
7971  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
7972  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
7973 
7974  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7975  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7976  }
7977 
7978  if ((quall3>0.00001) && (check_not_to_creat_tetra!=3))
7979  {
7980  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()));
7981 
7982  check_to_go_further=5;
7983 
7984  qualite_moyenne_3D+=quall3;
7985  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
7986  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
7987  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7988  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
7989  }
7990  if ((quallo3>0.00001) && (check_not_to_creat_tetra!=3))
7991 
7992  {
7993  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()));
7994  check_to_go_further=5;
7995  qualite_moyenne_3D+=quallo3;
7996  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
7997  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
7998  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
7999  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8000  }
8001 
8002  }
8003  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)))
8004  {
8005  check_not_to_creat_tetra=0;
8006  LISTE_MG_TRIANGLE::iterator it_tri_existed;
8007  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))
8008 
8009  {
8010 
8011  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()))))
8012  {
8013 
8014  check_to_creat_tetra=2;
8015  }
8016 
8017  else
8018 
8019  {
8020  check_not_to_creat_tetra=3;
8021 
8022  }
8023 
8024  }
8025 
8026  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
8027  {
8028  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()));
8029  check_to_go_further=5;
8030  qualite_moyenne_3D+=quall4;
8031  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8032  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8033  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
8034  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
8035  }
8036 
8037  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
8038  {
8039  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()));
8040  check_to_go_further=5;
8041  qualite_moyenne_3D+=quall5;
8042  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8043  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8044  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
8045 
8046  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
8047 
8048  }
8049 
8050  if((quall6>0.00001) && (check_not_to_creat_tetra!=3))
8051  {
8052  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()));
8053  check_to_go_further=5;
8054 
8055  qualite_moyenne_3D+=quall6;
8056  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8057  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8058  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
8059  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
8060 
8061  }
8062  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
8063  {
8064  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()));
8065  check_to_go_further=5;
8066  qualite_moyenne_3D+=quallo4;
8067  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8068  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8069  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
8070  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
8071 
8072  }
8073 
8074  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
8075  {
8076  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()));
8077  check_to_go_further=5;
8078  qualite_moyenne_3D+=quallo5;
8079  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8080  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8081  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
8082  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
8083 
8084  }
8085 
8086  if((quallo6>0.00001) && (check_not_to_creat_tetra!=3))
8087  {
8088  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()));
8089  check_to_go_further=5;
8090  qualite_moyenne_3D+=quallo6;
8091  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8092  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8093  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
8094  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
8095 
8096  }
8097  }
8098  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)))
8099  {
8100  check_not_to_creat_tetra=0;
8101  LISTE_MG_TRIANGLE::iterator it_tri_existed;
8102  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))
8103 
8104  {
8105 
8106  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()))))
8107  {
8108 
8109  check_to_creat_tetra=2;
8110  }
8111 
8112  else
8113 
8114  {
8115  check_not_to_creat_tetra=3;
8116 
8117  }
8118 
8119  }
8120 
8121  if((quall7>0.00001) && (check_not_to_creat_tetra!=3))
8122  {
8123  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()));
8124  check_to_go_further=5;
8125  qualite_moyenne_3D+=quall7;
8126  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8127  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8128 
8129  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
8130 
8131  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
8132  }
8133 
8134  if((quallo7>0.00001) && (check_not_to_creat_tetra!=3))
8135 
8136  {
8137  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()));
8138  check_to_go_further=5;
8139  qualite_moyenne_3D+=quallo7;
8140  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8141  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8142 
8143  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
8144  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
8145  }
8146 
8147  if((quall8>0.00001) && (check_not_to_creat_tetra!=3))
8148  {
8149  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()));
8150  check_to_go_further=5;
8151  qualite_moyenne_3D+=quall8;
8152  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8153  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8154  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
8155 
8156  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
8157 
8158  }
8159 
8160  if((quallo8>0.00001) && (check_not_to_creat_tetra!=3))
8161  {
8162  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()));
8163  check_to_go_further=5;
8164  qualite_moyenne_3D+=quallo8;
8165  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8166  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8167  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
8168  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
8169 
8170  }
8171 
8172  if((quall9>0.00001) && (check_not_to_creat_tetra!=3))
8173  {
8174  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()));
8175  check_to_go_further=5;
8176 
8177  qualite_moyenne_3D+=quall9;
8178  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8179  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8180  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
8181  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
8182  }
8183 
8184  if((quallo9>0.00001) && (check_not_to_creat_tetra!=3))
8185  {
8186  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()));
8187  check_to_go_further=5;
8188  qualite_moyenne_3D+=quallo9;
8189  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8190  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8191  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
8192  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
8193  }
8194  }
8195  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)))
8196  {
8197  check_not_to_creat_tetra=0;
8198  LISTE_MG_TRIANGLE::iterator it_tri_existed;
8199  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))
8200  {
8201  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()))))
8202  {
8203 
8204  check_to_creat_tetra=2;
8205 
8206  }
8207 
8208  else
8209 
8210  {
8211  check_not_to_creat_tetra=3;
8212 
8213  }
8214 
8215  }
8216 
8217  if((quall10>0.00001) && (check_not_to_creat_tetra!=3))
8218  {
8219  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()));
8220 
8221  check_to_go_further=5;
8222 
8223 
8224  qualite_moyenne_3D+=quall10;
8225  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8226  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8227  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
8228  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
8229  }
8230  if((quallo10>0.00001) && (check_not_to_creat_tetra!=3))
8231  {
8232  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()));
8233 
8234  check_to_go_further=5;
8235 
8236 
8237  qualite_moyenne_3D+=quallo10;
8238  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8239  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8240  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
8241  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
8242  }
8243 
8244  if((quall11>0.00001) && (check_not_to_creat_tetra!=3))
8245  {
8246  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()));
8247  check_to_go_further=5;
8248  qualite_moyenne_3D+=quall11;
8249  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8250  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8251  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
8252  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
8253  }
8254  if((quallo11>0.00001) && (check_not_to_creat_tetra!=3))
8255  {
8256  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()));
8257 
8258  check_to_go_further=5;
8259  qualite_moyenne_3D+=quallo11;
8260 
8261  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8262  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8263  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
8264  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
8265  }
8266  if((quall12>0.00001) && (check_not_to_creat_tetra!=3))
8267  {
8268  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()));
8269  check_to_go_further=5;
8270  qualite_moyenne_3D+=quall12;
8271  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8272  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8273  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
8274  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
8275  }
8276  if((quallo12>0.00001) && (check_not_to_creat_tetra!=3))
8277 
8278  {
8279  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()));
8280  check_to_go_further=5;
8281  qualite_moyenne_3D+=quallo12;
8282  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8283  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8284  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
8285  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
8286  }
8287  }
8288  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)))
8289  {
8290  check_not_to_creat_tetra=0;
8291  LISTE_MG_TRIANGLE::iterator it_tri_existed;
8292  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))
8293 
8294  {
8295 
8296  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()))))
8297  {
8298 
8299  check_to_creat_tetra=2;
8300  }
8301 
8302  else
8303 
8304  {
8305  check_not_to_creat_tetra=3;
8306 
8307  }
8308 
8309  }
8310 
8311 
8312  if((quall13>0.00001) && (check_not_to_creat_tetra!=3))
8313  {
8314  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()));
8315  check_to_go_further=5;
8316 
8317  qualite_moyenne_3D+=quall13;
8318  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8319  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8320  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
8321 
8322 
8323  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
8324  }
8325 
8326  if((quallo13>0.00001) && (check_not_to_creat_tetra!=3))
8327  {
8328  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()));
8329  check_to_go_further=5;
8330 
8331  qualite_moyenne_3D+=quallo13;
8332  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8333  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8334  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
8335 
8336  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
8337  }
8338 
8339  if((quall14>0.00001) && (check_not_to_creat_tetra!=3))
8340  {
8341  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()));
8342 
8343  check_to_go_further=5;
8344  qualite_moyenne_3D+=quall14;
8345  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8346  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8347 
8348  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
8349  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
8350  }
8351 
8352  if((quallo14>0.00001) && (check_not_to_creat_tetra!=3))
8353  {
8354  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()));
8355 
8356  check_to_go_further=5;
8357 
8358  qualite_moyenne_3D+=quallo14;
8359  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8360  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8361  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
8362  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
8363  }
8364 
8365  if((quall15>0.00001) && (check_not_to_creat_tetra!=3))
8366  {
8367  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()));
8368  check_to_go_further=5;
8369  qualite_moyenne_3D+=quall15;
8370  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8371  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8372  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
8373  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
8374  }
8375 
8376  if((quallo15>0.00001) && (check_not_to_creat_tetra!=3))
8377  {
8378 
8379  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()));
8380  check_to_go_further=5;
8381  qualite_moyenne_3D+=quallo15;
8382  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8383  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8384  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
8385  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
8386  }
8387  }
8388 
8389  if ((quall16>0.001 || quallo16>0.001) && (quall17>0.001 || quallo17>0.001) && (quall18>0.001 || quallo18>0.001) && (check_to_go_further==3))
8390  {
8391  check_not_to_creat_tetra=0;
8392  LISTE_MG_TRIANGLE::iterator it_tri_existed;
8393  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))
8394 
8395  {
8396 
8397  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()))))
8398  {
8399 
8400  check_to_creat_tetra=2;
8401  }
8402 
8403 
8404  else
8405 
8406  {
8407  check_not_to_creat_tetra=3;
8408 
8409  }
8410 
8411  }
8412 
8413  if((quall16>0.00001) && (check_not_to_creat_tetra!=3))
8414  {
8415  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()));
8416 
8417 
8418  check_to_go_further=5;
8419  qualite_moyenne_3D+=quall16;
8420  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8421  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8422 
8423  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
8424  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
8425  }
8426  if((quallo16>0.00001) && (check_not_to_creat_tetra!=3))
8427  {
8428  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()));
8429 
8430  check_to_go_further=5;
8431  qualite_moyenne_3D+=quallo16;
8432  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8433  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8434  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
8435  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
8436  }
8437  if((quall17>0.00001) && (check_not_to_creat_tetra!=3))
8438  {
8439  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()));
8440  check_to_go_further=5;
8441  qualite_moyenne_3D+=quall17;
8442  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8443  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8444  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
8445  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
8446  }
8447  if((quallo17>0.00001) && (check_not_to_creat_tetra!=3))
8448  {
8449  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()));
8450  check_to_go_further=5;
8451  qualite_moyenne_3D+=quallo17;
8452 
8453  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8454  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8455 
8456  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
8457  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
8458  }
8459  if((quall18>0.00001) && (check_not_to_creat_tetra!=3))
8460  {
8461  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()));
8462  check_to_go_further=5;
8463  qualite_moyenne_3D+=quall18;
8464  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8465  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8466  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
8467  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
8468  }
8469  if((quallo18>0.00001) && (check_not_to_creat_tetra!=3))
8470  {
8471  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()));
8472  check_to_go_further=5;
8473  qualite_moyenne_3D+=quallo18;
8474 
8475  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8476  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8477  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
8478  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
8479  }
8480  }
8481  //=========================================Second Loop==================================================================
8482 
8483  if (check_to_go_further==3)
8484  {
8485  if ((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001) && (quall3>0.001 || quallo3>0.001))
8486 
8487  {
8488  check_not_to_creat_tetra=0;
8489  LISTE_MG_TRIANGLE::iterator it_tri_existed;
8490  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))
8491 
8492  {
8493 
8494  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()))))
8495  {
8496 
8497  check_to_creat_tetra=2;
8498  }
8499 
8500 
8501  else
8502 
8503  {
8504  check_not_to_creat_tetra=3;
8505 
8506  }
8507 
8508  }
8509 
8510 
8511  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
8512  {
8513  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()));
8514  check_to_go_further=5;
8515 
8516  qualite_moyenne_3D+=quall1;
8517  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8518  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8519  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
8520  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
8521  }
8522 
8523  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
8524  {
8525  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()));
8526  check_to_go_further=5;
8527 
8528  qualite_moyenne_3D+=quallo1;
8529  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
8530  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
8531  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8532  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8533  }
8534 
8535  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
8536  {
8537  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()));
8538  check_to_go_further=5;
8539 
8540  qualite_moyenne_3D+=quall2;
8541  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
8542  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
8543 
8544  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8545  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8546  }
8547  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
8548  {
8549  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()));
8550  check_to_go_further=5;
8551 
8552  qualite_moyenne_3D+=quallo2;
8553  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
8554  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
8555 
8556  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8557  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8558  }
8559 
8560  if ((quall3>0.00001) && (check_not_to_creat_tetra!=3))
8561  {
8562  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()));
8563 
8564  check_to_go_further=5;
8565 
8566  qualite_moyenne_3D+=quall3;
8567  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
8568  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
8569  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8570  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8571  }
8572  if ((quallo3>0.00001) && (check_not_to_creat_tetra!=3))
8573 
8574  {
8575  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()));
8576  check_to_go_further=5;
8577  qualite_moyenne_3D+=quallo3;
8578  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
8579  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
8580  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8581  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8582  }
8583  }
8584  if ((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (quall6>0.001 || quallo6>0.001) && (check_to_go_further==3))
8585  {
8586  check_not_to_creat_tetra=0;
8587  LISTE_MG_TRIANGLE::iterator it_tri_existed;
8588  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))
8589 
8590  {
8591 
8592  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()))))
8593  {
8594 
8595  check_to_creat_tetra=2;
8596  }
8597 
8598  else
8599 
8600  {
8601  check_not_to_creat_tetra=3;
8602 
8603  }
8604 
8605  }
8606 
8607  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
8608  {
8609  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()));
8610  check_to_go_further=5;
8611 
8612  qualite_moyenne_3D+=quall4;
8613  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8614  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8615  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
8616  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
8617  }
8618 
8619  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
8620  {
8621  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()));
8622  check_to_go_further=5;
8623  qualite_moyenne_3D+=quall5;
8624  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8625  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8626  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
8627 
8628  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
8629 
8630  }
8631 
8632  if((quall6>0.00001) && (check_not_to_creat_tetra!=3))
8633  {
8634  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()));
8635  check_to_go_further=5;
8636 
8637  qualite_moyenne_3D+=quall6;
8638  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8639  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8640  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
8641  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
8642 
8643  }
8644  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
8645  {
8646  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()));
8647  check_to_go_further=5;
8648 
8649  qualite_moyenne_3D+=quallo4;
8650  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8651  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8652  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
8653  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
8654 
8655  }
8656 
8657  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
8658  {
8659  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()));
8660  check_to_go_further=5;
8661  qualite_moyenne_3D+=quallo5;
8662  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8663  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8664  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
8665  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
8666 
8667  }
8668 
8669  if((quallo6>0.00001) && (check_not_to_creat_tetra!=3))
8670  {
8671  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()));
8672  check_to_go_further=5;
8673  qualite_moyenne_3D+=quallo6;
8674  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8675  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8676  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
8677  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
8678 
8679  }
8680  }
8681  if ((quall7>0.001 || quallo7>0.001) && (quall8>0.001 || quallo8>0.001) && (quall9>0.001 || quallo9>0.001) && (check_to_go_further==3))
8682  {
8683  check_not_to_creat_tetra=0;
8684  LISTE_MG_TRIANGLE::iterator it_tri_existed;
8685  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))
8686 
8687  {
8688 
8689  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()))))
8690  {
8691 
8692  check_to_creat_tetra=2;
8693  }
8694 
8695  else
8696 
8697  {
8698  check_not_to_creat_tetra=3;
8699 
8700  }
8701 
8702  }
8703 
8704  if((quall7>0.00001) && (check_not_to_creat_tetra!=3))
8705  {
8706  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()));
8707  check_to_go_further=5;
8708 
8709  qualite_moyenne_3D+=quall7;
8710  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8711  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8712 
8713  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
8714 
8715  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
8716  }
8717 
8718  if((quallo7>0.00001) && (check_not_to_creat_tetra!=3))
8719 
8720  {
8721  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()));
8722  check_to_go_further=5;
8723 
8724  qualite_moyenne_3D+=quallo7;
8725  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8726  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8727 
8728  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
8729  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
8730  }
8731 
8732  if((quall8>0.00001) && (check_not_to_creat_tetra!=3))
8733  {
8734  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()));
8735  check_to_go_further=5;
8736  qualite_moyenne_3D+=quall8;
8737  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8738  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8739  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
8740 
8741  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
8742 
8743  }
8744 
8745  if((quallo8>0.00001) && (check_not_to_creat_tetra!=3))
8746  {
8747  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()));
8748  check_to_go_further=5;
8749  qualite_moyenne_3D+=quallo8;
8750  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8751  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8752  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
8753  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
8754 
8755  }
8756 
8757  if((quall9>0.00001) && (check_not_to_creat_tetra!=3))
8758  {
8759  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()));
8760  check_to_go_further=5;
8761 
8762  qualite_moyenne_3D+=quall9;
8763  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8764  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8765  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
8766  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
8767  }
8768 
8769  if((quallo9>0.00001) && (check_not_to_creat_tetra!=3))
8770  {
8771  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()));
8772  check_to_go_further=5;
8773  qualite_moyenne_3D+=quallo9;
8774  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8775  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8776  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
8777  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
8778  }
8779  }
8780  if ((quall10>0.001 || quallo10>0.001) && (quall12>0.001 || quallo12>0.001) && (quall11>0.001 || quallo11>0.001) && (check_to_go_further==3))
8781  {
8782  check_not_to_creat_tetra=0;
8783  LISTE_MG_TRIANGLE::iterator it_tri_existed;
8784  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))
8785  {
8786  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()))))
8787  {
8788 
8789  check_to_creat_tetra=2;
8790 
8791  }
8792 
8793  else
8794 
8795  {
8796  check_not_to_creat_tetra=3;
8797 
8798  }
8799 
8800  }
8801 
8802  if((quall10>0.00001) && (check_not_to_creat_tetra!=3))
8803  {
8804  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()));
8805 
8806  check_to_go_further=5;
8807 
8808 
8809  qualite_moyenne_3D+=quall10;
8810  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8811  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8812  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
8813  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
8814  }
8815  if((quallo10>0.00001) && (check_not_to_creat_tetra!=3))
8816  {
8817  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()));
8818 
8819  check_to_go_further=5;
8820 
8821 
8822  qualite_moyenne_3D+=quallo10;
8823  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8824  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8825  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
8826  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
8827  }
8828 
8829  if((quall11>0.00001) && (check_not_to_creat_tetra!=3))
8830  {
8831  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()));
8832  check_to_go_further=5;
8833  qualite_moyenne_3D+=quall11;
8834  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8835  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8836  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
8837  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
8838  }
8839  if((quallo11>0.00001) && (check_not_to_creat_tetra!=3))
8840  {
8841  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()));
8842 
8843  check_to_go_further=5;
8844  qualite_moyenne_3D+=quallo11;
8845 
8846  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8847  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8848  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
8849  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
8850  }
8851  if((quall12>0.00001) && (check_not_to_creat_tetra!=3))
8852  {
8853  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()));
8854  check_to_go_further=5;
8855  qualite_moyenne_3D+=quall12;
8856  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8857  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8858  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
8859  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
8860  }
8861  if((quallo12>0.00001) && (check_not_to_creat_tetra!=3))
8862 
8863  {
8864  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()));
8865  check_to_go_further=5;
8866  qualite_moyenne_3D+=quallo12;
8867  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8868  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8869  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
8870  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
8871  }
8872  }
8873 if ((quall13>0.001 || quallo13>0.001) && (quall14>0.001 || quallo14>0.001) && (quall15>0.001 || quallo15>0.001) && (check_to_go_further==3))
8874  {
8875  check_not_to_creat_tetra=0;
8876  LISTE_MG_TRIANGLE::iterator it_tri_existed;
8877  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))
8878 
8879  {
8880 
8881  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()))))
8882  {
8883 
8884  check_to_creat_tetra=2;
8885  }
8886 
8887  else
8888 
8889  {
8890  check_not_to_creat_tetra=3;
8891 
8892  }
8893 
8894  }
8895 
8896 
8897  if((quall13>0.00001) && (check_not_to_creat_tetra!=3))
8898  {
8899  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()));
8900  check_to_go_further=5;
8901 
8902  qualite_moyenne_3D+=quall13;
8903  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8904  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8905  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
8906 
8907 
8908  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
8909  }
8910 
8911  if((quallo13>0.00001) && (check_not_to_creat_tetra!=3))
8912  {
8913  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()));
8914  check_to_go_further=5;
8915 
8916  qualite_moyenne_3D+=quallo13;
8917  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8918  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8919  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
8920 
8921  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
8922  }
8923 
8924  if((quall14>0.00001) && (check_not_to_creat_tetra!=3))
8925  {
8926  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()));
8927 
8928  check_to_go_further=5;
8929  qualite_moyenne_3D+=quall14;
8930  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8931  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8932 
8933  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
8934  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
8935  }
8936 
8937  if((quallo14>0.00001) && (check_not_to_creat_tetra!=3))
8938  {
8939  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()));
8940 
8941  check_to_go_further=5;
8942 
8943  qualite_moyenne_3D+=quallo14;
8944  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8945  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8946  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
8947  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
8948  }
8949 
8950  if((quall15>0.00001) && (check_not_to_creat_tetra!=3))
8951  {
8952  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()));
8953  check_to_go_further=5;
8954  qualite_moyenne_3D+=quall15;
8955  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8956  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8957  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
8958  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
8959  }
8960 
8961  if((quallo15>0.00001) && (check_not_to_creat_tetra!=3))
8962  {
8963 
8964  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()));
8965  check_to_go_further=5;
8966  qualite_moyenne_3D+=quallo15;
8967  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
8968  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
8969  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
8970  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
8971  }
8972 
8973  }
8974 
8975  if ((quall16>0.001 || quallo16>0.001) && (quall17>0.001 || quallo17>0.001) && (quall18>0.001 || quallo18>0.001) && (check_to_go_further==3))
8976  {
8977  check_not_to_creat_tetra=0;
8978  LISTE_MG_TRIANGLE::iterator it_tri_existed;
8979  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))
8980 
8981  {
8982 
8983  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()))))
8984  {
8985 
8986  check_to_creat_tetra=2;
8987  }
8988 
8989 
8990  else
8991 
8992  {
8993  check_not_to_creat_tetra=3;
8994 
8995  }
8996 
8997  }
8998 
8999  if((quall16>0.00001) && (check_not_to_creat_tetra!=3))
9000  {
9001  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()));
9002 
9003 
9004  check_to_go_further=5;
9005  qualite_moyenne_3D+=quall16;
9006  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9007  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9008 
9009  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
9010  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
9011  }
9012  if((quallo16>0.00001) && (check_not_to_creat_tetra!=3))
9013  {
9014  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()));
9015 
9016 
9017  check_to_go_further=5;
9018  qualite_moyenne_3D+=quallo16;
9019  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9020  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9021  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
9022  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
9023  }
9024  if((quall17>0.00001) && (check_not_to_creat_tetra!=3))
9025  {
9026  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()));
9027  check_to_go_further=5;
9028  qualite_moyenne_3D+=quall17;
9029  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9030  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9031  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
9032  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
9033  }
9034  if((quallo17>0.00001) && (check_not_to_creat_tetra!=3))
9035  {
9036  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()));
9037  check_to_go_further=5;
9038  qualite_moyenne_3D+=quallo17;
9039 
9040  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9041  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9042 
9043  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
9044  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
9045  }
9046  if((quall18>0.00001) && (check_not_to_creat_tetra!=3))
9047  {
9048  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()));
9049  check_to_go_further=5;
9050  qualite_moyenne_3D+=quall18;
9051  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9052  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9053  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
9054  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
9055  }
9056  if((quallo18>0.00001) && (check_not_to_creat_tetra!=3))
9057  {
9058  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()));
9059  check_to_go_further=5;
9060  qualite_moyenne_3D+=quallo18;
9061 
9062  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9063  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9064  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
9065  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
9066  }
9067 
9068  }
9069  }
9070  //============================================Third loop==============================================================
9071  if (check_to_go_further==3)
9072  {
9073  if ((quall1>0.000001 || quallo1>0.000001) && (quall2>0.000001 || quallo2>0.000001) && (quall3>0.000001 || quallo3>0.000001))
9074  {
9075  check_not_to_creat_tetra=0;
9076  LISTE_MG_TRIANGLE::iterator it_tri_existed;
9077  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))
9078 
9079  {
9080 
9081  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()))))
9082  {
9083 
9084  check_to_creat_tetra=2;
9085  }
9086 
9087 
9088  else
9089 
9090  {
9091  check_not_to_creat_tetra=3;
9092 
9093  }
9094 
9095  }
9096 
9097 
9098  if ((quall1>0.000001) && (check_not_to_creat_tetra!=3))
9099  {
9100  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()));
9101  check_to_go_further=5;
9102 
9103  qualite_moyenne_3D+=quall1;
9104  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9105  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9106  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
9107  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
9108  }
9109 
9110  if ((quallo1>0.000001) && (check_not_to_creat_tetra!=3))
9111  {
9112  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()));
9113  check_to_go_further=5;
9114 
9115  qualite_moyenne_3D+=quallo1;
9116  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
9117  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
9118  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9119  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9120  }
9121 
9122  if ((quall2>0.000001) && (check_not_to_creat_tetra!=3))
9123  {
9124  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()));
9125  check_to_go_further=5;
9126 
9127  qualite_moyenne_3D+=quall2;
9128  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
9129  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
9130 
9131  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9132  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9133  }
9134  if ((quallo2>0.000001) && (check_not_to_creat_tetra!=3))
9135  {
9136  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()));
9137  check_to_go_further=5;
9138 
9139  qualite_moyenne_3D+=quallo2;
9140  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
9141  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
9142 
9143  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9144  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9145  }
9146 
9147  if ((quall3>0.000001) && (check_not_to_creat_tetra!=3))
9148  {
9149  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()));
9150 
9151  check_to_go_further=5;
9152 
9153  qualite_moyenne_3D+=quall3;
9154  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
9155  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
9156  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9157  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9158  }
9159  if ((quallo3>0.000001) && (check_not_to_creat_tetra!=3))
9160 
9161  {
9162  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()));
9163  check_to_go_further=5;
9164  qualite_moyenne_3D+=quallo3;
9165  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
9166  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
9167  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9168  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9169  }
9170  }
9171  if ((quall4>0.000001 || quallo4>0.000001) && (quall5>0.000001 || quallo5>0.000001) && (quall6>0.000001 || quallo6>0.000001) && (check_to_go_further==3))
9172  {
9173  check_not_to_creat_tetra=0;
9174  LISTE_MG_TRIANGLE::iterator it_tri_existed;
9175  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))
9176 
9177  {
9178 
9179  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()))))
9180  {
9181 
9182  check_to_creat_tetra=2;
9183  }
9184 
9185  else
9186 
9187  {
9188  check_not_to_creat_tetra=3;
9189 
9190  }
9191 
9192  }
9193 
9194  if((quall4>0.000001) && (check_not_to_creat_tetra!=3))
9195  {
9196  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()));
9197  check_to_go_further=5;
9198 
9199  qualite_moyenne_3D+=quall4;
9200  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9201  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9202  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
9203  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
9204  }
9205 
9206  if((quall5>0.000001) && (check_not_to_creat_tetra!=3))
9207  {
9208  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()));
9209  check_to_go_further=5;
9210  qualite_moyenne_3D+=quall5;
9211  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9212  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9213  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
9214 
9215  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
9216 
9217  }
9218 
9219  if((quall6>0.000001) && (check_not_to_creat_tetra!=3))
9220  {
9221  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()));
9222  check_to_go_further=5;
9223 
9224  qualite_moyenne_3D+=quall6;
9225  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9226  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9227  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
9228  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
9229 
9230  }
9231  if((quallo4>0.000001) && (check_not_to_creat_tetra!=3))
9232  {
9233  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()));
9234  check_to_go_further=5;
9235 
9236  qualite_moyenne_3D+=quallo4;
9237  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9238  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9239  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
9240  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
9241 
9242  }
9243 
9244  if((quallo5>0.000001) && (check_not_to_creat_tetra!=3))
9245  {
9246  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()));
9247  check_to_go_further=5;
9248  qualite_moyenne_3D+=quallo5;
9249  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9250  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9251  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
9252  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
9253 
9254  }
9255 
9256  if((quallo6>0.000001) && (check_not_to_creat_tetra!=3))
9257  {
9258  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()));
9259  check_to_go_further=5;
9260  qualite_moyenne_3D+=quallo6;
9261  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9262  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9263  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
9264  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
9265 
9266  }
9267  }
9268  if ((quall7>0.000001 || quallo7>0.000001) && (quall8>0.000001 || quallo8>0.000001) && (quall9>0.000001 || quallo9>0.000001) && (check_to_go_further==3))
9269  {
9270  check_not_to_creat_tetra=0;
9271  LISTE_MG_TRIANGLE::iterator it_tri_existed;
9272  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))
9273 
9274  {
9275 
9276  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()))))
9277  {
9278 
9279  check_to_creat_tetra=2;
9280  }
9281 
9282  else
9283 
9284  {
9285  check_not_to_creat_tetra=3;
9286 
9287  }
9288 
9289  }
9290 
9291  if((quall7>0.000001) && (check_not_to_creat_tetra!=3))
9292  {
9293  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()));
9294  check_to_go_further=5;
9295 
9296  qualite_moyenne_3D+=quall7;
9297  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9298  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9299 
9300  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
9301 
9302  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
9303  }
9304 
9305  if((quallo7>0.000001) && (check_not_to_creat_tetra!=3))
9306 
9307  {
9308  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()));
9309  check_to_go_further=5;
9310 
9311  qualite_moyenne_3D+=quallo7;
9312  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9313  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9314 
9315  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
9316  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
9317  }
9318 
9319  if((quall8>0.000001) && (check_not_to_creat_tetra!=3))
9320  {
9321  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()));
9322  check_to_go_further=5;
9323  qualite_moyenne_3D+=quall8;
9324  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9325  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9326  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
9327 
9328  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
9329 
9330  }
9331 
9332  if((quallo8>0.000001) && (check_not_to_creat_tetra!=3))
9333  {
9334  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()));
9335  check_to_go_further=5;
9336  qualite_moyenne_3D+=quallo8;
9337  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9338  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9339  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
9340  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
9341 
9342  }
9343 
9344  if((quall9>0.000001) && (check_not_to_creat_tetra!=3))
9345  {
9346  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()));
9347  check_to_go_further=5;
9348 
9349  qualite_moyenne_3D+=quall9;
9350  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9351  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9352  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
9353  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
9354  }
9355 
9356  if((quallo9>0.000001) && (check_not_to_creat_tetra!=3))
9357  {
9358  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()));
9359  check_to_go_further=5;
9360  qualite_moyenne_3D+=quallo9;
9361  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9362  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9363  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
9364  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
9365  }
9366  }
9367  if ((quall10>0.000001 || quallo10>0.000001) && (quall12>0.000001 || quallo12>0.000001) && (quall11>0.000001 || quallo11>0.000001) && (check_to_go_further==3))
9368  {
9369  check_not_to_creat_tetra=0;
9370  LISTE_MG_TRIANGLE::iterator it_tri_existed;
9371  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))
9372  {
9373  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()))))
9374  {
9375 
9376  check_to_creat_tetra=2;
9377 
9378  }
9379 
9380  else
9381 
9382  {
9383  check_not_to_creat_tetra=3;
9384 
9385  }
9386 
9387  }
9388 
9389  if((quall10>0.000001) && (check_not_to_creat_tetra!=3))
9390  {
9391  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()));
9392 
9393  check_to_go_further=5;
9394 
9395 
9396  qualite_moyenne_3D+=quall10;
9397  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9398  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9399  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
9400  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
9401  }
9402  if((quallo10>0.000001) && (check_not_to_creat_tetra!=3))
9403  {
9404  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()));
9405 
9406  check_to_go_further=5;
9407 
9408  qualite_moyenne_3D+=quallo10;
9409  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9410  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9411  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
9412  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
9413  }
9414 
9415  if((quall11>0.000001) && (check_not_to_creat_tetra!=3))
9416  {
9417  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()));
9418  check_to_go_further=5;
9419  qualite_moyenne_3D+=quall11;
9420  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9421  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9422  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
9423  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
9424  }
9425  if((quallo11>0.000001) && (check_not_to_creat_tetra!=3))
9426  {
9427  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()));
9428 
9429  check_to_go_further=5;
9430  qualite_moyenne_3D+=quallo11;
9431 
9432  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9433  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9434  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
9435  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
9436  }
9437  if((quall12>0.000001) && (check_not_to_creat_tetra!=3))
9438  {
9439  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()));
9440  check_to_go_further=5;
9441  qualite_moyenne_3D+=quall12;
9442  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9443  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9444  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
9445  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
9446  }
9447  if((quallo12>0.000001) && (check_not_to_creat_tetra!=3))
9448 
9449  {
9450  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()));
9451  check_to_go_further=5;
9452  qualite_moyenne_3D+=quallo12;
9453  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9454  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9455  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
9456  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
9457  }
9458 
9459  }
9460  if ((quall13>0.000001 || quallo13>0.000001) && (quall14>0.000001 || quallo14>0.000001) && (quall15>0.000001 || quallo15>0.000001) && (check_to_go_further==3))
9461  {
9462  check_not_to_creat_tetra=0;
9463  LISTE_MG_TRIANGLE::iterator it_tri_existed;
9464  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))
9465 
9466  {
9467 
9468  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()))))
9469  {
9470 
9471  check_to_creat_tetra=2;
9472  }
9473 
9474  else
9475 
9476  {
9477  check_not_to_creat_tetra=3;
9478 
9479  }
9480 
9481  }
9482 
9483 
9484  if((quall13>0.000001) && (check_not_to_creat_tetra!=3))
9485  {
9486  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()));
9487  check_to_go_further=5;
9488 
9489  qualite_moyenne_3D+=quall13;
9490  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9491  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9492  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
9493 
9494 
9495  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
9496  }
9497 
9498  if((quallo13>0.000001) && (check_not_to_creat_tetra!=3))
9499  {
9500  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()));
9501  check_to_go_further=5;
9502 
9503  qualite_moyenne_3D+=quallo13;
9504  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9505  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9506  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
9507 
9508  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
9509  }
9510 
9511  if((quall14>0.000001) && (check_not_to_creat_tetra!=3))
9512  {
9513  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()));
9514 
9515  check_to_go_further=5;
9516  qualite_moyenne_3D+=quall14;
9517  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9518  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9519 
9520  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
9521  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
9522  }
9523 
9524  if((quallo14>0.000001) && (check_not_to_creat_tetra!=3))
9525  {
9526  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()));
9527 
9528  check_to_go_further=5;
9529 
9530  qualite_moyenne_3D+=quallo14;
9531  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9532  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9533  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
9534  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
9535  }
9536 
9537  if((quall15>0.000001) && (check_not_to_creat_tetra!=3))
9538  {
9539  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()));
9540  check_to_go_further=5;
9541  qualite_moyenne_3D+=quall15;
9542  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9543  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9544  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
9545  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
9546  }
9547 
9548  if((quallo15>0.000001) && (check_not_to_creat_tetra!=3))
9549  {
9550 
9551  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()));
9552  check_to_go_further=5;
9553  qualite_moyenne_3D+=quallo15;
9554  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9555  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9556  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
9557  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
9558  }
9559  }
9560 
9561  if ((quall16>0.000001 || quallo16>0.000001) && (quall17>0.000001 || quallo17>0.000001) && (quall18>0.000001 || quallo18>0.000001) && (check_to_go_further==3))
9562  {
9563  check_not_to_creat_tetra=0;
9564  LISTE_MG_TRIANGLE::iterator it_tri_existed;
9565  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))
9566 
9567  {
9568 
9569  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()))))
9570  {
9571 
9572  check_to_creat_tetra=2;
9573  }
9574 
9575 
9576  else
9577 
9578  {
9579  check_not_to_creat_tetra=3;
9580 
9581  }
9582 
9583  }
9584 
9585  if((quall16>0.000001) && (check_not_to_creat_tetra!=3))
9586  {
9587  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()));
9588 
9589  check_to_go_further=5;
9590  qualite_moyenne_3D+=quall16;
9591  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9592  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9593 
9594  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
9595  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
9596  }
9597  if((quallo16>0.000001) && (check_not_to_creat_tetra!=3))
9598  {
9599  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()));
9600 
9601  check_to_go_further=5;
9602  qualite_moyenne_3D+=quallo16;
9603  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9604  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9605  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
9606  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
9607  }
9608  if((quall17>0.000001) && (check_not_to_creat_tetra!=3))
9609  {
9610  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()));
9611  check_to_go_further=5;
9612  qualite_moyenne_3D+=quall17;
9613  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9614  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9615  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
9616  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
9617  }
9618  if((quallo17>0.000001) && (check_not_to_creat_tetra!=3))
9619  {
9620  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()));
9621  check_to_go_further=5;
9622  qualite_moyenne_3D+=quallo17;
9623 
9624  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9625  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9626 
9627  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
9628  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
9629  }
9630  if((quall18>0.000001) && (check_not_to_creat_tetra!=3))
9631  {
9632  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()));
9633  check_to_go_further=5;
9634  qualite_moyenne_3D+=quall18;
9635  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9636  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9637  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
9638  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
9639  }
9640  if((quallo18>0.000001) && (check_not_to_creat_tetra!=3))
9641  {
9642  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()));
9643  check_to_go_further=5;
9644  qualite_moyenne_3D+=quallo18;
9645 
9646  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
9647  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
9648  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
9649  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
9650  }
9651  }
9652  }
9653  }
9654  else
9655  {
9656  //========================================The change of 4 by 6====================================
9657  //============================================Getting the Qualities===============================
9658  //================================================================================================
9659 
9660  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());
9661 
9662  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());
9663 
9664  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());
9665 
9666  //----------------------------------------------------
9667  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());
9668 
9669  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());
9670 
9671  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());
9672 
9673  lst_node_tri11.ajouter(lst_node_in_second.get(5));
9674  lst_node_tri11.ajouter(lst_node_in_second.get(1));
9675  lst_node_tri11.ajouter(lst_node_in_second.get(4));
9676 
9677  lst_node_tri12.ajouter(lst_node_in_second.get(1));
9678  lst_node_tri12.ajouter(lst_node_in_second.get(4));
9679  lst_node_tri12.ajouter(lst_node_in_second.get(6));
9680 
9681  lst_node_tri13.ajouter(lst_node_in_second.get(1));
9682  lst_node_tri13.ajouter(lst_node_in_second.get(5));
9683  lst_node_tri13.ajouter(lst_node_in_second.get(6));
9684 
9685  lst_node_tri14.ajouter(lst_node_in_second.get(4));
9686  lst_node_tri14.ajouter(lst_node_in_second.get(5));
9687  lst_node_tri14.ajouter(lst_node_in_second.get(6));
9688 
9689  lst_node_tri15.ajouter(lst_node_in_second.get(0));
9690  lst_node_tri15.ajouter(lst_node_in_second.get(1));
9691  lst_node_tri15.ajouter(lst_node_in_second.get(2));
9692 
9693  lst_node_tri16.ajouter(lst_node_in_second.get(0));
9694  lst_node_tri16.ajouter(lst_node_in_second.get(1));
9695  lst_node_tri16.ajouter(lst_node_in_second.get(4));
9696 
9697  lst_node_tri17.ajouter(lst_node_in_second.get(0));
9698  lst_node_tri17.ajouter(lst_node_in_second.get(2));
9699  lst_node_tri17.ajouter(lst_node_in_second.get(4));
9700 
9701  lst_node_tri18.ajouter(lst_node_in_second.get(1));
9702  lst_node_tri18.ajouter(lst_node_in_second.get(2));
9703  lst_node_tri18.ajouter(lst_node_in_second.get(4));
9704 
9705  lst_node_tri19.ajouter(lst_node_in_second.get(1));
9706  lst_node_tri19.ajouter(lst_node_in_second.get(6));
9707  lst_node_tri19.ajouter(lst_node_in_second.get(0));
9708 
9709  lst_node_tri110.ajouter(lst_node_in_second.get(0));
9710  lst_node_tri110.ajouter(lst_node_in_second.get(4));
9711  lst_node_tri110.ajouter(lst_node_in_second.get(6));
9712 
9713  //----------------------------------------------------
9714  //----------------------------------------------------
9715  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());
9716 
9717  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());
9718 
9719  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());
9720 
9721  //----------------------------------------------------
9722  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());
9723 
9724  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());
9725 
9726  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());
9727 
9728  lst_node_tri21.ajouter(lst_node_in_second.get(1));
9729  lst_node_tri21.ajouter(lst_node_in_second.get(4));
9730  lst_node_tri21.ajouter(lst_node_in_second.get(5));
9731 
9732  lst_node_tri22.ajouter(lst_node_in_second.get(1));
9733  lst_node_tri22.ajouter(lst_node_in_second.get(4));
9734  lst_node_tri22.ajouter(lst_node_in_second.get(6));
9735 
9736  lst_node_tri23.ajouter(lst_node_in_second.get(1));
9737  lst_node_tri23.ajouter(lst_node_in_second.get(5));
9738  lst_node_tri23.ajouter(lst_node_in_second.get(6));
9739 
9740  lst_node_tri24.ajouter(lst_node_in_second.get(4));
9741  lst_node_tri24.ajouter(lst_node_in_second.get(5));
9742  lst_node_tri24.ajouter(lst_node_in_second.get(6));
9743 
9744  lst_node_tri25.ajouter(lst_node_in_second.get(0));
9745  lst_node_tri25.ajouter(lst_node_in_second.get(1));
9746  lst_node_tri25.ajouter(lst_node_in_second.get(2));
9747 
9748  lst_node_tri26.ajouter(lst_node_in_second.get(0));
9749  lst_node_tri26.ajouter(lst_node_in_second.get(1));
9750  lst_node_tri26.ajouter(lst_node_in_second.get(6));
9751 
9752  lst_node_tri27.ajouter(lst_node_in_second.get(0));
9753  lst_node_tri27.ajouter(lst_node_in_second.get(2));
9754  lst_node_tri27.ajouter(lst_node_in_second.get(6));
9755 
9756  lst_node_tri28.ajouter(lst_node_in_second.get(1));
9757  lst_node_tri28.ajouter(lst_node_in_second.get(2));
9758  lst_node_tri28.ajouter(lst_node_in_second.get(6));
9759 
9760  lst_node_tri29.ajouter(lst_node_in_second.get(1));
9761  lst_node_tri29.ajouter(lst_node_in_second.get(2));
9762  lst_node_tri29.ajouter(lst_node_in_second.get(4));
9763 
9764  lst_node_tri210.ajouter(lst_node_in_second.get(2));
9765  lst_node_tri210.ajouter(lst_node_in_second.get(4));
9766  lst_node_tri210.ajouter(lst_node_in_second.get(6));
9767  //----------------------------------------------------
9768  //----------------------------------------------------
9769  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());
9770 
9771  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());
9772 
9773  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());
9774 
9775  //----------------------------------------------------
9776  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());
9777 
9778  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());
9779 
9780  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());
9781 
9782  lst_node_tri31.ajouter(lst_node_in_second.get(5));
9783  lst_node_tri31.ajouter(lst_node_in_second.get(2));
9784  lst_node_tri31.ajouter(lst_node_in_second.get(4));
9785 
9786  lst_node_tri32.ajouter(lst_node_in_second.get(2));
9787  lst_node_tri32.ajouter(lst_node_in_second.get(5));
9788  lst_node_tri32.ajouter(lst_node_in_second.get(6));
9789 
9790  lst_node_tri33.ajouter(lst_node_in_second.get(2));
9791  lst_node_tri33.ajouter(lst_node_in_second.get(4));
9792  lst_node_tri33.ajouter(lst_node_in_second.get(6));
9793 
9794  lst_node_tri34.ajouter(lst_node_in_second.get(5));
9795  lst_node_tri34.ajouter(lst_node_in_second.get(4));
9796  lst_node_tri34.ajouter(lst_node_in_second.get(6));
9797 
9798  lst_node_tri35.ajouter(lst_node_in_second.get(2));
9799  lst_node_tri35.ajouter(lst_node_in_second.get(1));
9800  lst_node_tri35.ajouter(lst_node_in_second.get(5));
9801 
9802  lst_node_tri36.ajouter(lst_node_in_second.get(2));
9803  lst_node_tri36.ajouter(lst_node_in_second.get(1));
9804  lst_node_tri36.ajouter(lst_node_in_second.get(6));
9805 
9806  lst_node_tri37.ajouter(lst_node_in_second.get(1));
9807  lst_node_tri37.ajouter(lst_node_in_second.get(5));
9808  lst_node_tri37.ajouter(lst_node_in_second.get(6));
9809 
9810  lst_node_tri38.ajouter(lst_node_in_second.get(0));
9811  lst_node_tri38.ajouter(lst_node_in_second.get(1));
9812  lst_node_tri38.ajouter(lst_node_in_second.get(2));
9813 
9814  lst_node_tri39.ajouter(lst_node_in_second.get(0));
9815  lst_node_tri39.ajouter(lst_node_in_second.get(2));
9816  lst_node_tri39.ajouter(lst_node_in_second.get(6));
9817 
9818  lst_node_tri310.ajouter(lst_node_in_second.get(0));
9819  lst_node_tri310.ajouter(lst_node_in_second.get(1));
9820  lst_node_tri310.ajouter(lst_node_in_second.get(6));
9821  //----------------------------------------------------
9822  //----------------------------------------------------
9823  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());
9824 
9825  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());
9826 
9827  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());
9828 
9829 
9830  //----------------------------------------------------
9831  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());
9832 
9833  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());
9834 
9835  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());
9836 
9837  lst_node_tri41.ajouter(lst_node_in_second.get(0));
9838  lst_node_tri41.ajouter(lst_node_in_second.get(4));
9839  lst_node_tri41.ajouter(lst_node_in_second.get(5));
9840 
9841  lst_node_tri48.ajouter(lst_node_in_second.get(0));
9842  lst_node_tri48.ajouter(lst_node_in_second.get(4));
9843  lst_node_tri48.ajouter(lst_node_in_second.get(6));
9844 
9845 
9846  lst_node_tri42.ajouter(lst_node_in_second.get(0));
9847  lst_node_tri42.ajouter(lst_node_in_second.get(5));
9848  lst_node_tri42.ajouter(lst_node_in_second.get(6));
9849 
9850  lst_node_tri43.ajouter(lst_node_in_second.get(4));
9851  lst_node_tri43.ajouter(lst_node_in_second.get(5));
9852  lst_node_tri43.ajouter(lst_node_in_second.get(6));
9853 
9854  lst_node_tri44.ajouter(lst_node_in_second.get(0));
9855  lst_node_tri44.ajouter(lst_node_in_second.get(1));
9856  lst_node_tri44.ajouter(lst_node_in_second.get(5));
9857 
9858  lst_node_tri45.ajouter(lst_node_in_second.get(0));
9859  lst_node_tri45.ajouter(lst_node_in_second.get(1));
9860  lst_node_tri45.ajouter(lst_node_in_second.get(2));
9861 
9862  lst_node_tri46.ajouter(lst_node_in_second.get(0));
9863  lst_node_tri46.ajouter(lst_node_in_second.get(5));
9864  lst_node_tri46.ajouter(lst_node_in_second.get(2));
9865 
9866  lst_node_tri47.ajouter(lst_node_in_second.get(1));
9867  lst_node_tri47.ajouter(lst_node_in_second.get(5));
9868  lst_node_tri47.ajouter(lst_node_in_second.get(2));
9869 
9870  lst_node_tri49.ajouter(lst_node_in_second.get(0));
9871  lst_node_tri49.ajouter(lst_node_in_second.get(2));
9872  lst_node_tri49.ajouter(lst_node_in_second.get(4));
9873 
9874  lst_node_tri410.ajouter(lst_node_in_second.get(5));
9875  lst_node_tri410.ajouter(lst_node_in_second.get(2));
9876  lst_node_tri410.ajouter(lst_node_in_second.get(4));
9877  //----------------------------------------------------
9878  //----------------------------------------------------
9879  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());
9880 
9881  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());
9882 
9883  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());
9884 
9885 
9886  //----------------------------------------------------
9887  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());
9888 
9889  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());
9890 
9891  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());
9892 
9893  lst_node_tri51.ajouter(lst_node_in_second.get(5));
9894  lst_node_tri51.ajouter(lst_node_in_second.get(2));
9895  lst_node_tri51.ajouter(lst_node_in_second.get(4));
9896 
9897  lst_node_tri52.ajouter(lst_node_in_second.get(2));
9898  lst_node_tri52.ajouter(lst_node_in_second.get(5));
9899  lst_node_tri52.ajouter(lst_node_in_second.get(6));
9900 
9901  lst_node_tri53.ajouter(lst_node_in_second.get(2));
9902  lst_node_tri53.ajouter(lst_node_in_second.get(4));
9903  lst_node_tri53.ajouter(lst_node_in_second.get(6));
9904 
9905  lst_node_tri54.ajouter(lst_node_in_second.get(5));
9906  lst_node_tri54.ajouter(lst_node_in_second.get(4));
9907  lst_node_tri54.ajouter(lst_node_in_second.get(6));
9908 
9909  lst_node_tri55.ajouter(lst_node_in_second.get(1));
9910  lst_node_tri55.ajouter(lst_node_in_second.get(0));
9911  lst_node_tri55.ajouter(lst_node_in_second.get(5));
9912 
9913  lst_node_tri56.ajouter(lst_node_in_second.get(0));
9914  lst_node_tri56.ajouter(lst_node_in_second.get(1));
9915  lst_node_tri56.ajouter(lst_node_in_second.get(2));
9916 
9917  lst_node_tri57.ajouter(lst_node_in_second.get(0));
9918  lst_node_tri57.ajouter(lst_node_in_second.get(5));
9919  lst_node_tri57.ajouter(lst_node_in_second.get(2));
9920 
9921  lst_node_tri58.ajouter(lst_node_in_second.get(1));
9922  lst_node_tri58.ajouter(lst_node_in_second.get(5));
9923  lst_node_tri58.ajouter(lst_node_in_second.get(2));
9924 
9925  lst_node_tri59.ajouter(lst_node_in_second.get(0));
9926  lst_node_tri59.ajouter(lst_node_in_second.get(6));
9927  lst_node_tri59.ajouter(lst_node_in_second.get(5));
9928 
9929  lst_node_tri510.ajouter(lst_node_in_second.get(0));
9930  lst_node_tri510.ajouter(lst_node_in_second.get(2));
9931  lst_node_tri510.ajouter(lst_node_in_second.get(6));
9932 
9933  //----------------------------------------------------
9934  //----------------------------------------------------
9935  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());
9936 
9937  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());
9938 
9939  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());
9940 
9941  //----------------------------------------------------
9942  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());
9943 
9944  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());
9945 
9946  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());
9947 
9948  lst_node_tri61.ajouter(lst_node_in_second.get(0));
9949  lst_node_tri61.ajouter(lst_node_in_second.get(1));
9950  lst_node_tri61.ajouter(lst_node_in_second.get(2));
9951 
9952  lst_node_tri62.ajouter(lst_node_in_second.get(0));
9953  lst_node_tri62.ajouter(lst_node_in_second.get(1));
9954  lst_node_tri62.ajouter(lst_node_in_second.get(4));
9955 
9956  lst_node_tri63.ajouter(lst_node_in_second.get(0));
9957  lst_node_tri63.ajouter(lst_node_in_second.get(2));
9958  lst_node_tri63.ajouter(lst_node_in_second.get(4));
9959 
9960  lst_node_tri64.ajouter(lst_node_in_second.get(1));
9961  lst_node_tri64.ajouter(lst_node_in_second.get(4));
9962  lst_node_tri64.ajouter(lst_node_in_second.get(2));
9963 
9964  lst_node_tri65.ajouter(lst_node_in_second.get(0));
9965  lst_node_tri65.ajouter(lst_node_in_second.get(4));
9966  lst_node_tri65.ajouter(lst_node_in_second.get(5));
9967 
9968  lst_node_tri66.ajouter(lst_node_in_second.get(0));
9969  lst_node_tri66.ajouter(lst_node_in_second.get(4));
9970  lst_node_tri66.ajouter(lst_node_in_second.get(6));
9971 
9972  lst_node_tri67.ajouter(lst_node_in_second.get(4));
9973  lst_node_tri67.ajouter(lst_node_in_second.get(5));
9974  lst_node_tri67.ajouter(lst_node_in_second.get(6));
9975 
9976  lst_node_tri68.ajouter(lst_node_in_second.get(0));
9977  lst_node_tri68.ajouter(lst_node_in_second.get(5));
9978  lst_node_tri68.ajouter(lst_node_in_second.get(6));
9979 
9980  lst_node_tri69.ajouter(lst_node_in_second.get(0));
9981  lst_node_tri69.ajouter(lst_node_in_second.get(5));
9982  lst_node_tri69.ajouter(lst_node_in_second.get(1));
9983 
9984  lst_node_tri610.ajouter(lst_node_in_second.get(1));
9985  lst_node_tri610.ajouter(lst_node_in_second.get(4));
9986  lst_node_tri610.ajouter(lst_node_in_second.get(5));
9987  //----------------------------------------------------
9988  //----------------------------------------------------
9989  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)))
9990 
9991  {
9992  check_not_to_creat_tetra=0;
9993  LISTE_MG_TRIANGLE::iterator it_tri_existed;
9994  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))
9995 
9996  {
9997 
9998  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()))))
9999  {
10000 
10001  check_to_creat_tetra=2;
10002  }
10003 
10004 
10005  else
10006 
10007  {
10008  check_not_to_creat_tetra=3;
10009 
10010  }
10011 
10012  }
10013 
10014 
10015  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
10016  {
10017  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()));
10018  check_to_go_further=5;
10019  qualite_moyenne_3D+=quall1;
10020  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10021  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10022  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
10023  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
10024  }
10025 
10026  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
10027  {
10028  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()));
10029  check_to_go_further=5;
10030  qualite_moyenne_3D+=quallo1;
10031  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
10032  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
10033  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10034  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10035  }
10036 
10037  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
10038  {
10039  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()));
10040  check_to_go_further=5;
10041 
10042  qualite_moyenne_3D+=quall2;
10043  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
10044  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
10045 
10046  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10047  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10048  }
10049  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
10050  {
10051  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()));
10052  check_to_go_further=5;
10053 
10054  qualite_moyenne_3D+=quallo2;
10055  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
10056  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
10057 
10058  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10059  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10060  }
10061 
10062  if ((quall3>0.00001) && (check_not_to_creat_tetra!=3))
10063  {
10064  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()));
10065 
10066  check_to_go_further=5;
10067 
10068  qualite_moyenne_3D+=quall3;
10069  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
10070  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
10071  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10072  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10073  }
10074  if ((quallo3>0.00001) && (check_not_to_creat_tetra!=3))
10075 
10076  {
10077  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()));
10078  check_to_go_further=5;
10079  qualite_moyenne_3D+=quallo3;
10080  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
10081  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
10082  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10083  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10084  }
10085 
10086  }
10087  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)))
10088  {
10089  check_not_to_creat_tetra=0;
10090  LISTE_MG_TRIANGLE::iterator it_tri_existed;
10091  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))
10092 
10093  {
10094 
10095  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()))))
10096  {
10097 
10098  check_to_creat_tetra=2;
10099  }
10100 
10101  else
10102 
10103  {
10104  check_not_to_creat_tetra=3;
10105 
10106  }
10107 
10108  }
10109 
10110  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
10111  {
10112  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()));
10113  check_to_go_further=5;
10114  qualite_moyenne_3D+=quall4;
10115  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10116  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10117  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
10118  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
10119  }
10120 
10121  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
10122  {
10123  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()));
10124  check_to_go_further=5;
10125  qualite_moyenne_3D+=quall5;
10126  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10127  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10128  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
10129 
10130  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
10131 
10132  }
10133 
10134  if((quall6>0.00001) && (check_not_to_creat_tetra!=3))
10135  {
10136  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()));
10137  check_to_go_further=5;
10138 
10139  qualite_moyenne_3D+=quall6;
10140  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10141  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10142  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
10143  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
10144 
10145  }
10146  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
10147  {
10148  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()));
10149  check_to_go_further=5;
10150  qualite_moyenne_3D+=quallo4;
10151  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10152  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10153  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
10154  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
10155 
10156  }
10157 
10158  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
10159  {
10160  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()));
10161  check_to_go_further=5;
10162  qualite_moyenne_3D+=quallo5;
10163  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10164  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10165  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
10166  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
10167 
10168  }
10169 
10170  if((quallo6>0.00001) && (check_not_to_creat_tetra!=3))
10171  {
10172  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()));
10173  check_to_go_further=5;
10174  qualite_moyenne_3D+=quallo6;
10175  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10176  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10177  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
10178  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
10179 
10180  }
10181  }
10182  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)))
10183  {
10184  check_not_to_creat_tetra=0;
10185  LISTE_MG_TRIANGLE::iterator it_tri_existed;
10186  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))
10187 
10188  {
10189 
10190  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()))))
10191  {
10192 
10193  check_to_creat_tetra=2;
10194  }
10195 
10196  else
10197 
10198  {
10199  check_not_to_creat_tetra=3;
10200 
10201  }
10202 
10203  }
10204 
10205  if((quall7>0.00001) && (check_not_to_creat_tetra!=3))
10206  {
10207  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()));
10208  check_to_go_further=5;
10209  qualite_moyenne_3D+=quall7;
10210  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10211  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10212 
10213  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
10214 
10215  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
10216  }
10217 
10218  if((quallo7>0.00001) && (check_not_to_creat_tetra!=3))
10219 
10220  {
10221  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()));
10222  check_to_go_further=5;
10223  qualite_moyenne_3D+=quallo7;
10224  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10225  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10226 
10227  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
10228  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
10229  }
10230 
10231  if((quall8>0.00001) && (check_not_to_creat_tetra!=3))
10232  {
10233  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()));
10234  check_to_go_further=5;
10235  qualite_moyenne_3D+=quall8;
10236  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10237  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10238  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
10239 
10240  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
10241 
10242  }
10243 
10244  if((quallo8>0.00001) && (check_not_to_creat_tetra!=3))
10245  {
10246  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()));
10247  check_to_go_further=5;
10248  qualite_moyenne_3D+=quallo8;
10249  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10250  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10251  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
10252  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
10253 
10254  }
10255 
10256  if((quall9>0.00001) && (check_not_to_creat_tetra!=3))
10257  {
10258  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()));
10259  check_to_go_further=5;
10260 
10261  qualite_moyenne_3D+=quall9;
10262  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10263  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10264  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
10265  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
10266  }
10267 
10268  if((quallo9>0.00001) && (check_not_to_creat_tetra!=3))
10269  {
10270  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()));
10271  check_to_go_further=5;
10272  qualite_moyenne_3D+=quallo9;
10273  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10274  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10275  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
10276  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
10277  }
10278  }
10279  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)))
10280  {
10281  check_not_to_creat_tetra=0;
10282  LISTE_MG_TRIANGLE::iterator it_tri_existed;
10283  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))
10284  {
10285  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()))))
10286  {
10287 
10288  check_to_creat_tetra=2;
10289 
10290  }
10291 
10292  else
10293 
10294  {
10295  check_not_to_creat_tetra=3;
10296 
10297  }
10298 
10299  }
10300 
10301  if((quall10>0.00001) && (check_not_to_creat_tetra!=3))
10302  {
10303  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()));
10304 
10305  check_to_go_further=5;
10306 
10307 
10308  qualite_moyenne_3D+=quall10;
10309  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10310  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10311  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
10312  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
10313  }
10314  if((quallo10>0.00001) && (check_not_to_creat_tetra!=3))
10315  {
10316  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()));
10317 
10318  check_to_go_further=5;
10319 
10320 
10321  qualite_moyenne_3D+=quallo10;
10322  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10323  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10324  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
10325  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
10326  }
10327 
10328  if((quall11>0.00001) && (check_not_to_creat_tetra!=3))
10329  {
10330  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()));
10331  check_to_go_further=5;
10332  qualite_moyenne_3D+=quall11;
10333  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10334  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10335  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
10336  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
10337  }
10338  if((quallo11>0.00001) && (check_not_to_creat_tetra!=3))
10339  {
10340  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()));
10341 
10342  check_to_go_further=5;
10343  qualite_moyenne_3D+=quallo11;
10344 
10345  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10346  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10347  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
10348  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
10349  }
10350  if((quall12>0.00001) && (check_not_to_creat_tetra!=3))
10351  {
10352  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()));
10353  check_to_go_further=5;
10354  qualite_moyenne_3D+=quall12;
10355  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10356  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10357  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
10358  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
10359  }
10360  if((quallo12>0.00001) && (check_not_to_creat_tetra!=3))
10361 
10362  {
10363  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()));
10364  check_to_go_further=5;
10365  qualite_moyenne_3D+=quallo12;
10366  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10367  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10368  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
10369  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
10370  }
10371  }
10372  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)))
10373  {
10374  check_not_to_creat_tetra=0;
10375  LISTE_MG_TRIANGLE::iterator it_tri_existed;
10376  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))
10377 
10378  {
10379 
10380  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()))))
10381  {
10382 
10383  check_to_creat_tetra=2;
10384  }
10385 
10386  else
10387 
10388  {
10389  check_not_to_creat_tetra=3;
10390 
10391  }
10392 
10393  }
10394 
10395 
10396  if((quall13>0.00001) && (check_not_to_creat_tetra!=3))
10397  {
10398  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()));
10399  check_to_go_further=5;
10400 
10401  qualite_moyenne_3D+=quall13;
10402  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10403  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10404  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
10405 
10406 
10407  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
10408  }
10409 
10410  if((quallo13>0.00001) && (check_not_to_creat_tetra!=3))
10411  {
10412  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()));
10413  check_to_go_further=5;
10414 
10415  qualite_moyenne_3D+=quallo13;
10416  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10417  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10418  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
10419 
10420  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
10421  }
10422 
10423  if((quall14>0.00001) && (check_not_to_creat_tetra!=3))
10424  {
10425  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()));
10426 
10427  check_to_go_further=5;
10428  qualite_moyenne_3D+=quall14;
10429  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10430  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10431 
10432  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
10433  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
10434  }
10435 
10436  if((quallo14>0.00001) && (check_not_to_creat_tetra!=3))
10437  {
10438  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()));
10439 
10440  check_to_go_further=5;
10441 
10442  qualite_moyenne_3D+=quallo14;
10443  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10444  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10445  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
10446  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
10447  }
10448 
10449  if((quall15>0.00001) && (check_not_to_creat_tetra!=3))
10450  {
10451  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()));
10452  check_to_go_further=5;
10453  qualite_moyenne_3D+=quall15;
10454  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10455  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10456  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
10457  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
10458  }
10459 
10460  if((quallo15>0.00001) && (check_not_to_creat_tetra!=3))
10461  {
10462 
10463  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()));
10464  check_to_go_further=5;
10465  qualite_moyenne_3D+=quallo15;
10466  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10467  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10468  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
10469  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
10470  }
10471  }
10472 
10473  if ((quall16>0.001 || quallo16>0.001) && (quall17>0.001 || quallo17>0.001) && (quall18>0.001 || quallo18>0.001) && (check_to_go_further==3))
10474  {
10475  check_not_to_creat_tetra=0;
10476  LISTE_MG_TRIANGLE::iterator it_tri_existed;
10477  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))
10478 
10479  {
10480 
10481  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()))))
10482  {
10483 
10484  check_to_creat_tetra=2;
10485  }
10486 
10487 
10488  else
10489 
10490  {
10491  check_not_to_creat_tetra=3;
10492 
10493  }
10494 
10495  }
10496 
10497  if((quall16>0.00001) && (check_not_to_creat_tetra!=3))
10498  {
10499  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()));
10500 
10501 
10502  check_to_go_further=5;
10503  qualite_moyenne_3D+=quall16;
10504  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10505  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10506 
10507  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
10508  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
10509  }
10510  if((quallo16>0.00001) && (check_not_to_creat_tetra!=3))
10511  {
10512  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()));
10513 
10514  check_to_go_further=5;
10515  qualite_moyenne_3D+=quallo16;
10516  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10517  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10518  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
10519  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
10520  }
10521  if((quall17>0.00001) && (check_not_to_creat_tetra!=3))
10522  {
10523  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()));
10524  check_to_go_further=5;
10525  qualite_moyenne_3D+=quall17;
10526  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10527  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10528  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
10529  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
10530  }
10531  if((quallo17>0.00001) && (check_not_to_creat_tetra!=3))
10532  {
10533  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()));
10534  check_to_go_further=5;
10535  qualite_moyenne_3D+=quallo17;
10536 
10537  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10538  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10539 
10540  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
10541  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
10542  }
10543  if((quall18>0.00001) && (check_not_to_creat_tetra!=3))
10544  {
10545  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()));
10546  check_to_go_further=5;
10547  qualite_moyenne_3D+=quall18;
10548  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10549  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10550  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
10551  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
10552  }
10553  if((quallo18>0.00001) && (check_not_to_creat_tetra!=3))
10554  {
10555  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()));
10556  check_to_go_further=5;
10557  qualite_moyenne_3D+=quallo18;
10558 
10559  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10560  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10561  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
10562  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
10563  }
10564  }
10565 
10566  //=========================================Second Loop==================================================================
10567 
10568  if (check_to_go_further==3)
10569  {
10570  if ((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001) && (quall3>0.001 || quallo3>0.001))
10571 
10572  {
10573  check_not_to_creat_tetra=0;
10574  LISTE_MG_TRIANGLE::iterator it_tri_existed;
10575  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))
10576 
10577  {
10578 
10579  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()))))
10580  {
10581 
10582  check_to_creat_tetra=2;
10583  }
10584 
10585 
10586  else
10587 
10588  {
10589  check_not_to_creat_tetra=3;
10590 
10591  }
10592 
10593  }
10594 
10595 
10596  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
10597  {
10598  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()));
10599  check_to_go_further=5;
10600 
10601  qualite_moyenne_3D+=quall1;
10602  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10603  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10604  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
10605  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
10606  }
10607 
10608  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
10609  {
10610  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()));
10611  check_to_go_further=5;
10612 
10613  qualite_moyenne_3D+=quallo1;
10614  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
10615  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
10616  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10617  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10618  }
10619 
10620  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
10621  {
10622  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()));
10623  check_to_go_further=5;
10624 
10625  qualite_moyenne_3D+=quall2;
10626  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
10627  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
10628 
10629  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10630  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10631  }
10632  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
10633  {
10634  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()));
10635  check_to_go_further=5;
10636 
10637  qualite_moyenne_3D+=quallo2;
10638  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
10639  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
10640 
10641  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10642  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10643  }
10644 
10645  if ((quall3>0.00001) && (check_not_to_creat_tetra!=3))
10646  {
10647  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()));
10648 
10649  check_to_go_further=5;
10650 
10651  qualite_moyenne_3D+=quall3;
10652  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
10653  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
10654  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10655  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10656  }
10657  if ((quallo3>0.00001) && (check_not_to_creat_tetra!=3))
10658 
10659  {
10660  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()));
10661  check_to_go_further=5;
10662  qualite_moyenne_3D+=quallo3;
10663  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
10664  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
10665  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10666  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10667  }
10668  }
10669  if ((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (quall6>0.001 || quallo6>0.001) && (check_to_go_further==3))
10670  {
10671  check_not_to_creat_tetra=0;
10672  LISTE_MG_TRIANGLE::iterator it_tri_existed;
10673  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))
10674 
10675  {
10676 
10677  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()))))
10678  {
10679 
10680  check_to_creat_tetra=2;
10681  }
10682 
10683  else
10684 
10685  {
10686  check_not_to_creat_tetra=3;
10687 
10688  }
10689 
10690  }
10691 
10692  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
10693  {
10694  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()));
10695  check_to_go_further=5;
10696 
10697  qualite_moyenne_3D+=quall4;
10698  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10699  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10700  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
10701  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
10702  }
10703 
10704  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
10705  {
10706  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()));
10707  check_to_go_further=5;
10708  qualite_moyenne_3D+=quall5;
10709  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10710  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10711  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
10712 
10713  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
10714 
10715  }
10716 
10717  if((quall6>0.00001) && (check_not_to_creat_tetra!=3))
10718  {
10719  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()));
10720  check_to_go_further=5;
10721 
10722  qualite_moyenne_3D+=quall6;
10723  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10724  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10725  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
10726  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
10727 
10728  }
10729  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
10730  {
10731  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()));
10732  check_to_go_further=5;
10733 
10734  qualite_moyenne_3D+=quallo4;
10735  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10736  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10737  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
10738  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
10739 
10740  }
10741 
10742  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
10743  {
10744  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()));
10745  check_to_go_further=5;
10746  qualite_moyenne_3D+=quallo5;
10747  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10748  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10749  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
10750  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
10751 
10752  }
10753 
10754  if((quallo6>0.00001) && (check_not_to_creat_tetra!=3))
10755  {
10756  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()));
10757  check_to_go_further=5;
10758  qualite_moyenne_3D+=quallo6;
10759  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10760  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10761  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
10762  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
10763 
10764  }
10765  }
10766  if ((quall7>0.001 || quallo7>0.001) && (quall8>0.001 || quallo8>0.001) && (quall9>0.001 || quallo9>0.001) && (check_to_go_further==3))
10767  {
10768  check_not_to_creat_tetra=0;
10769  LISTE_MG_TRIANGLE::iterator it_tri_existed;
10770  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))
10771 
10772  {
10773 
10774  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()))))
10775  {
10776 
10777  check_to_creat_tetra=2;
10778  }
10779 
10780  else
10781 
10782  {
10783  check_not_to_creat_tetra=3;
10784 
10785  }
10786 
10787  }
10788 
10789  if((quall7>0.00001) && (check_not_to_creat_tetra!=3))
10790  {
10791  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()));
10792  check_to_go_further=5;
10793 
10794  qualite_moyenne_3D+=quall7;
10795  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10796  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10797 
10798  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
10799 
10800  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
10801  }
10802 
10803  if((quallo7>0.00001) && (check_not_to_creat_tetra!=3))
10804 
10805  {
10806  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()));
10807  check_to_go_further=5;
10808 
10809  qualite_moyenne_3D+=quallo7;
10810  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10811  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10812 
10813  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
10814  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
10815  }
10816 
10817  if((quall8>0.00001) && (check_not_to_creat_tetra!=3))
10818  {
10819  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()));
10820  check_to_go_further=5;
10821  qualite_moyenne_3D+=quall8;
10822  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10823  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10824  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
10825 
10826  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
10827 
10828  }
10829 
10830  if((quallo8>0.00001) && (check_not_to_creat_tetra!=3))
10831  {
10832  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()));
10833  check_to_go_further=5;
10834  qualite_moyenne_3D+=quallo8;
10835  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10836  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10837  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
10838  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
10839 
10840  }
10841 
10842  if((quall9>0.00001) && (check_not_to_creat_tetra!=3))
10843  {
10844  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()));
10845  check_to_go_further=5;
10846 
10847  qualite_moyenne_3D+=quall9;
10848  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10849  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10850  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
10851  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
10852  }
10853 
10854  if((quallo9>0.00001) && (check_not_to_creat_tetra!=3))
10855  {
10856  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()));
10857  check_to_go_further=5;
10858  qualite_moyenne_3D+=quallo9;
10859  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10860  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10861  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
10862  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
10863  }
10864  }
10865  if ((quall10>0.001 || quallo10>0.001) && (quall12>0.001 || quallo12>0.001) && (quall11>0.001 || quallo11>0.001) && (check_to_go_further==3))
10866  {
10867  check_not_to_creat_tetra=0;
10868  LISTE_MG_TRIANGLE::iterator it_tri_existed;
10869  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))
10870  {
10871  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()))))
10872  {
10873 
10874  check_to_creat_tetra=2;
10875 
10876  }
10877 
10878  else
10879 
10880  {
10881  check_not_to_creat_tetra=3;
10882 
10883  }
10884 
10885  }
10886 
10887  if((quall10>0.00001) && (check_not_to_creat_tetra!=3))
10888  {
10889  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()));
10890 
10891  check_to_go_further=5;
10892 
10893 
10894  qualite_moyenne_3D+=quall10;
10895  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10896  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10897  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
10898  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
10899  }
10900  if((quallo10>0.00001) && (check_not_to_creat_tetra!=3))
10901  {
10902  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()));
10903 
10904  check_to_go_further=5;
10905 
10906 
10907  qualite_moyenne_3D+=quallo10;
10908  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10909  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10910  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
10911  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
10912  }
10913 
10914  if((quall11>0.00001) && (check_not_to_creat_tetra!=3))
10915  {
10916  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()));
10917  check_to_go_further=5;
10918  qualite_moyenne_3D+=quall11;
10919  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10920  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10921  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
10922  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
10923  }
10924  if((quallo11>0.00001) && (check_not_to_creat_tetra!=3))
10925  {
10926  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()));
10927 
10928  check_to_go_further=5;
10929  qualite_moyenne_3D+=quallo11;
10930 
10931  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10932  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10933  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
10934  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
10935  }
10936  if((quall12>0.00001) && (check_not_to_creat_tetra!=3))
10937  {
10938  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()));
10939  check_to_go_further=5;
10940  qualite_moyenne_3D+=quall12;
10941  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10942  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10943  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
10944  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
10945  }
10946  if((quallo12>0.00001) && (check_not_to_creat_tetra!=3))
10947 
10948  {
10949  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()));
10950  check_to_go_further=5;
10951  qualite_moyenne_3D+=quallo12;
10952  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10953  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10954  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
10955  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
10956  }
10957  }
10958 if ((quall13>0.001 || quallo13>0.001) && (quall14>0.001 || quallo14>0.001) && (quall15>0.001 || quallo15>0.001) && (check_to_go_further==3))
10959  {
10960  check_not_to_creat_tetra=0;
10961  LISTE_MG_TRIANGLE::iterator it_tri_existed;
10962  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))
10963 
10964  {
10965 
10966  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()))))
10967  {
10968 
10969  check_to_creat_tetra=2;
10970  }
10971 
10972  else
10973 
10974  {
10975  check_not_to_creat_tetra=3;
10976 
10977  }
10978 
10979  }
10980 
10981 
10982  if((quall13>0.00001) && (check_not_to_creat_tetra!=3))
10983  {
10984  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()));
10985  check_to_go_further=5;
10986 
10987  qualite_moyenne_3D+=quall13;
10988  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
10989  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
10990  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
10991 
10992 
10993  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
10994  }
10995 
10996  if((quallo13>0.00001) && (check_not_to_creat_tetra!=3))
10997  {
10998  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()));
10999  check_to_go_further=5;
11000 
11001  qualite_moyenne_3D+=quallo13;
11002  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11003  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11004  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
11005 
11006  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
11007  }
11008 
11009  if((quall14>0.00001) && (check_not_to_creat_tetra!=3))
11010  {
11011  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()));
11012 
11013  check_to_go_further=5;
11014  qualite_moyenne_3D+=quall14;
11015  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11016  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11017 
11018  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
11019  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
11020  }
11021 
11022  if((quallo14>0.00001) && (check_not_to_creat_tetra!=3))
11023  {
11024  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()));
11025 
11026  check_to_go_further=5;
11027 
11028  qualite_moyenne_3D+=quallo14;
11029  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11030  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11031  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
11032  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
11033  }
11034 
11035  if((quall15>0.00001) && (check_not_to_creat_tetra!=3))
11036  {
11037  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()));
11038  check_to_go_further=5;
11039  qualite_moyenne_3D+=quall15;
11040  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11041  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11042  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
11043  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
11044  }
11045 
11046  if((quallo15>0.00001) && (check_not_to_creat_tetra!=3))
11047  {
11048 
11049  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()));
11050  check_to_go_further=5;
11051  qualite_moyenne_3D+=quallo15;
11052  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11053  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11054  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
11055  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
11056  }
11057 
11058  }
11059 
11060  if ((quall16>0.001 || quallo16>0.001) && (quall17>0.001 || quallo17>0.001) && (quall18>0.001 || quallo18>0.001) && (check_to_go_further==3))
11061  {
11062  check_not_to_creat_tetra=0;
11063  LISTE_MG_TRIANGLE::iterator it_tri_existed;
11064  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))
11065 
11066  {
11067 
11068  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()))))
11069  {
11070 
11071  check_to_creat_tetra=2;
11072  }
11073 
11074 
11075  else
11076 
11077  {
11078  check_not_to_creat_tetra=3;
11079 
11080  }
11081 
11082  }
11083 
11084  if((quall16>0.00001) && (check_not_to_creat_tetra!=3))
11085  {
11086  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()));
11087 
11088 
11089  check_to_go_further=5;
11090  qualite_moyenne_3D+=quall16;
11091  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11092  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11093 
11094  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
11095  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
11096  }
11097  if((quallo16>0.00001) && (check_not_to_creat_tetra!=3))
11098  {
11099  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()));
11100 
11101 
11102  check_to_go_further=5;
11103  qualite_moyenne_3D+=quallo16;
11104  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11105  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11106  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
11107  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
11108  }
11109  if((quall17>0.00001) && (check_not_to_creat_tetra!=3))
11110  {
11111  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()));
11112  check_to_go_further=5;
11113  qualite_moyenne_3D+=quall17;
11114  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11115  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11116  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
11117  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
11118  }
11119  if((quallo17>0.00001) && (check_not_to_creat_tetra!=3))
11120  {
11121  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()));
11122  check_to_go_further=5;
11123  qualite_moyenne_3D+=quallo17;
11124 
11125  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11126  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11127 
11128  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
11129  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
11130  }
11131  if((quall18>0.00001) && (check_not_to_creat_tetra!=3))
11132  {
11133  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()));
11134  check_to_go_further=5;
11135  qualite_moyenne_3D+=quall18;
11136  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11137  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11138  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
11139  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
11140  }
11141  if((quallo18>0.00001) && (check_not_to_creat_tetra!=3))
11142  {
11143  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()));
11144  check_to_go_further=5;
11145  qualite_moyenne_3D+=quallo18;
11146 
11147  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11148  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11149  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
11150  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
11151  }
11152 
11153  }
11154  }
11155  //============================================Third loop==============================================================
11156  if (check_to_go_further==3)
11157  {
11158  if ((quall1>0.000001 || quallo1>0.000001) && (quall2>0.000001 || quallo2>0.000001) && (quall3>0.000001 || quallo3>0.000001))
11159  {
11160  check_not_to_creat_tetra=0;
11161  LISTE_MG_TRIANGLE::iterator it_tri_existed;
11162  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))
11163 
11164  {
11165 
11166  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()))))
11167  {
11168 
11169  check_to_creat_tetra=2;
11170  }
11171 
11172 
11173  else
11174 
11175  {
11176  check_not_to_creat_tetra=3;
11177 
11178  }
11179 
11180  }
11181 
11182 
11183  if ((quall1>0.000001) && (check_not_to_creat_tetra!=3))
11184  {
11185  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()));
11186  check_to_go_further=5;
11187 
11188  qualite_moyenne_3D+=quall1;
11189  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11190  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11191  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
11192  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
11193  }
11194 
11195  if ((quallo1>0.000001) && (check_not_to_creat_tetra!=3))
11196  {
11197  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()));
11198  check_to_go_further=5;
11199 
11200  qualite_moyenne_3D+=quallo1;
11201  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
11202  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
11203  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11204  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11205  }
11206 
11207  if ((quall2>0.000001) && (check_not_to_creat_tetra!=3))
11208  {
11209  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()));
11210  check_to_go_further=5;
11211 
11212  qualite_moyenne_3D+=quall2;
11213  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
11214  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
11215 
11216  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11217  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11218  }
11219  if ((quallo2>0.000001) && (check_not_to_creat_tetra!=3))
11220  {
11221  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()));
11222  check_to_go_further=5;
11223 
11224  qualite_moyenne_3D+=quallo2;
11225  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
11226  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
11227 
11228  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11229  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11230  }
11231 
11232  if ((quall3>0.000001) && (check_not_to_creat_tetra!=3))
11233  {
11234  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()));
11235 
11236  check_to_go_further=5;
11237 
11238  qualite_moyenne_3D+=quall3;
11239  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
11240  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
11241  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11242  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11243  }
11244  if ((quallo3>0.000001) && (check_not_to_creat_tetra!=3))
11245 
11246  {
11247  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()));
11248  check_to_go_further=5;
11249  qualite_moyenne_3D+=quallo3;
11250  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
11251  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
11252  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11253  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11254  }
11255  }
11256  if ((quall4>0.000001 || quallo4>0.000001) && (quall5>0.000001 || quallo5>0.000001) && (quall6>0.000001 || quallo6>0.000001) && (check_to_go_further==3))
11257  {
11258  check_not_to_creat_tetra=0;
11259  LISTE_MG_TRIANGLE::iterator it_tri_existed;
11260  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))
11261 
11262  {
11263 
11264  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()))))
11265  {
11266 
11267  check_to_creat_tetra=2;
11268  }
11269 
11270  else
11271 
11272  {
11273  check_not_to_creat_tetra=3;
11274 
11275  }
11276 
11277  }
11278 
11279  if((quall4>0.000001) && (check_not_to_creat_tetra!=3))
11280  {
11281  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()));
11282  check_to_go_further=5;
11283 
11284  qualite_moyenne_3D+=quall4;
11285  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11286  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11287  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
11288  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
11289  }
11290 
11291  if((quall5>0.000001) && (check_not_to_creat_tetra!=3))
11292  {
11293  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()));
11294  check_to_go_further=5;
11295  qualite_moyenne_3D+=quall5;
11296  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11297  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11298  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
11299 
11300  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
11301 
11302  }
11303 
11304  if((quall6>0.000001) && (check_not_to_creat_tetra!=3))
11305  {
11306  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()));
11307  check_to_go_further=5;
11308 
11309  qualite_moyenne_3D+=quall6;
11310  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11311  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11312  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
11313  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
11314 
11315  }
11316  if((quallo4>0.000001) && (check_not_to_creat_tetra!=3))
11317  {
11318  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()));
11319  check_to_go_further=5;
11320 
11321  qualite_moyenne_3D+=quallo4;
11322  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11323  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11324  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
11325  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
11326 
11327  }
11328 
11329  if((quallo5>0.000001) && (check_not_to_creat_tetra!=3))
11330  {
11331  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()));
11332  check_to_go_further=5;
11333  qualite_moyenne_3D+=quallo5;
11334  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11335  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11336  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
11337  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
11338 
11339  }
11340 
11341  if((quallo6>0.000001) && (check_not_to_creat_tetra!=3))
11342  {
11343  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()));
11344  check_to_go_further=5;
11345  qualite_moyenne_3D+=quallo6;
11346  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11347  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11348  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
11349  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
11350 
11351  }
11352  }
11353  if ((quall7>0.000001 || quallo7>0.000001) && (quall8>0.000001 || quallo8>0.000001) && (quall9>0.000001 || quallo9>0.000001) && (check_to_go_further==3))
11354  {
11355  check_not_to_creat_tetra=0;
11356  LISTE_MG_TRIANGLE::iterator it_tri_existed;
11357  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))
11358 
11359  {
11360 
11361  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()))))
11362  {
11363 
11364  check_to_creat_tetra=2;
11365  }
11366 
11367  else
11368 
11369  {
11370  check_not_to_creat_tetra=3;
11371 
11372  }
11373 
11374  }
11375 
11376  if((quall7>0.000001) && (check_not_to_creat_tetra!=3))
11377  {
11378  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()));
11379  check_to_go_further=5;
11380 
11381  qualite_moyenne_3D+=quall7;
11382  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11383  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11384 
11385  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
11386 
11387  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
11388  }
11389 
11390  if((quallo7>0.000001) && (check_not_to_creat_tetra!=3))
11391 
11392  {
11393  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()));
11394  check_to_go_further=5;
11395 
11396  qualite_moyenne_3D+=quallo7;
11397  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11398  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11399 
11400  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
11401  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
11402  }
11403 
11404  if((quall8>0.000001) && (check_not_to_creat_tetra!=3))
11405  {
11406  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()));
11407  check_to_go_further=5;
11408  qualite_moyenne_3D+=quall8;
11409  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11410  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11411  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
11412 
11413  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
11414 
11415  }
11416 
11417  if((quallo8>0.000001) && (check_not_to_creat_tetra!=3))
11418  {
11419  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()));
11420  check_to_go_further=5;
11421  qualite_moyenne_3D+=quallo8;
11422  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11423  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11424  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
11425  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
11426 
11427  }
11428 
11429  if((quall9>0.000001) && (check_not_to_creat_tetra!=3))
11430  {
11431  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()));
11432  check_to_go_further=5;
11433 
11434  qualite_moyenne_3D+=quall9;
11435  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11436  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11437  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
11438  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
11439  }
11440 
11441  if((quallo9>0.000001) && (check_not_to_creat_tetra!=3))
11442  {
11443  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()));
11444  check_to_go_further=5;
11445  qualite_moyenne_3D+=quallo9;
11446  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11447  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11448  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
11449  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
11450  }
11451  }
11452  if ((quall10>0.000001 || quallo10>0.000001) && (quall12>0.000001 || quallo12>0.000001) && (quall11>0.000001 || quallo11>0.000001) && (check_to_go_further==3))
11453  {
11454  check_not_to_creat_tetra=0;
11455  LISTE_MG_TRIANGLE::iterator it_tri_existed;
11456  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))
11457  {
11458  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()))))
11459  {
11460 
11461  check_to_creat_tetra=2;
11462 
11463  }
11464 
11465  else
11466 
11467  {
11468  check_not_to_creat_tetra=3;
11469 
11470 
11471  }
11472 
11473  }
11474 
11475  if((quall10>0.000001) && (check_not_to_creat_tetra!=3))
11476  {
11477  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()));
11478 
11479  check_to_go_further=5;
11480 
11481 
11482  qualite_moyenne_3D+=quall10;
11483  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11484  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11485  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
11486  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
11487  }
11488  if((quallo10>0.000001) && (check_not_to_creat_tetra!=3))
11489  {
11490  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()));
11491 
11492  check_to_go_further=5;
11493 
11494  qualite_moyenne_3D+=quallo10;
11495  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11496  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11497  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
11498  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
11499  }
11500 
11501  if((quall11>0.000001) && (check_not_to_creat_tetra!=3))
11502  {
11503  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()));
11504  check_to_go_further=5;
11505  qualite_moyenne_3D+=quall11;
11506  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11507  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11508  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
11509  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
11510  }
11511  if((quallo11>0.000001) && (check_not_to_creat_tetra!=3))
11512  {
11513  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()));
11514 
11515  check_to_go_further=5;
11516  qualite_moyenne_3D+=quallo11;
11517 
11518  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11519  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11520  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
11521  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
11522  }
11523  if((quall12>0.000001) && (check_not_to_creat_tetra!=3))
11524  {
11525  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()));
11526  check_to_go_further=5;
11527  qualite_moyenne_3D+=quall12;
11528  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11529  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11530  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
11531  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
11532  }
11533  if((quallo12>0.000001) && (check_not_to_creat_tetra!=3))
11534 
11535  {
11536  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()));
11537  check_to_go_further=5;
11538  qualite_moyenne_3D+=quallo12;
11539  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11540  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11541  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
11542  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
11543  }
11544 
11545  }
11546  if ((quall13>0.000001 || quallo13>0.000001) && (quall14>0.000001 || quallo14>0.000001) && (quall15>0.000001 || quallo15>0.000001) && (check_to_go_further==3))
11547  {
11548  check_not_to_creat_tetra=0;
11549  LISTE_MG_TRIANGLE::iterator it_tri_existed;
11550  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))
11551 
11552  {
11553 
11554  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()))))
11555  {
11556 
11557  check_to_creat_tetra=2;
11558  }
11559 
11560  else
11561 
11562  {
11563  check_not_to_creat_tetra=3;
11564 
11565  }
11566 
11567  }
11568 
11569 
11570  if((quall13>0.000001) && (check_not_to_creat_tetra!=3))
11571  {
11572  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()));
11573  check_to_go_further=5;
11574 
11575  qualite_moyenne_3D+=quall13;
11576  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11577  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11578  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
11579 
11580 
11581  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
11582  }
11583 
11584  if((quallo13>0.000001) && (check_not_to_creat_tetra!=3))
11585  {
11586  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()));
11587  check_to_go_further=5;
11588 
11589  qualite_moyenne_3D+=quallo13;
11590  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11591  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11592  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
11593 
11594  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
11595  }
11596 
11597  if((quall14>0.000001) && (check_not_to_creat_tetra!=3))
11598  {
11599  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()));
11600 
11601  check_to_go_further=5;
11602  qualite_moyenne_3D+=quall14;
11603  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11604  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11605 
11606  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
11607  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
11608  }
11609 
11610  if((quallo14>0.000001) && (check_not_to_creat_tetra!=3))
11611  {
11612  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()));
11613 
11614  check_to_go_further=5;
11615 
11616  qualite_moyenne_3D+=quallo14;
11617  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11618  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11619  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
11620  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
11621  }
11622 
11623  if((quall15>0.000001) && (check_not_to_creat_tetra!=3))
11624  {
11625  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()));
11626  check_to_go_further=5;
11627  qualite_moyenne_3D+=quall15;
11628  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11629  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11630  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
11631  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
11632  }
11633 
11634  if((quallo15>0.000001) && (check_not_to_creat_tetra!=3))
11635  {
11636 
11637  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()));
11638  check_to_go_further=5;
11639  qualite_moyenne_3D+=quallo15;
11640  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11641  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11642  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
11643  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
11644  }
11645  }
11646 
11647  if ((quall16>0.000001 || quallo16>0.000001) && (quall17>0.000001 || quallo17>0.000001) && (quall18>0.000001 || quallo18>0.000001) && (check_to_go_further==3))
11648  {
11649  check_not_to_creat_tetra=0;
11650  LISTE_MG_TRIANGLE::iterator it_tri_existed;
11651  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))
11652 
11653  {
11654 
11655  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()))))
11656  {
11657 
11658  check_to_creat_tetra=2;
11659  }
11660 
11661 
11662  else
11663 
11664  {
11665  check_not_to_creat_tetra=3;
11666 
11667  }
11668 
11669  }
11670 
11671  if((quall16>0.000001) && (check_not_to_creat_tetra!=3))
11672  {
11673  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()));
11674 
11675  check_to_go_further=5;
11676  qualite_moyenne_3D+=quall16;
11677  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11678  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11679 
11680  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
11681  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
11682  }
11683  if((quallo16>0.000001) && (check_not_to_creat_tetra!=3))
11684  {
11685  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()));
11686 
11687  check_to_go_further=5;
11688  qualite_moyenne_3D+=quallo16;
11689  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11690  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11691  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
11692  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
11693  }
11694  if((quall17>0.000001) && (check_not_to_creat_tetra!=3))
11695  {
11696  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()));
11697  check_to_go_further=5;
11698  qualite_moyenne_3D+=quall17;
11699  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11700  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11701  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
11702  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
11703  }
11704  if((quallo17>0.000001) && (check_not_to_creat_tetra!=3))
11705  {
11706  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()));
11707  check_to_go_further=5;
11708  qualite_moyenne_3D+=quallo17;
11709 
11710  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11711  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11712 
11713  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
11714  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
11715  }
11716  if((quall18>0.000001) && (check_not_to_creat_tetra!=3))
11717  {
11718  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()));
11719  check_to_go_further=5;
11720  qualite_moyenne_3D+=quall18;
11721  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11722  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11723  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
11724  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
11725  }
11726  if((quallo18>0.000001) && (check_not_to_creat_tetra!=3))
11727  {
11728  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()));
11729  check_to_go_further=5;
11730  qualite_moyenne_3D+=quallo18;
11731 
11732  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
11733  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
11734  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
11735  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
11736  }
11737  }
11738  }
11739  }
11740 
11741  }
11742  if (identi111 == identi777)
11743  {
11744  int id_node_common0=(map_correspondance_node_node_out.find(lst_node_in_second.get(0))->second)->get_id();
11745  int id_node_common2=(map_correspondance_node_node_out.find(lst_node_in_second.get(2))->second)->get_id();
11746 
11747 
11748  if(id_node_common0==id_node_common2)
11749  {
11750  //============================================Getting the Qualities============================
11751  //==============================================================================================
11752 
11753  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());
11754 
11755  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());
11756 
11757  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());
11758 
11759  //----------------------------------------------------
11760  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());
11761 
11762  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());
11763 
11764  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());
11765 
11766  lst_node_tri11.ajouter(lst_node_in_second.get(3));
11767  lst_node_tri11.ajouter(lst_node_in_second.get(1));
11768  lst_node_tri11.ajouter(lst_node_in_second.get(2));
11769 
11770  lst_node_tri12.ajouter(lst_node_in_second.get(1));
11771  lst_node_tri12.ajouter(lst_node_in_second.get(2));
11772  lst_node_tri12.ajouter(lst_node_in_second.get(4));
11773 
11774  lst_node_tri13.ajouter(lst_node_in_second.get(1));
11775  lst_node_tri13.ajouter(lst_node_in_second.get(3));
11776  lst_node_tri13.ajouter(lst_node_in_second.get(4));
11777 
11778  lst_node_tri14.ajouter(lst_node_in_second.get(2));
11779  lst_node_tri14.ajouter(lst_node_in_second.get(3));
11780  lst_node_tri14.ajouter(lst_node_in_second.get(4));
11781 
11782  lst_node_tri15.ajouter(lst_node_in_second.get(0));
11783  lst_node_tri15.ajouter(lst_node_in_second.get(1));
11784  lst_node_tri15.ajouter(lst_node_in_second.get(4));
11785 
11786  lst_node_tri16.ajouter(lst_node_in_second.get(0));
11787  lst_node_tri16.ajouter(lst_node_in_second.get(1));
11788  lst_node_tri16.ajouter(lst_node_in_second.get(6));
11789 
11790  lst_node_tri17.ajouter(lst_node_in_second.get(0));
11791  lst_node_tri17.ajouter(lst_node_in_second.get(4));
11792  lst_node_tri17.ajouter(lst_node_in_second.get(6));
11793 
11794  lst_node_tri18.ajouter(lst_node_in_second.get(1));
11795  lst_node_tri18.ajouter(lst_node_in_second.get(4));
11796  lst_node_tri18.ajouter(lst_node_in_second.get(6));
11797 
11798  lst_node_tri19.ajouter(lst_node_in_second.get(1));
11799  lst_node_tri19.ajouter(lst_node_in_second.get(2));
11800  lst_node_tri19.ajouter(lst_node_in_second.get(0));
11801 
11802  lst_node_tri110.ajouter(lst_node_in_second.get(0));
11803  lst_node_tri110.ajouter(lst_node_in_second.get(2));
11804  lst_node_tri110.ajouter(lst_node_in_second.get(4));
11805 
11806  //----------------------------------------------------
11807  //----------------------------------------------------
11808  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());
11809 
11810  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());
11811 
11812  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());
11813 
11814  //----------------------------------------------------
11815  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());
11816 
11817  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());
11818 
11819  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());
11820 
11821  lst_node_tri21.ajouter(lst_node_in_second.get(1));
11822  lst_node_tri21.ajouter(lst_node_in_second.get(2));
11823  lst_node_tri21.ajouter(lst_node_in_second.get(3));
11824 
11825  lst_node_tri22.ajouter(lst_node_in_second.get(1));
11826  lst_node_tri22.ajouter(lst_node_in_second.get(2));
11827  lst_node_tri22.ajouter(lst_node_in_second.get(4));
11828 
11829  lst_node_tri23.ajouter(lst_node_in_second.get(1));
11830  lst_node_tri23.ajouter(lst_node_in_second.get(3));
11831  lst_node_tri23.ajouter(lst_node_in_second.get(4));
11832 
11833  lst_node_tri24.ajouter(lst_node_in_second.get(2));
11834  lst_node_tri24.ajouter(lst_node_in_second.get(3));
11835  lst_node_tri24.ajouter(lst_node_in_second.get(4));
11836 
11837  lst_node_tri25.ajouter(lst_node_in_second.get(0));
11838  lst_node_tri25.ajouter(lst_node_in_second.get(1));
11839  lst_node_tri25.ajouter(lst_node_in_second.get(2));
11840 
11841  lst_node_tri26.ajouter(lst_node_in_second.get(0));
11842  lst_node_tri26.ajouter(lst_node_in_second.get(1));
11843  lst_node_tri26.ajouter(lst_node_in_second.get(6));
11844 
11845  lst_node_tri27.ajouter(lst_node_in_second.get(0));
11846  lst_node_tri27.ajouter(lst_node_in_second.get(2));
11847  lst_node_tri27.ajouter(lst_node_in_second.get(6));
11848 
11849  lst_node_tri28.ajouter(lst_node_in_second.get(1));
11850  lst_node_tri28.ajouter(lst_node_in_second.get(2));
11851  lst_node_tri28.ajouter(lst_node_in_second.get(6));
11852 
11853  lst_node_tri29.ajouter(lst_node_in_second.get(1));
11854  lst_node_tri29.ajouter(lst_node_in_second.get(4));
11855  lst_node_tri29.ajouter(lst_node_in_second.get(6));
11856 
11857  lst_node_tri210.ajouter(lst_node_in_second.get(2));
11858  lst_node_tri210.ajouter(lst_node_in_second.get(4));
11859  lst_node_tri210.ajouter(lst_node_in_second.get(6));
11860  //----------------------------------------------------
11861  //----------------------------------------------------
11862  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());
11863 
11864  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());
11865 
11866  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());
11867 
11868  //----------------------------------------------------
11869  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());
11870 
11871  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());
11872 
11873  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());
11874 
11875  lst_node_tri31.ajouter(lst_node_in_second.get(3));
11876  lst_node_tri31.ajouter(lst_node_in_second.get(2));
11877  lst_node_tri31.ajouter(lst_node_in_second.get(4));
11878 
11879  lst_node_tri32.ajouter(lst_node_in_second.get(2));
11880  lst_node_tri32.ajouter(lst_node_in_second.get(3));
11881  lst_node_tri32.ajouter(lst_node_in_second.get(6));
11882 
11883  lst_node_tri33.ajouter(lst_node_in_second.get(2));
11884  lst_node_tri33.ajouter(lst_node_in_second.get(4));
11885  lst_node_tri33.ajouter(lst_node_in_second.get(6));
11886 
11887  lst_node_tri34.ajouter(lst_node_in_second.get(3));
11888  lst_node_tri34.ajouter(lst_node_in_second.get(4));
11889  lst_node_tri34.ajouter(lst_node_in_second.get(6));
11890 
11891  lst_node_tri35.ajouter(lst_node_in_second.get(2));
11892  lst_node_tri35.ajouter(lst_node_in_second.get(1));
11893  lst_node_tri35.ajouter(lst_node_in_second.get(3));
11894 
11895  lst_node_tri36.ajouter(lst_node_in_second.get(2));
11896  lst_node_tri36.ajouter(lst_node_in_second.get(1));
11897  lst_node_tri36.ajouter(lst_node_in_second.get(6));
11898 
11899  lst_node_tri37.ajouter(lst_node_in_second.get(1));
11900  lst_node_tri37.ajouter(lst_node_in_second.get(3));
11901  lst_node_tri37.ajouter(lst_node_in_second.get(6));
11902 
11903  lst_node_tri38.ajouter(lst_node_in_second.get(0));
11904  lst_node_tri38.ajouter(lst_node_in_second.get(1));
11905  lst_node_tri38.ajouter(lst_node_in_second.get(2));
11906 
11907  lst_node_tri39.ajouter(lst_node_in_second.get(0));
11908  lst_node_tri39.ajouter(lst_node_in_second.get(2));
11909  lst_node_tri39.ajouter(lst_node_in_second.get(6));
11910 
11911  lst_node_tri310.ajouter(lst_node_in_second.get(0));
11912  lst_node_tri310.ajouter(lst_node_in_second.get(1));
11913  lst_node_tri310.ajouter(lst_node_in_second.get(6));
11914  //----------------------------------------------------
11915  //----------------------------------------------------
11916  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());
11917 
11918  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());
11919 
11920  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());
11921 
11922  //----------------------------------------------------
11923  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());
11924 
11925  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());
11926 
11927  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());
11928 
11929  lst_node_tri41.ajouter(lst_node_in_second.get(0));
11930  lst_node_tri41.ajouter(lst_node_in_second.get(2));
11931  lst_node_tri41.ajouter(lst_node_in_second.get(3));
11932 
11933  lst_node_tri48.ajouter(lst_node_in_second.get(0));
11934  lst_node_tri48.ajouter(lst_node_in_second.get(2));
11935  lst_node_tri48.ajouter(lst_node_in_second.get(4));
11936 
11937 
11938  lst_node_tri42.ajouter(lst_node_in_second.get(0));
11939  lst_node_tri42.ajouter(lst_node_in_second.get(3));
11940  lst_node_tri42.ajouter(lst_node_in_second.get(4));
11941 
11942  lst_node_tri43.ajouter(lst_node_in_second.get(2));
11943  lst_node_tri43.ajouter(lst_node_in_second.get(3));
11944  lst_node_tri43.ajouter(lst_node_in_second.get(4));
11945 
11946  lst_node_tri44.ajouter(lst_node_in_second.get(0));
11947  lst_node_tri44.ajouter(lst_node_in_second.get(1));
11948  lst_node_tri44.ajouter(lst_node_in_second.get(3));
11949 
11950  lst_node_tri45.ajouter(lst_node_in_second.get(0));
11951  lst_node_tri45.ajouter(lst_node_in_second.get(1));
11952  lst_node_tri45.ajouter(lst_node_in_second.get(6));
11953 
11954  lst_node_tri46.ajouter(lst_node_in_second.get(0));
11955  lst_node_tri46.ajouter(lst_node_in_second.get(3));
11956  lst_node_tri46.ajouter(lst_node_in_second.get(6));
11957 
11958  lst_node_tri47.ajouter(lst_node_in_second.get(1));
11959  lst_node_tri47.ajouter(lst_node_in_second.get(3));
11960  lst_node_tri47.ajouter(lst_node_in_second.get(6));
11961 
11962  lst_node_tri49.ajouter(lst_node_in_second.get(0));
11963  lst_node_tri49.ajouter(lst_node_in_second.get(4));
11964  lst_node_tri49.ajouter(lst_node_in_second.get(6));
11965 
11966  lst_node_tri410.ajouter(lst_node_in_second.get(3));
11967  lst_node_tri410.ajouter(lst_node_in_second.get(4));
11968  lst_node_tri410.ajouter(lst_node_in_second.get(6));
11969  //----------------------------------------------------
11970  //----------------------------------------------------
11971  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());
11972 
11973  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());
11974 
11975  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());
11976 
11977 
11978  //----------------------------------------------------
11979  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());
11980 
11981  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());
11982 
11983  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());
11984 
11985  lst_node_tri51.ajouter(lst_node_in_second.get(3));
11986  lst_node_tri51.ajouter(lst_node_in_second.get(2));
11987  lst_node_tri51.ajouter(lst_node_in_second.get(4));
11988 
11989  lst_node_tri52.ajouter(lst_node_in_second.get(2));
11990  lst_node_tri52.ajouter(lst_node_in_second.get(3));
11991  lst_node_tri52.ajouter(lst_node_in_second.get(6));
11992 
11993  lst_node_tri53.ajouter(lst_node_in_second.get(2));
11994  lst_node_tri53.ajouter(lst_node_in_second.get(4));
11995  lst_node_tri53.ajouter(lst_node_in_second.get(6));
11996 
11997  lst_node_tri54.ajouter(lst_node_in_second.get(3));
11998  lst_node_tri54.ajouter(lst_node_in_second.get(4));
11999  lst_node_tri54.ajouter(lst_node_in_second.get(6));
12000 
12001  lst_node_tri55.ajouter(lst_node_in_second.get(1));
12002  lst_node_tri55.ajouter(lst_node_in_second.get(0));
12003  lst_node_tri55.ajouter(lst_node_in_second.get(3));
12004 
12005  lst_node_tri56.ajouter(lst_node_in_second.get(0));
12006  lst_node_tri56.ajouter(lst_node_in_second.get(1));
12007  lst_node_tri56.ajouter(lst_node_in_second.get(6));
12008 
12009  lst_node_tri57.ajouter(lst_node_in_second.get(0));
12010  lst_node_tri57.ajouter(lst_node_in_second.get(3));
12011  lst_node_tri57.ajouter(lst_node_in_second.get(6));
12012 
12013  lst_node_tri58.ajouter(lst_node_in_second.get(1));
12014  lst_node_tri58.ajouter(lst_node_in_second.get(3));
12015  lst_node_tri58.ajouter(lst_node_in_second.get(6));
12016 
12017  lst_node_tri59.ajouter(lst_node_in_second.get(0));
12018  lst_node_tri59.ajouter(lst_node_in_second.get(2));
12019  lst_node_tri59.ajouter(lst_node_in_second.get(3));
12020 
12021  lst_node_tri510.ajouter(lst_node_in_second.get(0));
12022  lst_node_tri510.ajouter(lst_node_in_second.get(2));
12023  lst_node_tri510.ajouter(lst_node_in_second.get(6));
12024 
12025  //----------------------------------------------------
12026  //----------------------------------------------------
12027  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());
12028 
12029  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());
12030 
12031  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());
12032 
12033  //----------------------------------------------------
12034  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());
12035 
12036  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());
12037 
12038  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());
12039 
12040  lst_node_tri61.ajouter(lst_node_in_second.get(0));
12041  lst_node_tri61.ajouter(lst_node_in_second.get(1));
12042  lst_node_tri61.ajouter(lst_node_in_second.get(4));
12043 
12044  lst_node_tri62.ajouter(lst_node_in_second.get(0));
12045  lst_node_tri62.ajouter(lst_node_in_second.get(1));
12046  lst_node_tri62.ajouter(lst_node_in_second.get(6));
12047 
12048  lst_node_tri63.ajouter(lst_node_in_second.get(0));
12049  lst_node_tri63.ajouter(lst_node_in_second.get(4));
12050  lst_node_tri63.ajouter(lst_node_in_second.get(6));
12051 
12052  lst_node_tri64.ajouter(lst_node_in_second.get(1));
12053  lst_node_tri64.ajouter(lst_node_in_second.get(6));
12054  lst_node_tri64.ajouter(lst_node_in_second.get(4));
12055 
12056  lst_node_tri65.ajouter(lst_node_in_second.get(0));
12057  lst_node_tri65.ajouter(lst_node_in_second.get(2));
12058  lst_node_tri65.ajouter(lst_node_in_second.get(3));
12059 
12060  lst_node_tri66.ajouter(lst_node_in_second.get(0));
12061  lst_node_tri66.ajouter(lst_node_in_second.get(2));
12062  lst_node_tri66.ajouter(lst_node_in_second.get(4));
12063 
12064  lst_node_tri67.ajouter(lst_node_in_second.get(2));
12065  lst_node_tri67.ajouter(lst_node_in_second.get(3));
12066  lst_node_tri67.ajouter(lst_node_in_second.get(4));
12067 
12068  lst_node_tri68.ajouter(lst_node_in_second.get(0));
12069  lst_node_tri68.ajouter(lst_node_in_second.get(3));
12070  lst_node_tri68.ajouter(lst_node_in_second.get(4));
12071 
12072  lst_node_tri69.ajouter(lst_node_in_second.get(0));
12073  lst_node_tri69.ajouter(lst_node_in_second.get(3));
12074  lst_node_tri69.ajouter(lst_node_in_second.get(1));
12075 
12076  lst_node_tri610.ajouter(lst_node_in_second.get(1));
12077  lst_node_tri610.ajouter(lst_node_in_second.get(4));
12078  lst_node_tri610.ajouter(lst_node_in_second.get(3));
12079  //----------------------------------------------------
12080  //---------------------------------------------------
12081 
12082  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)))
12083  {
12084  check_not_to_creat_tetra=0;
12085  LISTE_MG_TRIANGLE::iterator it_tri_existed;
12086  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))
12087  {
12088  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()))))
12089  {
12090 
12091  check_to_creat_tetra=2;
12092  }
12093  else
12094 
12095  {
12096  check_not_to_creat_tetra=3;
12097 
12098  }
12099 
12100  }
12101 
12102 
12103  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
12104  {
12105  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()));
12106  check_to_go_further=5;
12107  qualite_moyenne_3D+=quall1;
12108  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12109  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12110  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
12111  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
12112  }
12113 
12114  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
12115  {
12116  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()));
12117  check_to_go_further=5;
12118  qualite_moyenne_3D+=quallo1;
12119  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
12120  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
12121  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12122  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12123  }
12124 
12125  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
12126  {
12127  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()));
12128  check_to_go_further=5;
12129 
12130  qualite_moyenne_3D+=quall2;
12131  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
12132  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
12133 
12134  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12135  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12136  }
12137  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
12138  {
12139  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()));
12140  check_to_go_further=5;
12141 
12142  qualite_moyenne_3D+=quallo2;
12143  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
12144  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
12145 
12146  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12147  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12148  }
12149 
12150  if ((quall3>0.00001) && (check_not_to_creat_tetra!=3))
12151  {
12152  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()));
12153 
12154  check_to_go_further=5;
12155 
12156  qualite_moyenne_3D+=quall3;
12157  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
12158  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
12159  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12160  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12161  }
12162  if ((quallo3>0.00001) && (check_not_to_creat_tetra!=3))
12163 
12164  {
12165  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()));
12166  check_to_go_further=5;
12167  qualite_moyenne_3D+=quallo3;
12168  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
12169  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
12170  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12171  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12172  }
12173  }
12174  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)))
12175  {
12176  check_not_to_creat_tetra=0;
12177  LISTE_MG_TRIANGLE::iterator it_tri_existed;
12178  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))
12179  {
12180  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()))))
12181  {
12182  check_to_creat_tetra=2;
12183  }
12184  else
12185  {
12186  check_not_to_creat_tetra=3;
12187  }
12188  }
12189 
12190  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
12191  {
12192  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()));
12193  check_to_go_further=5;
12194  qualite_moyenne_3D+=quall4;
12195  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12196  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12197  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
12198  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
12199  }
12200 
12201  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
12202  {
12203  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()));
12204  check_to_go_further=5;
12205  qualite_moyenne_3D+=quall5;
12206  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12207  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12208  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
12209 
12210  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
12211 
12212  }
12213 
12214  if((quall6>0.00001) && (check_not_to_creat_tetra!=3))
12215  {
12216  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()));
12217  check_to_go_further=5;
12218 
12219  qualite_moyenne_3D+=quall6;
12220  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12221  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12222  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
12223  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
12224 
12225  }
12226  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
12227  {
12228  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()));
12229  check_to_go_further=5;
12230  qualite_moyenne_3D+=quallo4;
12231  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12232  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12233  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
12234  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
12235 
12236  }
12237 
12238  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
12239  {
12240  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()));
12241  check_to_go_further=5;
12242  qualite_moyenne_3D+=quallo5;
12243  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12244  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12245  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
12246  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
12247 
12248  }
12249 
12250  if((quallo6>0.00001) && (check_not_to_creat_tetra!=3))
12251  {
12252  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()));
12253  check_to_go_further=5;
12254  qualite_moyenne_3D+=quallo6;
12255  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12256  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12257  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
12258  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
12259 
12260  }
12261  }
12262  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)))
12263  {
12264  check_not_to_creat_tetra=0;
12265  LISTE_MG_TRIANGLE::iterator it_tri_existed;
12266  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))
12267  {
12268  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()))))
12269  {
12270 
12271  check_to_creat_tetra=2;
12272  }
12273 
12274  else
12275 
12276  {
12277  check_not_to_creat_tetra=3;
12278 
12279  }
12280 
12281  }
12282 
12283  if((quall7>0.00001) && (check_not_to_creat_tetra!=3))
12284  {
12285  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()));
12286  check_to_go_further=5;
12287  qualite_moyenne_3D+=quall7;
12288  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12289  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12290 
12291  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
12292 
12293  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
12294  }
12295 
12296  if((quallo7>0.00001) && (check_not_to_creat_tetra!=3))
12297 
12298  {
12299  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()));
12300  check_to_go_further=5;
12301  qualite_moyenne_3D+=quallo7;
12302  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12303  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12304 
12305  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
12306  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
12307  }
12308 
12309  if((quall8>0.00001) && (check_not_to_creat_tetra!=3))
12310  {
12311  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()));
12312  check_to_go_further=5;
12313  qualite_moyenne_3D+=quall8;
12314  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12315  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12316  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
12317 
12318  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
12319 
12320  }
12321 
12322  if((quallo8>0.00001) && (check_not_to_creat_tetra!=3))
12323  {
12324  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()));
12325  check_to_go_further=5;
12326  qualite_moyenne_3D+=quallo8;
12327  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12328  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12329  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
12330  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
12331 
12332  }
12333 
12334  if((quall9>0.00001) && (check_not_to_creat_tetra!=3))
12335  {
12336  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()));
12337  check_to_go_further=5;
12338 
12339  qualite_moyenne_3D+=quall9;
12340  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12341  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12342  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
12343  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
12344  }
12345 
12346  if((quallo9>0.00001) && (check_not_to_creat_tetra!=3))
12347  {
12348  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()));
12349  check_to_go_further=5;
12350  qualite_moyenne_3D+=quallo9;
12351  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12352  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12353  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
12354  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
12355  }
12356  }
12357  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)))
12358  {
12359  check_not_to_creat_tetra=0;
12360  LISTE_MG_TRIANGLE::iterator it_tri_existed;
12361  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))
12362  {
12363  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()))))
12364  {
12365  check_to_creat_tetra=2;
12366  }
12367  else
12368  {
12369  check_not_to_creat_tetra=3;
12370  }
12371  }
12372 
12373  if((quall10>0.00001) && (check_not_to_creat_tetra!=3))
12374  {
12375  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()));
12376 
12377  check_to_go_further=5;
12378  qualite_moyenne_3D+=quall10;
12379  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12380  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12381  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
12382  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
12383  }
12384  if((quallo10>0.00001) && (check_not_to_creat_tetra!=3))
12385  {
12386  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()));
12387 
12388  check_to_go_further=5;
12389 
12390  qualite_moyenne_3D+=quallo10;
12391  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12392  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12393  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
12394  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
12395  }
12396 
12397  if((quall11>0.00001) && (check_not_to_creat_tetra!=3))
12398  {
12399  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()));
12400  check_to_go_further=5;
12401  qualite_moyenne_3D+=quall11;
12402  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12403  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12404  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
12405  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
12406  }
12407  if((quallo11>0.00001) && (check_not_to_creat_tetra!=3))
12408  {
12409  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()));
12410 
12411  check_to_go_further=5;
12412  qualite_moyenne_3D+=quallo11;
12413 
12414  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12415  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12416  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
12417  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
12418  }
12419  if((quall12>0.00001) && (check_not_to_creat_tetra!=3))
12420  {
12421  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()));
12422  check_to_go_further=5;
12423  qualite_moyenne_3D+=quall12;
12424  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12425  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12426  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
12427  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
12428  }
12429  if((quallo12>0.00001) && (check_not_to_creat_tetra!=3))
12430 
12431  {
12432  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()));
12433  check_to_go_further=5;
12434  qualite_moyenne_3D+=quallo12;
12435  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12436  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12437  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
12438  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
12439  }
12440  }
12441  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)))
12442  {
12443  check_not_to_creat_tetra=0;
12444  LISTE_MG_TRIANGLE::iterator it_tri_existed;
12445  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))
12446  {
12447 
12448  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()))))
12449  {
12450  check_to_creat_tetra=2;
12451  }
12452  else
12453  {
12454  check_not_to_creat_tetra=3;
12455  }
12456  }
12457  if((quall13>0.00001) && (check_not_to_creat_tetra!=3))
12458  {
12459  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()));
12460  check_to_go_further=5;
12461  qualite_moyenne_3D+=quall13;
12462  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12463  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12464  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
12465 
12466 
12467  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
12468  }
12469 
12470  if((quallo13>0.00001) && (check_not_to_creat_tetra!=3))
12471  {
12472  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()));
12473  check_to_go_further=5;
12474  qualite_moyenne_3D+=quallo13;
12475  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12476  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12477  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
12478 
12479  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
12480  }
12481 
12482  if((quall14>0.00001) && (check_not_to_creat_tetra!=3))
12483  {
12484  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()));
12485 
12486  check_to_go_further=5;
12487  qualite_moyenne_3D+=quall14;
12488  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12489  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12490 
12491  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
12492  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
12493  }
12494 
12495  if((quallo14>0.00001) && (check_not_to_creat_tetra!=3))
12496  {
12497  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()));
12498 
12499  check_to_go_further=5;
12500 
12501  qualite_moyenne_3D+=quallo14;
12502  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12503  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12504  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
12505  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
12506  }
12507 
12508  if((quall15>0.00001) && (check_not_to_creat_tetra!=3))
12509  {
12510  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()));
12511  check_to_go_further=5;
12512  qualite_moyenne_3D+=quall15;
12513  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12514  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12515  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
12516  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
12517  }
12518 
12519  if((quallo15>0.00001) && (check_not_to_creat_tetra!=3))
12520  {
12521 
12522  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()));
12523  check_to_go_further=5;
12524  qualite_moyenne_3D+=quallo15;
12525  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12526  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12527  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
12528  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
12529  }
12530  }
12531  if ((quall16>0.001 || quallo16>0.001) && (quall17>0.001 || quallo17>0.001) && (quall18>0.001 || quallo18>0.001) && (check_to_go_further==3))
12532  {
12533  check_not_to_creat_tetra=0;
12534  LISTE_MG_TRIANGLE::iterator it_tri_existed;
12535  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))
12536  {
12537  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()))))
12538  {
12539  check_to_creat_tetra=2;
12540  }
12541  else
12542  {
12543  check_not_to_creat_tetra=3;
12544  }
12545  }
12546 
12547  if((quall16>0.00001) && (check_not_to_creat_tetra!=3))
12548  {
12549  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()));
12550 
12551  check_to_go_further=5;
12552  qualite_moyenne_3D+=quall16;
12553  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12554  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12555 
12556  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
12557  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
12558  }
12559  if((quallo16>0.00001) && (check_not_to_creat_tetra!=3))
12560  {
12561  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()));
12562  check_to_go_further=5;
12563  qualite_moyenne_3D+=quallo16;
12564  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12565  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12566  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
12567  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
12568  }
12569  if((quall17>0.00001) && (check_not_to_creat_tetra!=3))
12570  {
12571  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()));
12572  check_to_go_further=5;
12573  qualite_moyenne_3D+=quall17;
12574  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12575  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12576  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
12577  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
12578  }
12579  if((quallo17>0.00001) && (check_not_to_creat_tetra!=3))
12580  {
12581  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()));
12582  check_to_go_further=5;
12583  qualite_moyenne_3D+=quallo17;
12584 
12585  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12586  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12587 
12588  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
12589  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
12590  }
12591  if((quall18>0.00001) && (check_not_to_creat_tetra!=3))
12592  {
12593  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()));
12594  check_to_go_further=5;
12595  qualite_moyenne_3D+=quall18;
12596  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12597  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12598  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
12599  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
12600  }
12601  if((quallo18>0.00001) && (check_not_to_creat_tetra!=3))
12602  {
12603  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()));
12604  check_to_go_further=5;
12605  qualite_moyenne_3D+=quallo18;
12606 
12607  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12608  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12609  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
12610  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
12611  }
12612  }
12613 
12614  //============================================Second loop==============================================================
12615  if (check_to_go_further==3)
12616  {
12617  if ((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001) && (quall3>0.001 || quallo3>0.001))
12618  {
12619  check_not_to_creat_tetra=0;
12620  LISTE_MG_TRIANGLE::iterator it_tri_existed;
12621  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))
12622 
12623  {
12624 
12625  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()))))
12626  {
12627 
12628  check_to_creat_tetra=2;
12629  }
12630 
12631 
12632  else
12633 
12634  {
12635  check_not_to_creat_tetra=3;
12636 
12637  }
12638 
12639  }
12640 
12641 
12642  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
12643  {
12644  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()));
12645  check_to_go_further=5;
12646  qualite_moyenne_3D+=quall1;
12647  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12648  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12649  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
12650  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
12651  }
12652 
12653  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
12654  {
12655  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()));
12656  check_to_go_further=5;
12657  qualite_moyenne_3D+=quallo1;
12658  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
12659  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
12660  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12661  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12662  }
12663 
12664  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
12665  {
12666  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()));
12667  check_to_go_further=5;
12668 
12669  qualite_moyenne_3D+=quall2;
12670  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
12671  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
12672 
12673  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12674  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12675  }
12676  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
12677  {
12678  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()));
12679  check_to_go_further=5;
12680 
12681  qualite_moyenne_3D+=quallo2;
12682  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
12683  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
12684 
12685  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12686  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12687  }
12688 
12689  if ((quall3>0.00001) && (check_not_to_creat_tetra!=3))
12690  {
12691  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()));
12692 
12693  check_to_go_further=5;
12694 
12695  qualite_moyenne_3D+=quall3;
12696  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
12697  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
12698  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12699  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12700  }
12701  if ((quallo3>0.00001) && (check_not_to_creat_tetra!=3))
12702 
12703  {
12704  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()));
12705  check_to_go_further=5;
12706  qualite_moyenne_3D+=quallo3;
12707  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
12708  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
12709  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12710  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12711  }
12712 
12713 
12714  }
12715  if ((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (quall6>0.001 || quallo6>0.001) && (check_to_go_further==3))
12716  {
12717  check_not_to_creat_tetra=0;
12718  LISTE_MG_TRIANGLE::iterator it_tri_existed;
12719  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))
12720 
12721  {
12722 
12723  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()))))
12724  {
12725 
12726  check_to_creat_tetra=2;
12727  }
12728 
12729  else
12730 
12731  {
12732  check_not_to_creat_tetra=3;
12733 
12734  }
12735 
12736  }
12737 
12738  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
12739  {
12740  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()));
12741  check_to_go_further=5;
12742  qualite_moyenne_3D+=quall4;
12743  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12744  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12745  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
12746  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
12747  }
12748 
12749  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
12750  {
12751  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()));
12752  check_to_go_further=5;
12753  qualite_moyenne_3D+=quall5;
12754  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12755  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12756  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
12757 
12758  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
12759 
12760  }
12761 
12762  if((quall6>0.00001) && (check_not_to_creat_tetra!=3))
12763  {
12764  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()));
12765  check_to_go_further=5;
12766 
12767  qualite_moyenne_3D+=quall6;
12768  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12769  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12770  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
12771  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
12772 
12773  }
12774  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
12775  {
12776  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()));
12777  check_to_go_further=5;
12778  qualite_moyenne_3D+=quallo4;
12779  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12780  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12781  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
12782  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
12783 
12784  }
12785 
12786  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
12787  {
12788  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()));
12789  check_to_go_further=5;
12790  qualite_moyenne_3D+=quallo5;
12791  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12792  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12793  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
12794  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
12795 
12796  }
12797 
12798  if((quallo6>0.00001) && (check_not_to_creat_tetra!=3))
12799  {
12800  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()));
12801  check_to_go_further=5;
12802  qualite_moyenne_3D+=quallo6;
12803  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12804  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12805  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
12806  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
12807 
12808  }
12809 
12810  }
12811  if ((quall7>0.001 || quallo7>0.001) && (quall8>0.001 || quallo8>0.001) && (quall9>0.001 || quallo9>0.001) && (check_to_go_further==3))
12812  {
12813  check_not_to_creat_tetra=0;
12814  LISTE_MG_TRIANGLE::iterator it_tri_existed;
12815  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))
12816 
12817  {
12818 
12819  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()))))
12820  {
12821 
12822  check_to_creat_tetra=2;
12823  }
12824 
12825  else
12826 
12827  {
12828  check_not_to_creat_tetra=3;
12829 
12830  }
12831 
12832  }
12833 
12834  if((quall7>0.00001) && (check_not_to_creat_tetra!=3))
12835  {
12836  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()));
12837  check_to_go_further=5;
12838  qualite_moyenne_3D+=quall7;
12839  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12840  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12841 
12842  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
12843 
12844  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
12845  }
12846 
12847  if((quallo7>0.00001) && (check_not_to_creat_tetra!=3))
12848 
12849  {
12850  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()));
12851  check_to_go_further=5;
12852  qualite_moyenne_3D+=quallo7;
12853  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12854  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12855 
12856  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
12857  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
12858  }
12859 
12860  if((quall8>0.00001) && (check_not_to_creat_tetra!=3))
12861  {
12862  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()));
12863  check_to_go_further=5;
12864  qualite_moyenne_3D+=quall8;
12865  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12866  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12867  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
12868 
12869  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
12870 
12871  }
12872 
12873  if((quallo8>0.00001) && (check_not_to_creat_tetra!=3))
12874  {
12875  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()));
12876  check_to_go_further=5;
12877  qualite_moyenne_3D+=quallo8;
12878  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12879  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12880  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
12881  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
12882 
12883  }
12884 
12885  if((quall9>0.00001) && (check_not_to_creat_tetra!=3))
12886  {
12887  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()));
12888  check_to_go_further=5;
12889 
12890  qualite_moyenne_3D+=quall9;
12891  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12892  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12893  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
12894  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
12895  }
12896 
12897  if((quallo9>0.00001) && (check_not_to_creat_tetra!=3))
12898  {
12899  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()));
12900  check_to_go_further=5;
12901  qualite_moyenne_3D+=quallo9;
12902  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12903  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12904  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
12905  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
12906  }
12907  }
12908  if ((quall10>0.001 || quallo10>0.001) && (quall12>0.001 || quallo12>0.001) && (quall11>0.001 || quallo11>0.001) && (check_to_go_further==3))
12909  {
12910  check_not_to_creat_tetra=0;
12911  LISTE_MG_TRIANGLE::iterator it_tri_existed;
12912  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))
12913  {
12914  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()))))
12915  {
12916 
12917  check_to_creat_tetra=2;
12918 
12919  }
12920 
12921  else
12922 
12923  {
12924  check_not_to_creat_tetra=3;
12925 
12926  }
12927 
12928  }
12929 
12930  if((quall10>0.00001) && (check_not_to_creat_tetra!=3))
12931  {
12932  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()));
12933 
12934  check_to_go_further=5;
12935 
12936  qualite_moyenne_3D+=quall10;
12937  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12938  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12939  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
12940  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
12941  }
12942  if((quallo10>0.00001) && (check_not_to_creat_tetra!=3))
12943  {
12944  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()));
12945 
12946  check_to_go_further=5;
12947  qualite_moyenne_3D+=quallo10;
12948  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12949  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12950  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
12951  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
12952  }
12953 
12954  if((quall11>0.00001) && (check_not_to_creat_tetra!=3))
12955  {
12956  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()));
12957  check_to_go_further=5;
12958  qualite_moyenne_3D+=quall11;
12959  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12960  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12961  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
12962  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
12963  }
12964  if((quallo11>0.00001) && (check_not_to_creat_tetra!=3))
12965  {
12966  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()));
12967 
12968  check_to_go_further=5;
12969  qualite_moyenne_3D+=quallo11;
12970 
12971  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12972  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12973  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
12974  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
12975  }
12976  if((quall12>0.00001) && (check_not_to_creat_tetra!=3))
12977  {
12978  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()));
12979  check_to_go_further=5;
12980  qualite_moyenne_3D+=quall12;
12981  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12982  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12983  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
12984  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
12985  }
12986  if((quallo12>0.00001) && (check_not_to_creat_tetra!=3))
12987 
12988  {
12989  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()));
12990  check_to_go_further=5;
12991  qualite_moyenne_3D+=quallo12;
12992  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
12993  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
12994  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
12995  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
12996  }
12997  }
12998  if ((quall13>0.001 || quallo13>0.001) && (quall14>0.001 || quallo14>0.001) && (quall15>0.001 || quallo15>0.001) && (check_to_go_further==3))
12999  {
13000  check_not_to_creat_tetra=0;
13001  LISTE_MG_TRIANGLE::iterator it_tri_existed;
13002  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))
13003 
13004  {
13005 
13006  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()))))
13007  {
13008 
13009  check_to_creat_tetra=2;
13010  }
13011 
13012  else
13013 
13014  {
13015  check_not_to_creat_tetra=3;
13016 
13017  }
13018 
13019  }
13020 
13021 
13022  if((quall13>0.00001) && (check_not_to_creat_tetra!=3))
13023  {
13024  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()));
13025  check_to_go_further=5;
13026  qualite_moyenne_3D+=quall13;
13027  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13028  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13029  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
13030 
13031 
13032  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
13033  }
13034 
13035  if((quallo13>0.00001) && (check_not_to_creat_tetra!=3))
13036  {
13037  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()));
13038  check_to_go_further=5;
13039  qualite_moyenne_3D+=quallo13;
13040  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13041  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13042  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
13043 
13044  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
13045  }
13046 
13047  if((quall14>0.00001) && (check_not_to_creat_tetra!=3))
13048  {
13049  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()));
13050 
13051  check_to_go_further=5;
13052  qualite_moyenne_3D+=quall14;
13053  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13054  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13055 
13056  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
13057  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
13058  }
13059 
13060  if((quallo14>0.00001) && (check_not_to_creat_tetra!=3))
13061  {
13062  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()));
13063 
13064  check_to_go_further=5;
13065 
13066  qualite_moyenne_3D+=quallo14;
13067  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13068  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13069  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
13070  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
13071  }
13072 
13073  if((quall15>0.00001) && (check_not_to_creat_tetra!=3))
13074  {
13075  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()));
13076  check_to_go_further=5;
13077  qualite_moyenne_3D+=quall15;
13078  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13079  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13080  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
13081  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
13082  }
13083 
13084  if((quallo15>0.00001) && (check_not_to_creat_tetra!=3))
13085  {
13086 
13087  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()));
13088  check_to_go_further=5;
13089  qualite_moyenne_3D+=quallo15;
13090  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13091  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13092  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
13093  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
13094  }
13095  }
13096 
13097  if ((quall16>0.001 || quallo16>0.001) && (quall17>0.001 || quallo17>0.001) && (quall18>0.001 || quallo18>0.001) && (check_to_go_further==3))
13098  {
13099  check_not_to_creat_tetra=0;
13100  LISTE_MG_TRIANGLE::iterator it_tri_existed;
13101  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))
13102 
13103  {
13104 
13105  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()))))
13106  {
13107 
13108  check_to_creat_tetra=2;
13109  }
13110 
13111 
13112  else
13113 
13114  {
13115  check_not_to_creat_tetra=3;
13116 
13117  }
13118 
13119  }
13120 
13121  if((quall16>0.00001) && (check_not_to_creat_tetra!=3))
13122  {
13123  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()));
13124 
13125  check_to_go_further=5;
13126  qualite_moyenne_3D+=quall16;
13127  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13128  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13129 
13130  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
13131  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
13132  }
13133  if((quallo16>0.00001) && (check_not_to_creat_tetra!=3))
13134  {
13135  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()));
13136 
13137  check_to_go_further=5;
13138  qualite_moyenne_3D+=quallo16;
13139  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13140  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13141  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
13142  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
13143  }
13144  if((quall17>0.00001) && (check_not_to_creat_tetra!=3))
13145  {
13146  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()));
13147  check_to_go_further=5;
13148  qualite_moyenne_3D+=quall17;
13149  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13150  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13151  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
13152  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
13153  }
13154  if((quallo17>0.00001) && (check_not_to_creat_tetra!=3))
13155  {
13156  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()));
13157  check_to_go_further=5;
13158  qualite_moyenne_3D+=quallo17;
13159 
13160  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13161  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13162 
13163  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
13164  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
13165  }
13166  if((quall18>0.00001) && (check_not_to_creat_tetra!=3))
13167  {
13168  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()));
13169  check_to_go_further=5;
13170  qualite_moyenne_3D+=quall18;
13171  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13172  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13173  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
13174  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
13175  }
13176  if((quallo18>0.00001) && (check_not_to_creat_tetra!=3))
13177  {
13178  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()));
13179  check_to_go_further=5;
13180  qualite_moyenne_3D+=quallo18;
13181 
13182  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13183  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13184  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
13185  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
13186  }
13187  }
13188  }
13189  //============================================Third loop==============================================================
13190  if (check_to_go_further==3)
13191  {
13192  if ((quall1>0.000001 || quallo1>0.000001) && (quall2>0.000001 || quallo2>0.000001) && (quall3>0.000001 || quallo3>0.000001))
13193  {
13194  check_not_to_creat_tetra=0;
13195  LISTE_MG_TRIANGLE::iterator it_tri_existed;
13196  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))
13197 
13198  {
13199 
13200  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()))))
13201  {
13202 
13203  check_to_creat_tetra=2;
13204  }
13205 
13206 
13207  else
13208 
13209  {
13210  check_not_to_creat_tetra=3;
13211 
13212  }
13213 
13214  }
13215 
13216 
13217  if ((quall1>0.000001) && (check_not_to_creat_tetra!=3))
13218  {
13219  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()));
13220  check_to_go_further=5;
13221  qualite_moyenne_3D+=quall1;
13222  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13223  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13224  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
13225  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
13226  }
13227 
13228  if ((quallo1>0.000001) && (check_not_to_creat_tetra!=3))
13229  {
13230  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()));
13231  check_to_go_further=5;
13232  qualite_moyenne_3D+=quallo1;
13233  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
13234  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
13235  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13236  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13237  }
13238 
13239  if ((quall2>0.000001) && (check_not_to_creat_tetra!=3))
13240  {
13241  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()));
13242  check_to_go_further=5;
13243 
13244  qualite_moyenne_3D+=quall2;
13245  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
13246  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
13247 
13248  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13249  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13250  }
13251  if ((quallo2>0.000001) && (check_not_to_creat_tetra!=3))
13252  {
13253  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()));
13254  check_to_go_further=5;
13255 
13256  qualite_moyenne_3D+=quallo2;
13257  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
13258  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
13259 
13260  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13261  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13262  }
13263 
13264  if ((quall3>0.000001) && (check_not_to_creat_tetra!=3))
13265  {
13266  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()));
13267 
13268  check_to_go_further=5;
13269 
13270  qualite_moyenne_3D+=quall3;
13271  if(quall3<qualite_min_3D) qualite_min_3D=quall3;
13272  if(quall3>qualite_max_3D) qualite_max_3D=quall3;
13273  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13274  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13275  }
13276  if ((quallo3>0.000001) && (check_not_to_creat_tetra!=3))
13277 
13278  {
13279  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()));
13280  check_to_go_further=5;
13281  qualite_moyenne_3D+=quallo3;
13282  if(quallo3<qualite_min_3D) qualite_min_3D=quallo3;
13283  if(quallo3>qualite_max_3D) qualite_max_3D=quallo3;
13284  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13285  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13286  }
13287  }
13288  if ((quall4>0.000001 || quallo4>0.000001) && (quall5>0.000001 || quallo5>0.000001) && (quall6>0.000001 || quallo6>0.000001) && (check_to_go_further==3))
13289  {
13290  check_not_to_creat_tetra=0;
13291  LISTE_MG_TRIANGLE::iterator it_tri_existed;
13292  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))
13293 
13294  {
13295 
13296  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()))))
13297  {
13298 
13299  check_to_creat_tetra=2;
13300  }
13301 
13302  else
13303 
13304  {
13305  check_not_to_creat_tetra=3;
13306 
13307  }
13308 
13309  }
13310 
13311  if((quall4>0.000001) && (check_not_to_creat_tetra!=3))
13312  {
13313  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()));
13314  check_to_go_further=5;
13315  qualite_moyenne_3D+=quall4;
13316  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13317  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13318  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
13319  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
13320  }
13321 
13322  if((quall5>0.000001) && (check_not_to_creat_tetra!=3))
13323  {
13324  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()));
13325  check_to_go_further=5;
13326  qualite_moyenne_3D+=quall5;
13327  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13328  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13329  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
13330 
13331  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
13332 
13333  }
13334 
13335  if((quall6>0.000001) && (check_not_to_creat_tetra!=3))
13336  {
13337  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()));
13338  check_to_go_further=5;
13339 
13340  qualite_moyenne_3D+=quall6;
13341  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13342  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13343  if(quall6<qualite_min_3D) qualite_min_3D=quall6;
13344  if(quall6>qualite_max_3D) qualite_max_3D=quall6;
13345 
13346  }
13347  if((quallo4>0.000001) && (check_not_to_creat_tetra!=3))
13348  {
13349  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()));
13350  check_to_go_further=5;
13351  qualite_moyenne_3D+=quallo4;
13352  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13353  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13354  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
13355  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
13356 
13357  }
13358 
13359  if((quallo5>0.000001) && (check_not_to_creat_tetra!=3))
13360  {
13361  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()));
13362  check_to_go_further=5;
13363  qualite_moyenne_3D+=quallo5;
13364  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13365  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13366  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
13367  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
13368 
13369  }
13370 
13371  if((quallo6>0.000001) && (check_not_to_creat_tetra!=3))
13372  {
13373  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()));
13374  check_to_go_further=5;
13375  qualite_moyenne_3D+=quallo6;
13376  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13377  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13378  if(quallo6<qualite_min_3D) qualite_min_3D=quallo6;
13379  if(quallo6>qualite_max_3D) qualite_max_3D=quallo6;
13380 
13381  }
13382  }
13383  if ((quall7>0.000001 || quallo7>0.000001) && (quall8>0.000001 || quallo8>0.000001) && (quall9>0.000001 || quallo9>0.000001) && (check_to_go_further==3))
13384  {
13385  check_not_to_creat_tetra=0;
13386  LISTE_MG_TRIANGLE::iterator it_tri_existed;
13387  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))
13388 
13389  {
13390 
13391  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()))))
13392  {
13393 
13394  check_to_creat_tetra=2;
13395  }
13396 
13397  else
13398 
13399  {
13400  check_not_to_creat_tetra=3;
13401 
13402  }
13403 
13404  }
13405 
13406  if((quall7>0.000001) && (check_not_to_creat_tetra!=3))
13407  {
13408  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()));
13409  check_to_go_further=5;
13410  qualite_moyenne_3D+=quall7;
13411  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13412  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13413 
13414  if(quall7<qualite_min_3D) qualite_min_3D=quall7;
13415 
13416  if(quall7>qualite_max_3D) qualite_max_3D=quall7;
13417  }
13418 
13419  if((quallo7>0.000001) && (check_not_to_creat_tetra!=3))
13420 
13421  {
13422  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()));
13423  check_to_go_further=5;
13424  qualite_moyenne_3D+=quallo7;
13425  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13426  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13427 
13428  if(quallo7<qualite_min_3D) qualite_min_3D=quallo7;
13429  if(quallo7>qualite_max_3D) qualite_max_3D=quallo7;
13430  }
13431 
13432  if((quall8>0.000001) && (check_not_to_creat_tetra!=3))
13433  {
13434  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()));
13435  check_to_go_further=5;
13436  qualite_moyenne_3D+=quall8;
13437  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13438  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13439  if(quall8<qualite_min_3D) qualite_min_3D=quall8;
13440 
13441  if(quall8>qualite_max_3D) qualite_max_3D=quall8;
13442 
13443  }
13444 
13445  if((quallo8>0.000001) && (check_not_to_creat_tetra!=3))
13446  {
13447  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()));
13448  check_to_go_further=5;
13449  qualite_moyenne_3D+=quallo8;
13450  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13451  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13452  if(quallo8<qualite_min_3D) qualite_min_3D=quallo8;
13453  if(quallo8>qualite_max_3D) qualite_max_3D=quallo8;
13454 
13455  }
13456 
13457  if((quall9>0.000001) && (check_not_to_creat_tetra!=3))
13458  {
13459  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()));
13460  check_to_go_further=5;
13461 
13462  qualite_moyenne_3D+=quall9;
13463  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13464  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13465  if(quall9<qualite_min_3D) qualite_min_3D=quall9;
13466  if(quall9>qualite_max_3D) qualite_max_3D=quall9;
13467  }
13468 
13469  if((quallo9>0.000001) && (check_not_to_creat_tetra!=3))
13470  {
13471  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()));
13472  check_to_go_further=5;
13473  qualite_moyenne_3D+=quallo9;
13474  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13475  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13476  if(quallo9<qualite_min_3D) qualite_min_3D=quallo9;
13477  if(quallo9>qualite_max_3D) qualite_max_3D=quallo9;
13478  }
13479  }
13480  if ((quall10>0.000001 || quallo10>0.000001) && (quall12>0.000001 || quallo12>0.000001) && (quall11>0.000001 || quallo11>0.000001) && (check_to_go_further==3))
13481  {
13482  check_not_to_creat_tetra=0;
13483  LISTE_MG_TRIANGLE::iterator it_tri_existed;
13484  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))
13485  {
13486  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()))))
13487  {
13488 
13489  check_to_creat_tetra=2;
13490 
13491  }
13492 
13493  else
13494 
13495  {
13496  check_not_to_creat_tetra=3;
13497 
13498  }
13499 
13500  }
13501 
13502  if((quall10>0.000001) && (check_not_to_creat_tetra!=3))
13503  {
13504  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()));
13505 
13506  check_to_go_further=5;
13507  qualite_moyenne_3D+=quall10;
13508  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13509  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13510  if(quall10<qualite_min_3D) qualite_min_3D=quall10;
13511  if(quall10>qualite_max_3D) qualite_max_3D=quall10;
13512  }
13513  if((quallo10>0.000001) && (check_not_to_creat_tetra!=3))
13514  {
13515  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()));
13516 
13517  check_to_go_further=5;
13518 
13519  qualite_moyenne_3D+=quallo10;
13520  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13521  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13522  if(quallo10<qualite_min_3D) qualite_min_3D=quallo10;
13523  if(quallo10>qualite_max_3D) qualite_max_3D=quallo10;
13524  }
13525 
13526  if((quall11>0.000001) && (check_not_to_creat_tetra!=3))
13527  {
13528  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()));
13529  check_to_go_further=5;
13530  qualite_moyenne_3D+=quall11;
13531  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13532  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13533  if(quall11<qualite_min_3D) qualite_min_3D=quall11;
13534  if(quall11>qualite_max_3D) qualite_max_3D=quall11;
13535  }
13536  if((quallo11>0.000001) && (check_not_to_creat_tetra!=3))
13537  {
13538  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()));
13539 
13540  check_to_go_further=5;
13541  qualite_moyenne_3D+=quallo11;
13542 
13543  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13544  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13545  if(quallo11<qualite_min_3D) qualite_min_3D=quallo11;
13546  if(quallo11>qualite_max_3D) qualite_max_3D=quallo11;
13547  }
13548  if((quall12>0.000001) && (check_not_to_creat_tetra!=3))
13549  {
13550  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()));
13551  check_to_go_further=5;
13552  qualite_moyenne_3D+=quall12;
13553  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13554  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13555  if(quall12<qualite_min_3D) qualite_min_3D=quall12;
13556  if(quall12>qualite_max_3D) qualite_max_3D=quall12;
13557  }
13558  if((quallo12>0.000001) && (check_not_to_creat_tetra!=3))
13559 
13560  {
13561  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()));
13562  check_to_go_further=5;
13563  qualite_moyenne_3D+=quallo12;
13564  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13565  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13566  if(quallo12<qualite_min_3D) qualite_min_3D=quallo12;
13567  if(quallo12>qualite_max_3D) qualite_max_3D=quallo12;
13568  }
13569  }
13570  if ((quall13>0.000001 || quallo13>0.000001) && (quall14>0.000001 || quallo14>0.000001) && (quall15>0.000001 || quallo15>0.000001) && (check_to_go_further==3))
13571  {
13572  check_not_to_creat_tetra=0;
13573  LISTE_MG_TRIANGLE::iterator it_tri_existed;
13574  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))
13575 
13576  {
13577 
13578  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()))))
13579  {
13580 
13581  check_to_creat_tetra=2;
13582  }
13583 
13584  else
13585 
13586  {
13587  check_not_to_creat_tetra=3;
13588 
13589  }
13590 
13591  }
13592 
13593 
13594  if((quall13>0.000001) && (check_not_to_creat_tetra!=3))
13595  {
13596  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()));
13597  check_to_go_further=5;
13598  qualite_moyenne_3D+=quall13;
13599  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13600  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13601  if(quall13<qualite_min_3D) qualite_min_3D=quall13;
13602 
13603 
13604  if(quall13>qualite_max_3D) qualite_max_3D=quall13;
13605  }
13606 
13607  if((quallo13>0.000001) && (check_not_to_creat_tetra!=3))
13608  {
13609  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()));
13610  check_to_go_further=5;
13611  qualite_moyenne_3D+=quallo13;
13612  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13613  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13614  if(quallo13<qualite_min_3D) qualite_min_3D=quallo13;
13615 
13616  if(quallo13>qualite_max_3D) qualite_max_3D=quallo13;
13617  }
13618 
13619  if((quall14>0.000001) && (check_not_to_creat_tetra!=3))
13620  {
13621  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()));
13622 
13623  check_to_go_further=5;
13624  qualite_moyenne_3D+=quall14;
13625  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13626  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13627 
13628  if(quall14<qualite_min_3D) qualite_min_3D=quall14;
13629  if(quall14>qualite_max_3D) qualite_max_3D=quall14;
13630  }
13631 
13632  if((quallo14>0.000001) && (check_not_to_creat_tetra!=3))
13633  {
13634  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()));
13635 
13636  check_to_go_further=5;
13637 
13638  qualite_moyenne_3D+=quallo14;
13639  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13640  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13641  if(quallo14<qualite_min_3D) qualite_min_3D=quallo14;
13642  if(quallo14>qualite_max_3D) qualite_max_3D=quallo14;
13643  }
13644 
13645  if((quall15>0.000001) && (check_not_to_creat_tetra!=3))
13646  {
13647  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()));
13648  check_to_go_further=5;
13649  qualite_moyenne_3D+=quall15;
13650  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13651  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13652  if(quall15<qualite_min_3D) qualite_min_3D=quall15;
13653  if(quall15>qualite_max_3D) qualite_max_3D=quall15;
13654  }
13655 
13656  if((quallo15>0.000001) && (check_not_to_creat_tetra!=3))
13657  {
13658 
13659  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()));
13660  check_to_go_further=5;
13661  qualite_moyenne_3D+=quallo15;
13662  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13663  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13664  if(quallo15<qualite_min_3D) qualite_min_3D=quallo15;
13665  if(quallo15>qualite_max_3D) qualite_max_3D=quallo15;
13666  }
13667  }
13668 
13669  if ((quall16>0.000001 || quallo16>0.000001) && (quall17>0.000001 || quallo17>0.000001) && (quall18>0.000001 || quallo18>0.000001) && (check_to_go_further==3))
13670  {
13671  check_not_to_creat_tetra=0;
13672  LISTE_MG_TRIANGLE::iterator it_tri_existed;
13673  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))
13674 
13675  {
13676 
13677  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()))))
13678  {
13679 
13680  check_to_creat_tetra=2;
13681  }
13682 
13683 
13684  else
13685 
13686  {
13687  check_not_to_creat_tetra=3;
13688 
13689  }
13690 
13691  }
13692 
13693  if((quall16>0.000001) && (check_not_to_creat_tetra!=3))
13694  {
13695  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()));
13696 
13697  check_to_go_further=5;
13698  qualite_moyenne_3D+=quall16;
13699  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13700  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13701 
13702  if(quall16<qualite_min_3D) qualite_min_3D=quall16;
13703  if(quall16>qualite_max_3D) qualite_max_3D=quall16;
13704  }
13705  if((quallo16>0.000001) && (check_not_to_creat_tetra!=3))
13706  {
13707  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()));
13708 
13709  check_to_go_further=5;
13710  qualite_moyenne_3D+=quallo16;
13711  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13712  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13713  if(quallo16<qualite_min_3D) qualite_min_3D=quallo16;
13714  if(quallo16>qualite_max_3D) qualite_max_3D=quallo16;
13715  }
13716  if((quall17>0.000001) && (check_not_to_creat_tetra!=3))
13717  {
13718  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()));
13719  check_to_go_further=5;
13720  qualite_moyenne_3D+=quall17;
13721  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13722  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13723  if(quall17<qualite_min_3D) qualite_min_3D=quall17;
13724  if(quall17>qualite_max_3D) qualite_max_3D=quall17;
13725  }
13726  if((quallo17>0.000001) && (check_not_to_creat_tetra!=3))
13727  {
13728  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()));
13729  check_to_go_further=5;
13730  qualite_moyenne_3D+=quallo17;
13731 
13732  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13733  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13734 
13735  if(quallo17<qualite_min_3D) qualite_min_3D=quallo17;
13736  if(quallo17>qualite_max_3D) qualite_max_3D=quallo17;
13737  }
13738  if((quall18>0.000001) && (check_not_to_creat_tetra!=3))
13739  {
13740  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()));
13741  check_to_go_further=5;
13742  qualite_moyenne_3D+=quall18;
13743  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13744  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13745  if(quall18<qualite_min_3D) qualite_min_3D=quall18;
13746  if(quall18>qualite_max_3D) qualite_max_3D=quall18;
13747  }
13748  if((quallo18>0.000001) && (check_not_to_creat_tetra!=3))
13749  {
13750  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()));
13751  check_to_go_further=5;
13752  qualite_moyenne_3D+=quallo18;
13753 
13754  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
13755  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
13756  if(quallo18<qualite_min_3D) qualite_min_3D=quallo18;
13757  if(quallo18>qualite_max_3D) qualite_max_3D=quallo18;
13758  }
13759  }
13760  }
13761  }
13762  else
13763  {
13764  //============================================changing 0 to 6=======================================
13765  // if (check_to_go_further==3)
13766 
13767  //============================================Getting the Qualities=============================
13768  //=============================================================================================
13769 
13770  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());
13771 
13772  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());
13773 
13774  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());
13775 
13776  //----------------------------------------------------
13777  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());
13778 
13779  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());
13780 
13781  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());
13782 
13783  lst_node_tri11.ajouter(lst_node_in_second.get(3));
13784  lst_node_tri11.ajouter(lst_node_in_second.get(1));
13785  lst_node_tri11.ajouter(lst_node_in_second.get(2));
13786 
13787  lst_node_tri12.ajouter(lst_node_in_second.get(1));
13788  lst_node_tri12.ajouter(lst_node_in_second.get(2));
13789  lst_node_tri12.ajouter(lst_node_in_second.get(4));
13790 
13791  lst_node_tri13.ajouter(lst_node_in_second.get(1));
13792  lst_node_tri13.ajouter(lst_node_in_second.get(3));
13793  lst_node_tri13.ajouter(lst_node_in_second.get(4));
13794 
13795  lst_node_tri14.ajouter(lst_node_in_second.get(2));
13796  lst_node_tri14.ajouter(lst_node_in_second.get(3));
13797  lst_node_tri14.ajouter(lst_node_in_second.get(4));
13798 
13799  lst_node_tri15.ajouter(lst_node_in_second.get(0));
13800  lst_node_tri15.ajouter(lst_node_in_second.get(1));
13801  lst_node_tri15.ajouter(lst_node_in_second.get(4));
13802 
13803  lst_node_tri16.ajouter(lst_node_in_second.get(0));
13804  lst_node_tri16.ajouter(lst_node_in_second.get(1));
13805  lst_node_tri16.ajouter(lst_node_in_second.get(6));
13806 
13807  lst_node_tri17.ajouter(lst_node_in_second.get(0));
13808  lst_node_tri17.ajouter(lst_node_in_second.get(4));
13809  lst_node_tri17.ajouter(lst_node_in_second.get(6));
13810 
13811  lst_node_tri18.ajouter(lst_node_in_second.get(1));
13812  lst_node_tri18.ajouter(lst_node_in_second.get(4));
13813  lst_node_tri18.ajouter(lst_node_in_second.get(6));
13814 
13815  lst_node_tri19.ajouter(lst_node_in_second.get(1));
13816  lst_node_tri19.ajouter(lst_node_in_second.get(2));
13817  lst_node_tri19.ajouter(lst_node_in_second.get(6));
13818 
13819  lst_node_tri110.ajouter(lst_node_in_second.get(6));
13820  lst_node_tri110.ajouter(lst_node_in_second.get(2));
13821  lst_node_tri110.ajouter(lst_node_in_second.get(4));
13822 
13823  //----------------------------------------------------
13824  //----------------------------------------------------
13825  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());
13826 
13827  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());
13828 
13829  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());
13830 
13831  //----------------------------------------------------
13832  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());
13833 
13834  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());
13835 
13836  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());
13837 
13838  lst_node_tri21.ajouter(lst_node_in_second.get(1));
13839  lst_node_tri21.ajouter(lst_node_in_second.get(2));
13840  lst_node_tri21.ajouter(lst_node_in_second.get(3));
13841 
13842  lst_node_tri22.ajouter(lst_node_in_second.get(1));
13843  lst_node_tri22.ajouter(lst_node_in_second.get(2));
13844  lst_node_tri22.ajouter(lst_node_in_second.get(4));
13845 
13846  lst_node_tri23.ajouter(lst_node_in_second.get(1));
13847  lst_node_tri23.ajouter(lst_node_in_second.get(3));
13848  lst_node_tri23.ajouter(lst_node_in_second.get(4));
13849 
13850  lst_node_tri24.ajouter(lst_node_in_second.get(2));
13851  lst_node_tri24.ajouter(lst_node_in_second.get(3));
13852  lst_node_tri24.ajouter(lst_node_in_second.get(4));
13853 
13854  lst_node_tri25.ajouter(lst_node_in_second.get(0));
13855  lst_node_tri25.ajouter(lst_node_in_second.get(1));
13856  lst_node_tri25.ajouter(lst_node_in_second.get(2));
13857 
13858  lst_node_tri26.ajouter(lst_node_in_second.get(0));
13859  lst_node_tri26.ajouter(lst_node_in_second.get(1));
13860  lst_node_tri26.ajouter(lst_node_in_second.get(6));
13861 
13862  lst_node_tri27.ajouter(lst_node_in_second.get(0));
13863  lst_node_tri27.ajouter(lst_node_in_second.get(2));
13864  lst_node_tri27.ajouter(lst_node_in_second.get(6));
13865 
13866  lst_node_tri28.ajouter(lst_node_in_second.get(1));
13867  lst_node_tri28.ajouter(lst_node_in_second.get(2));
13868  lst_node_tri28.ajouter(lst_node_in_second.get(6));
13869 
13870  lst_node_tri29.ajouter(lst_node_in_second.get(1));
13871  lst_node_tri29.ajouter(lst_node_in_second.get(4));
13872  lst_node_tri29.ajouter(lst_node_in_second.get(0));
13873 
13874  lst_node_tri210.ajouter(lst_node_in_second.get(2));
13875  lst_node_tri210.ajouter(lst_node_in_second.get(4));
13876  lst_node_tri210.ajouter(lst_node_in_second.get(0));
13877  //----------------------------------------------------
13878  //----------------------------------------------------
13879  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());
13880 
13881  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());
13882 
13883  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());
13884 
13885  //----------------------------------------------------
13886  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());
13887 
13888  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());
13889 
13890  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());
13891 
13892  lst_node_tri31.ajouter(lst_node_in_second.get(3));
13893  lst_node_tri31.ajouter(lst_node_in_second.get(2));
13894  lst_node_tri31.ajouter(lst_node_in_second.get(4));
13895 
13896  lst_node_tri32.ajouter(lst_node_in_second.get(2));
13897  lst_node_tri32.ajouter(lst_node_in_second.get(3));
13898  lst_node_tri32.ajouter(lst_node_in_second.get(0));
13899 
13900  lst_node_tri33.ajouter(lst_node_in_second.get(2));
13901  lst_node_tri33.ajouter(lst_node_in_second.get(4));
13902  lst_node_tri33.ajouter(lst_node_in_second.get(0));
13903 
13904  lst_node_tri34.ajouter(lst_node_in_second.get(3));
13905  lst_node_tri34.ajouter(lst_node_in_second.get(4));
13906  lst_node_tri34.ajouter(lst_node_in_second.get(0));
13907 
13908  lst_node_tri35.ajouter(lst_node_in_second.get(2));
13909  lst_node_tri35.ajouter(lst_node_in_second.get(1));
13910  lst_node_tri35.ajouter(lst_node_in_second.get(3));
13911 
13912  lst_node_tri36.ajouter(lst_node_in_second.get(2));
13913  lst_node_tri36.ajouter(lst_node_in_second.get(1));
13914  lst_node_tri36.ajouter(lst_node_in_second.get(0));
13915 
13916  lst_node_tri37.ajouter(lst_node_in_second.get(1));
13917  lst_node_tri37.ajouter(lst_node_in_second.get(3));
13918  lst_node_tri37.ajouter(lst_node_in_second.get(0));
13919 
13920  lst_node_tri38.ajouter(lst_node_in_second.get(6));
13921  lst_node_tri38.ajouter(lst_node_in_second.get(1));
13922  lst_node_tri38.ajouter(lst_node_in_second.get(2));
13923 
13924  lst_node_tri39.ajouter(lst_node_in_second.get(0));
13925  lst_node_tri39.ajouter(lst_node_in_second.get(2));
13926  lst_node_tri39.ajouter(lst_node_in_second.get(6));
13927 
13928  lst_node_tri310.ajouter(lst_node_in_second.get(0));
13929  lst_node_tri310.ajouter(lst_node_in_second.get(1));
13930  lst_node_tri310.ajouter(lst_node_in_second.get(6));
13931  //----------------------------------------------------
13932  //----------------------------------------------------
13933  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());
13934 
13935  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());
13936 
13937  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());
13938 
13939 
13940  //----------------------------------------------------
13941  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());
13942 
13943  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());
13944 
13945  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());
13946 
13947  lst_node_tri41.ajouter(lst_node_in_second.get(6));
13948  lst_node_tri41.ajouter(lst_node_in_second.get(2));
13949  lst_node_tri41.ajouter(lst_node_in_second.get(3));
13950 
13951  lst_node_tri48.ajouter(lst_node_in_second.get(6));
13952  lst_node_tri48.ajouter(lst_node_in_second.get(2));
13953  lst_node_tri48.ajouter(lst_node_in_second.get(4));
13954 
13955 
13956  lst_node_tri42.ajouter(lst_node_in_second.get(6));
13957  lst_node_tri42.ajouter(lst_node_in_second.get(3));
13958  lst_node_tri42.ajouter(lst_node_in_second.get(4));
13959 
13960  lst_node_tri43.ajouter(lst_node_in_second.get(2));
13961  lst_node_tri43.ajouter(lst_node_in_second.get(3));
13962  lst_node_tri43.ajouter(lst_node_in_second.get(4));
13963 
13964  lst_node_tri44.ajouter(lst_node_in_second.get(0));
13965  lst_node_tri44.ajouter(lst_node_in_second.get(1));
13966  lst_node_tri44.ajouter(lst_node_in_second.get(3));
13967 
13968  lst_node_tri45.ajouter(lst_node_in_second.get(0));
13969  lst_node_tri45.ajouter(lst_node_in_second.get(1));
13970  lst_node_tri45.ajouter(lst_node_in_second.get(6));
13971 
13972  lst_node_tri46.ajouter(lst_node_in_second.get(0));
13973  lst_node_tri46.ajouter(lst_node_in_second.get(3));
13974  lst_node_tri46.ajouter(lst_node_in_second.get(6));
13975 
13976  lst_node_tri47.ajouter(lst_node_in_second.get(1));
13977  lst_node_tri47.ajouter(lst_node_in_second.get(3));
13978  lst_node_tri47.ajouter(lst_node_in_second.get(6));
13979 
13980  lst_node_tri49.ajouter(lst_node_in_second.get(0));
13981  lst_node_tri49.ajouter(lst_node_in_second.get(4));
13982  lst_node_tri49.ajouter(lst_node_in_second.get(6));
13983 
13984  lst_node_tri410.ajouter(lst_node_in_second.get(3));
13985  lst_node_tri410.ajouter(lst_node_in_second.get(4));
13986  lst_node_tri410.ajouter(lst_node_in_second.get(0));
13987  //----------------------------------------------------
13988  //----------------------------------------------------
13989  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());
13990 
13991  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());
13992 
13993  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());
13994 
13995 
13996  //----------------------------------------------------
13997  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());
13998 
13999  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());
14000 
14001  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());
14002 
14003  lst_node_tri51.ajouter(lst_node_in_second.get(3));
14004  lst_node_tri51.ajouter(lst_node_in_second.get(2));
14005  lst_node_tri51.ajouter(lst_node_in_second.get(4));
14006 
14007  lst_node_tri52.ajouter(lst_node_in_second.get(2));
14008  lst_node_tri52.ajouter(lst_node_in_second.get(3));
14009  lst_node_tri52.ajouter(lst_node_in_second.get(0));
14010 
14011  lst_node_tri53.ajouter(lst_node_in_second.get(2));
14012  lst_node_tri53.ajouter(lst_node_in_second.get(4));
14013  lst_node_tri53.ajouter(lst_node_in_second.get(0));
14014 
14015  lst_node_tri54.ajouter(lst_node_in_second.get(3));
14016  lst_node_tri54.ajouter(lst_node_in_second.get(4));
14017  lst_node_tri54.ajouter(lst_node_in_second.get(0));
14018 
14019  lst_node_tri55.ajouter(lst_node_in_second.get(1));
14020  lst_node_tri55.ajouter(lst_node_in_second.get(0));
14021  lst_node_tri55.ajouter(lst_node_in_second.get(3));
14022 
14023  lst_node_tri56.ajouter(lst_node_in_second.get(0));
14024  lst_node_tri56.ajouter(lst_node_in_second.get(1));
14025  lst_node_tri56.ajouter(lst_node_in_second.get(6));
14026 
14027  lst_node_tri57.ajouter(lst_node_in_second.get(0));
14028  lst_node_tri57.ajouter(lst_node_in_second.get(3));
14029  lst_node_tri57.ajouter(lst_node_in_second.get(6));
14030 
14031  lst_node_tri58.ajouter(lst_node_in_second.get(1));
14032  lst_node_tri58.ajouter(lst_node_in_second.get(3));
14033  lst_node_tri58.ajouter(lst_node_in_second.get(6));
14034 
14035  lst_node_tri59.ajouter(lst_node_in_second.get(6));
14036  lst_node_tri59.ajouter(lst_node_in_second.get(2));
14037  lst_node_tri59.ajouter(lst_node_in_second.get(3));
14038 
14039  lst_node_tri510.ajouter(lst_node_in_second.get(0));
14040  lst_node_tri510.ajouter(lst_node_in_second.get(2));
14041  lst_node_tri510.ajouter(lst_node_in_second.get(6));
14042 
14043  //----------------------------------------------------
14044  //----------------------------------------------------
14045  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());
14046 
14047  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());
14048 
14049  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());
14050 
14051  //----------------------------------------------------
14052  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());
14053 
14054  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());
14055 
14056  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());
14057 
14058  lst_node_tri61.ajouter(lst_node_in_second.get(0));
14059  lst_node_tri61.ajouter(lst_node_in_second.get(1));
14060  lst_node_tri61.ajouter(lst_node_in_second.get(4));
14061 
14062  lst_node_tri62.ajouter(lst_node_in_second.get(0));
14063  lst_node_tri62.ajouter(lst_node_in_second.get(1));
14064  lst_node_tri62.ajouter(lst_node_in_second.get(6));
14065 
14066  lst_node_tri63.ajouter(lst_node_in_second.get(0));
14067  lst_node_tri63.ajouter(lst_node_in_second.get(4));
14068  lst_node_tri63.ajouter(lst_node_in_second.get(6));
14069 
14070  lst_node_tri64.ajouter(lst_node_in_second.get(1));
14071  lst_node_tri64.ajouter(lst_node_in_second.get(6));
14072  lst_node_tri64.ajouter(lst_node_in_second.get(4));
14073 
14074  lst_node_tri65.ajouter(lst_node_in_second.get(6));
14075  lst_node_tri65.ajouter(lst_node_in_second.get(2));
14076  lst_node_tri65.ajouter(lst_node_in_second.get(3));
14077 
14078  lst_node_tri66.ajouter(lst_node_in_second.get(6));
14079  lst_node_tri66.ajouter(lst_node_in_second.get(2));
14080  lst_node_tri66.ajouter(lst_node_in_second.get(4));
14081 
14082  lst_node_tri67.ajouter(lst_node_in_second.get(2));
14083  lst_node_tri67.ajouter(lst_node_in_second.get(3));
14084  lst_node_tri67.ajouter(lst_node_in_second.get(4));
14085 
14086  lst_node_tri68.ajouter(lst_node_in_second.get(6));
14087  lst_node_tri68.ajouter(lst_node_in_second.get(3));
14088  lst_node_tri68.ajouter(lst_node_in_second.get(4));
14089 
14090  lst_node_tri69.ajouter(lst_node_in_second.get(6));
14091  lst_node_tri69.ajouter(lst_node_in_second.get(3));
14092  lst_node_tri69.ajouter(lst_node_in_second.get(1));
14093 
14094  lst_node_tri610.ajouter(lst_node_in_second.get(1));
14095  lst_node_tri610.ajouter(lst_node_in_second.get(4));
14096  lst_node_tri610.ajouter(lst_node_in_second.get(3));
14097 
14098  //----------------------------------------------------
14099  //---------------------------------------------------
14100 
14101  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)))
14102  {
14103  check_not_to_creat_tetra=0;
14104  LISTE_MG_TRIANGLE::iterator it_tri_existed;
14105  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))
14106  {
14107  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()))))
14108  {
14109 
14110  check_to_creat_tetra=2;
14111  }
14112  else
14113 
14114  {
14115  check_not_to_creat_tetra=3;
14116 
14117  }
14118 
14119  }
14120 
14121 
14122  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
14123  {
14124  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());
14125  check_to_go_further=5;
14126 
14127  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14128  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14129 
14130  }
14131 
14132  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
14133  {
14134  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());
14135  check_to_go_further=5;
14136 
14137  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14138  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14139  }
14140 
14141  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
14142  {
14143  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());
14144  check_to_go_further=5;
14145 
14146 
14147  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14148  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14149  }
14150  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
14151  {
14152  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());
14153  check_to_go_further=5;
14154 
14155  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14156  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14157  }
14158 
14159  if ((quall3>0.00001) && (check_not_to_creat_tetra!=3))
14160  {
14161  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());
14162 
14163  check_to_go_further=5;
14164  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14165  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14166  }
14167  if ((quallo3>0.00001) && (check_not_to_creat_tetra!=3))
14168 
14169  {
14170  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());
14171  check_to_go_further=5;
14172 
14173  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14174  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14175  }
14176  }
14177 
14178  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)))
14179  {
14180  check_not_to_creat_tetra=0;
14181  LISTE_MG_TRIANGLE::iterator it_tri_existed;
14182  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))
14183  {
14184  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()))))
14185  {
14186  check_to_creat_tetra=2;
14187  }
14188  else
14189  {
14190  check_not_to_creat_tetra=3;
14191  }
14192  }
14193 
14194  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
14195  {
14196  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());
14197  check_to_go_further=5;
14198 
14199  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14200  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14201 
14202  }
14203 
14204  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
14205  {
14206  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());
14207  check_to_go_further=5;
14208 
14209  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14210  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14211 
14212  }
14213 
14214  if((quall6>0.00001) && (check_not_to_creat_tetra!=3))
14215  {
14216  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());
14217  check_to_go_further=5;
14218 
14219  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14220  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14221 
14222 
14223  }
14224  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
14225  {
14226  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());
14227  check_to_go_further=5;
14228 
14229  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14230  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14231 
14232 
14233  }
14234 
14235  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
14236  {
14237  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());
14238  check_to_go_further=5;
14239 
14240  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14241  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14242 
14243 
14244  }
14245 
14246  if((quallo6>0.00001) && (check_not_to_creat_tetra!=3))
14247  {
14248  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());
14249  check_to_go_further=5;
14250 
14251  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14252  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14253 
14254  }
14255  }
14256  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)))
14257  {
14258  check_not_to_creat_tetra=0;
14259  LISTE_MG_TRIANGLE::iterator it_tri_existed;
14260  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))
14261  {
14262  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()))))
14263  {
14264 
14265  check_to_creat_tetra=2;
14266  }
14267 
14268  else
14269 
14270  {
14271  check_not_to_creat_tetra=3;
14272 
14273  }
14274 
14275  }
14276 
14277  if((quall7>0.00001) && (check_not_to_creat_tetra!=3))
14278  {
14279  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());
14280  check_to_go_further=5;
14281 
14282  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14283  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14284 
14285  }
14286 
14287  if((quallo7>0.00001) && (check_not_to_creat_tetra!=3))
14288 
14289  {
14290  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());
14291  check_to_go_further=5;
14292 
14293  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14294  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14295 
14296  }
14297 
14298  if((quall8>0.00001) && (check_not_to_creat_tetra!=3))
14299  {
14300  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());
14301  check_to_go_further=5;
14302 
14303  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14304  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14305 
14306 
14307  }
14308 
14309  if((quallo8>0.00001) && (check_not_to_creat_tetra!=3))
14310  {
14311  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());
14312  check_to_go_further=5;
14313 
14314  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14315  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14316 
14317  }
14318 
14319  if((quall9>0.00001) && (check_not_to_creat_tetra!=3))
14320  {
14321  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());
14322  check_to_go_further=5;
14323 
14324  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14325  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14326 
14327  }
14328 
14329  if((quallo9>0.00001) && (check_not_to_creat_tetra!=3))
14330  {
14331  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());
14332  check_to_go_further=5;
14333 
14334  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14335  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14336  }
14337  }
14338  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)))
14339  {
14340  check_not_to_creat_tetra=0;
14341  LISTE_MG_TRIANGLE::iterator it_tri_existed;
14342  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))
14343  {
14344  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()))))
14345  {
14346  check_to_creat_tetra=2;
14347  }
14348  else
14349  {
14350  check_not_to_creat_tetra=3;
14351  }
14352  }
14353 
14354  if((quall10>0.00001) && (check_not_to_creat_tetra!=3))
14355  {
14356  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());
14357 
14358  check_to_go_further=5;
14359 
14360  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14361  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14362  }
14363  if((quallo10>0.00001) && (check_not_to_creat_tetra!=3))
14364  {
14365  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());
14366 
14367  check_to_go_further=5;
14368  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14369  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14370 
14371  }
14372 
14373  if((quall11>0.00001) && (check_not_to_creat_tetra!=3))
14374  {
14375  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());
14376  check_to_go_further=5;
14377 
14378  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14379  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14380 
14381  }
14382  if((quallo11>0.00001) && (check_not_to_creat_tetra!=3))
14383  {
14384  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());
14385 
14386  check_to_go_further=5;
14387 
14388 
14389  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14390  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14391 
14392  }
14393  if((quall12>0.00001) && (check_not_to_creat_tetra!=3))
14394  {
14395  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());
14396  check_to_go_further=5;
14397 
14398  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14399  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14400 
14401  }
14402  if((quallo12>0.00001) && (check_not_to_creat_tetra!=3))
14403 
14404  {
14405  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());
14406  check_to_go_further=5;
14407 
14408  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14409  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14410 
14411  }
14412  }
14413  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)))
14414  {
14415  check_not_to_creat_tetra=0;
14416  LISTE_MG_TRIANGLE::iterator it_tri_existed;
14417  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))
14418  {
14419 
14420  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()))))
14421  {
14422  check_to_creat_tetra=2;
14423  }
14424  else
14425  {
14426  check_not_to_creat_tetra=3;
14427  }
14428  }
14429  if((quall13>0.00001) && (check_not_to_creat_tetra!=3))
14430  {
14431  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());
14432  check_to_go_further=5;
14433 
14434  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14435  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14436 
14437  }
14438 
14439  if((quallo13>0.00001) && (check_not_to_creat_tetra!=3))
14440  {
14441  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());
14442  check_to_go_further=5;
14443 
14444  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14445  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14446 
14447  }
14448 
14449  if((quall14>0.00001) && (check_not_to_creat_tetra!=3))
14450  {
14451  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());
14452 
14453  check_to_go_further=5;
14454 
14455  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14456  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14457  }
14458 
14459  if((quallo14>0.00001) && (check_not_to_creat_tetra!=3))
14460  {
14461  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());
14462 
14463  check_to_go_further=5;
14464 
14465  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14466  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14467 
14468  }
14469 
14470  if((quall15>0.00001) && (check_not_to_creat_tetra!=3))
14471  {
14472  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());
14473  check_to_go_further=5;
14474 
14475  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14476  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14477 
14478  }
14479 
14480  if((quallo15>0.00001) && (check_not_to_creat_tetra!=3))
14481  {
14482 
14483  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());
14484  check_to_go_further=5;
14485 
14486  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14487  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14488 
14489  }
14490  }
14491 
14492  if ((quall16>0.001 || quallo16>0.001) && (quall17>0.001 || quallo17>0.001) && (quall18>0.001 || quallo18>0.001) && (check_to_go_further==3))
14493  {
14494  check_not_to_creat_tetra=0;
14495  LISTE_MG_TRIANGLE::iterator it_tri_existed;
14496  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))
14497  {
14498  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()))))
14499  {
14500  check_to_creat_tetra=2;
14501  }
14502  else
14503  {
14504  check_not_to_creat_tetra=3;
14505  }
14506  }
14507 
14508  if((quall16>0.00001) && (check_not_to_creat_tetra!=3))
14509  {
14510  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());
14511 
14512  check_to_go_further=5;
14513 
14514  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14515  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14516 
14517  }
14518  if((quallo16>0.00001) && (check_not_to_creat_tetra!=3))
14519  {
14520  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()));
14521  check_to_go_further=5;
14522 
14523  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14524  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14525 
14526  }
14527  if((quall17>0.00001) && (check_not_to_creat_tetra!=3))
14528  {
14529  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());
14530  check_to_go_further=5;
14531 
14532  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14533  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14534 
14535  }
14536  if((quallo17>0.00001) && (check_not_to_creat_tetra!=3))
14537  {
14538  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());
14539  check_to_go_further=5;
14540 
14541  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14542  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14543 
14544  }
14545  if((quall18>0.00001) && (check_not_to_creat_tetra!=3))
14546  {
14547  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());
14548  check_to_go_further=5;
14549 
14550  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14551  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14552 
14553  }
14554  if((quallo18>0.00001) && (check_not_to_creat_tetra!=3))
14555  {
14556  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());
14557  check_to_go_further=5;
14558 
14559  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14560  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14561 
14562  }
14563  }
14564 
14565  //============================================Second loop==============================================================
14566  if (check_to_go_further==3)
14567  {
14568  if ((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001) && (quall3>0.001 || quallo3>0.001))
14569  {
14570  check_not_to_creat_tetra=0;
14571  LISTE_MG_TRIANGLE::iterator it_tri_existed;
14572  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))
14573 
14574  {
14575 
14576  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()))))
14577  {
14578 
14579  check_to_creat_tetra=2;
14580  }
14581 
14582 
14583  else
14584 
14585  {
14586  check_not_to_creat_tetra=3;
14587 
14588  }
14589 
14590  }
14591 
14592 
14593  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
14594  {
14595  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());
14596  check_to_go_further=5;
14597 
14598  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14599  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14600 
14601  }
14602 
14603  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
14604  {
14605  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());
14606  check_to_go_further=5;
14607 
14608  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14609  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14610  }
14611 
14612  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
14613  {
14614  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());
14615  check_to_go_further=5;
14616 
14617  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14618  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14619  }
14620  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
14621  {
14622  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());
14623  check_to_go_further=5;
14624 
14625 
14626  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14627  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14628  }
14629 
14630  if ((quall3>0.00001) && (check_not_to_creat_tetra!=3))
14631  {
14632  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());
14633 
14634  check_to_go_further=5;
14635 
14636  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14637  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14638  }
14639  if ((quallo3>0.00001) && (check_not_to_creat_tetra!=3))
14640 
14641  {
14642  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());
14643  check_to_go_further=5;
14644 
14645  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14646  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14647  }
14648 
14649 
14650  }
14651  if ((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (quall6>0.001 || quallo6>0.001) && (check_to_go_further==3))
14652  {
14653  check_not_to_creat_tetra=0;
14654  LISTE_MG_TRIANGLE::iterator it_tri_existed;
14655  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))
14656 
14657  {
14658 
14659  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()))))
14660  {
14661 
14662  check_to_creat_tetra=2;
14663  }
14664 
14665  else
14666 
14667  {
14668  check_not_to_creat_tetra=3;
14669 
14670  }
14671 
14672  }
14673 
14674  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
14675  {
14676  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());
14677  check_to_go_further=5;
14678 
14679  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14680  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14681  }
14682 
14683  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
14684  {
14685  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());
14686  check_to_go_further=5;
14687 
14688  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14689  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14690 
14691  }
14692 
14693  if((quall6>0.00001) && (check_not_to_creat_tetra!=3))
14694  {
14695  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());
14696  check_to_go_further=5;
14697 
14698  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14699  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14700 
14701 
14702  }
14703  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
14704  {
14705  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());
14706  check_to_go_further=5;
14707 
14708  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14709  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14710 
14711  }
14712 
14713  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
14714  {
14715  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());
14716  check_to_go_further=5;
14717 
14718  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14719  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14720 
14721  }
14722 
14723  if((quallo6>0.00001) && (check_not_to_creat_tetra!=3))
14724  {
14725  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());
14726  check_to_go_further=5;
14727 
14728  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14729  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14730 
14731 
14732  }
14733  }
14734  if ((quall7>0.001 || quallo7>0.001) && (quall8>0.001 || quallo8>0.001) && (quall9>0.001 || quallo9>0.001) && (check_to_go_further==3))
14735  {
14736  check_not_to_creat_tetra=0;
14737  LISTE_MG_TRIANGLE::iterator it_tri_existed;
14738  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))
14739 
14740  {
14741 
14742  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()))))
14743  {
14744 
14745  check_to_creat_tetra=2;
14746  }
14747 
14748  else
14749 
14750  {
14751  check_not_to_creat_tetra=3;
14752 
14753  }
14754 
14755  }
14756 
14757  if((quall7>0.00001) && (check_not_to_creat_tetra!=3))
14758  {
14759  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());
14760  check_to_go_further=5;
14761 
14762  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14763  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14764 
14765  }
14766 
14767  if((quallo7>0.00001) && (check_not_to_creat_tetra!=3))
14768 
14769  {
14770  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());
14771  check_to_go_further=5;
14772 
14773  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14774  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14775  }
14776 
14777  if((quall8>0.00001) && (check_not_to_creat_tetra!=3))
14778  {
14779  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());
14780  check_to_go_further=5;
14781 
14782  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14783  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14784 
14785 
14786  }
14787 
14788  if((quallo8>0.00001) && (check_not_to_creat_tetra!=3))
14789  {
14790  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());
14791  check_to_go_further=5;
14792 
14793  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14794  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14795 
14796 
14797  }
14798 
14799  if((quall9>0.00001) && (check_not_to_creat_tetra!=3))
14800  {
14801  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());
14802 
14803  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14804  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14805 
14806  }
14807 
14808  if((quallo9>0.00001) && (check_not_to_creat_tetra!=3))
14809  {
14810  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());
14811  check_to_go_further=5;
14812 
14813  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14814  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14815 
14816  }
14817  }
14818  if ((quall10>0.001 || quallo10>0.001) && (quall12>0.001 || quallo12>0.001) && (quall11>0.001 || quallo11>0.001) && (check_to_go_further==3))
14819  {
14820  check_not_to_creat_tetra=0;
14821  LISTE_MG_TRIANGLE::iterator it_tri_existed;
14822  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))
14823  {
14824  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()))))
14825  {
14826 
14827  check_to_creat_tetra=2;
14828 
14829  }
14830 
14831  else
14832 
14833  {
14834  check_not_to_creat_tetra=3;
14835 
14836  }
14837 
14838  }
14839 
14840  if((quall10>0.00001) && (check_not_to_creat_tetra!=3))
14841  {
14842  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());
14843 
14844  check_to_go_further=5;
14845 
14846  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14847  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14848 
14849  }
14850  if((quallo10>0.00001) && (check_not_to_creat_tetra!=3))
14851  {
14852  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());
14853  check_to_go_further=5;
14854 
14855  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14856  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14857 
14858  }
14859 
14860  if((quall11>0.00001) && (check_not_to_creat_tetra!=3))
14861  {
14862  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());
14863  check_to_go_further=5;
14864 
14865  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14866  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14867 
14868  }
14869  if((quallo11>0.00001) && (check_not_to_creat_tetra!=3))
14870  {
14871  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());
14872 
14873  check_to_go_further=5;
14874 
14875 
14876  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14877  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14878 
14879  }
14880  if((quall12>0.00001) && (check_not_to_creat_tetra!=3))
14881  {
14882  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());
14883  check_to_go_further=5;
14884 
14885  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14886  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14887 
14888  }
14889  if((quallo12>0.00001) && (check_not_to_creat_tetra!=3))
14890 
14891  {
14892  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());
14893  check_to_go_further=5;
14894 
14895  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14896  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14897 
14898  }
14899  }
14900  if ((quall13>0.001 || quallo13>0.001) && (quall14>0.001 || quallo14>0.001) && (quall15>0.001 || quallo15>0.001) && (check_to_go_further==3))
14901  {
14902  check_not_to_creat_tetra=0;
14903  LISTE_MG_TRIANGLE::iterator it_tri_existed;
14904  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))
14905 
14906  {
14907 
14908  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()))))
14909  {
14910 
14911  check_to_creat_tetra=2;
14912  }
14913 
14914  else
14915 
14916  {
14917  check_not_to_creat_tetra=3;
14918 
14919  }
14920 
14921  }
14922 
14923 
14924  if((quall13>0.00001) && (check_not_to_creat_tetra!=3))
14925  {
14926  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());
14927  check_to_go_further=5;
14928 
14929  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14930  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14931 
14932  }
14933 
14934  if((quallo13>0.00001) && (check_not_to_creat_tetra!=3))
14935  {
14936  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());
14937  check_to_go_further=5;
14938 
14939  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14940  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14941 
14942  }
14943 
14944  if((quall14>0.00001) && (check_not_to_creat_tetra!=3))
14945  {
14946  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());
14947 
14948  check_to_go_further=5;
14949 
14950  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14951  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14952  }
14953 
14954  if((quallo14>0.00001) && (check_not_to_creat_tetra!=3))
14955  {
14956  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());
14957 
14958  check_to_go_further=5;
14959  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14960  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14961 
14962  }
14963 
14964  if((quall15>0.00001) && (check_not_to_creat_tetra!=3))
14965  {
14966  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());
14967  check_to_go_further=5;
14968 
14969  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14970  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14971 
14972  }
14973 
14974  if((quallo15>0.00001) && (check_not_to_creat_tetra!=3))
14975  {
14976 
14977  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());
14978  check_to_go_further=5;
14979 
14980  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
14981  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
14982 
14983  }
14984  }
14985 
14986  if ((quall16>0.001 || quallo16>0.001) && (quall17>0.001 || quallo17>0.001) && (quall18>0.001 || quallo18>0.001) && (check_to_go_further==3))
14987  {
14988  check_not_to_creat_tetra=0;
14989  LISTE_MG_TRIANGLE::iterator it_tri_existed;
14990  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))
14991 
14992  {
14993 
14994  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()))))
14995  {
14996 
14997  check_to_creat_tetra=2;
14998  }
14999 
15000 
15001  else
15002 
15003  {
15004  check_not_to_creat_tetra=3;
15005 
15006  }
15007 
15008  }
15009 
15010  if((quall16>0.00001) && (check_not_to_creat_tetra!=3))
15011  {
15012  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());
15013 
15014  check_to_go_further=5;
15015 
15016  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15017  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15018 
15019  }
15020  if((quallo16>0.00001) && (check_not_to_creat_tetra!=3))
15021  {
15022  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());
15023 
15024  check_to_go_further=5;
15025 
15026  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15027  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15028 
15029  }
15030  if((quall17>0.00001) && (check_not_to_creat_tetra!=3))
15031  {
15032  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());
15033  check_to_go_further=5;
15034 
15035  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15036  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15037 
15038  }
15039  if((quallo17>0.00001) && (check_not_to_creat_tetra!=3))
15040  {
15041  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());
15042  check_to_go_further=5;
15043 
15044  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15045  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15046  }
15047  if((quall18>0.00001) && (check_not_to_creat_tetra!=3))
15048  {
15049  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());
15050  check_to_go_further=5;
15051 
15052  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15053  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15054 
15055  }
15056  if((quallo18>0.00001) && (check_not_to_creat_tetra!=3))
15057  {
15058  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());
15059  check_to_go_further=5;
15060 
15061  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15062  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15063  }
15064  }
15065  }
15066  //============================================Third loop==============================================================
15067  if (check_to_go_further==3)
15068  {
15069  if ((quall1>0.000001 || quallo1>0.000001) && (quall2>0.000001 || quallo2>0.000001) && (quall3>0.000001 || quallo3>0.000001))
15070  {
15071  check_not_to_creat_tetra=0;
15072  LISTE_MG_TRIANGLE::iterator it_tri_existed;
15073  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))
15074 
15075  {
15076 
15077  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()))))
15078  {
15079 
15080  check_to_creat_tetra=2;
15081  }
15082 
15083 
15084  else
15085 
15086  {
15087  check_not_to_creat_tetra=3;
15088 
15089  }
15090 
15091  }
15092 
15093 
15094  if ((quall1>0.000001) && (check_not_to_creat_tetra!=3))
15095  {
15096  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());
15097  check_to_go_further=5;
15098 
15099  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15100  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15101 
15102  }
15103 
15104  if ((quallo1>0.000001) && (check_not_to_creat_tetra!=3))
15105  {
15106  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());
15107  check_to_go_further=5;
15108 
15109  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15110  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15111  }
15112 
15113  if ((quall2>0.000001) && (check_not_to_creat_tetra!=3))
15114  {
15115  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());
15116  check_to_go_further=5;
15117 
15118  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15119  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15120  }
15121  if ((quallo2>0.000001) && (check_not_to_creat_tetra!=3))
15122  {
15123  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());
15124  check_to_go_further=5;
15125 
15126 
15127  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15128  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15129  }
15130 
15131  if ((quall3>0.000001) && (check_not_to_creat_tetra!=3))
15132  {
15133  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());
15134 
15135  check_to_go_further=5;
15136 
15137  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15138  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15139  }
15140  if ((quallo3>0.000001) && (check_not_to_creat_tetra!=3))
15141 
15142  {
15143  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());
15144  check_to_go_further=5;
15145 
15146  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15147  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15148  }
15149  }
15150  if ((quall4>0.000001 || quallo4>0.000001) && (quall5>0.000001 || quallo5>0.000001) && (quall6>0.000001 || quallo6>0.000001) && (check_to_go_further==3))
15151  {
15152  check_not_to_creat_tetra=0;
15153  LISTE_MG_TRIANGLE::iterator it_tri_existed;
15154  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))
15155 
15156  {
15157 
15158  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()))))
15159  {
15160 
15161  check_to_creat_tetra=2;
15162  }
15163 
15164  else
15165 
15166  {
15167  check_not_to_creat_tetra=3;
15168 
15169  }
15170 
15171  }
15172 
15173  if((quall4>0.000001) && (check_not_to_creat_tetra!=3))
15174  {
15175  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());
15176  check_to_go_further=5;
15177 
15178  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15179  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15180 
15181  }
15182 
15183  if((quall5>0.000001) && (check_not_to_creat_tetra!=3))
15184  {
15185  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());
15186  check_to_go_further=5;
15187 
15188  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15189  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15190  }
15191 
15192  if((quall6>0.000001) && (check_not_to_creat_tetra!=3))
15193  {
15194  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());
15195  check_to_go_further=5;
15196 
15197  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15198  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15199  }
15200  if((quallo4>0.000001) && (check_not_to_creat_tetra!=3))
15201  {
15202  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());
15203  check_to_go_further=5;
15204 
15205  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15206  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15207 
15208  }
15209 
15210  if((quallo5>0.000001) && (check_not_to_creat_tetra!=3))
15211  {
15212  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());
15213  check_to_go_further=5;
15214 
15215  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15216  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15217  }
15218 
15219  if((quallo6>0.000001) && (check_not_to_creat_tetra!=3))
15220  {
15221  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());
15222  check_to_go_further=5;
15223 
15224  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15225  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15226 
15227 
15228  }
15229  }
15230  if ((quall7>0.000001 || quallo7>0.000001) && (quall8>0.000001 || quallo8>0.000001) && (quall9>0.000001 || quallo9>0.000001) && (check_to_go_further==3))
15231  {
15232  check_not_to_creat_tetra=0;
15233  LISTE_MG_TRIANGLE::iterator it_tri_existed;
15234  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))
15235 
15236  {
15237 
15238  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()))))
15239  {
15240 
15241  check_to_creat_tetra=2;
15242  }
15243 
15244  else
15245 
15246  {
15247  check_not_to_creat_tetra=3;
15248 
15249  }
15250 
15251  }
15252 
15253  if((quall7>0.000001) && (check_not_to_creat_tetra!=3))
15254  {
15255  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());
15256  check_to_go_further=5;
15257 
15258  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15259  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15260  }
15261 
15262  if((quallo7>0.000001) && (check_not_to_creat_tetra!=3))
15263 
15264  {
15265  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());
15266  check_to_go_further=5;
15267 
15268  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15269  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15270 
15271  }
15272 
15273  if((quall8>0.000001) && (check_not_to_creat_tetra!=3))
15274  {
15275  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());
15276  check_to_go_further=5;
15277 
15278  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15279  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15280 
15281 
15282  }
15283 
15284  if((quallo8>0.000001) && (check_not_to_creat_tetra!=3))
15285  {
15286  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());
15287  check_to_go_further=5;
15288 
15289  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15290  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15291 
15292 
15293  }
15294 
15295  if((quall9>0.000001) && (check_not_to_creat_tetra!=3))
15296  {
15297  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());
15298  check_to_go_further=5;
15299 
15300  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15301  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15302 
15303  }
15304 
15305  if((quallo9>0.000001) && (check_not_to_creat_tetra!=3))
15306  {
15307  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());
15308  check_to_go_further=5;
15309 
15310  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15311  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15312 
15313  }
15314  }
15315  if ((quall10>0.000001 || quallo10>0.000001) && (quall12>0.000001 || quallo12>0.000001) && (quall11>0.000001 || quallo11>0.000001) && (check_to_go_further==3))
15316  {
15317  check_not_to_creat_tetra=0;
15318  LISTE_MG_TRIANGLE::iterator it_tri_existed;
15319  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))
15320  {
15321  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()))))
15322  {
15323 
15324  check_to_creat_tetra=2;
15325 
15326  }
15327 
15328  else
15329 
15330  {
15331  check_not_to_creat_tetra=3;
15332 
15333  }
15334 
15335  }
15336 
15337  if((quall10>0.000001) && (check_not_to_creat_tetra!=3))
15338  {
15339  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());
15340 
15341  check_to_go_further=5;
15342 
15343  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15344  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15345 
15346  }
15347  if((quallo10>0.000001) && (check_not_to_creat_tetra!=3))
15348  {
15349  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());
15350 
15351  check_to_go_further=5;
15352 
15353  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15354  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15355 
15356  }
15357 
15358  if((quall11>0.000001) && (check_not_to_creat_tetra!=3))
15359  {
15360  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());
15361  check_to_go_further=5;
15362 
15363  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15364  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15365 
15366  }
15367  if((quallo11>0.000001) && (check_not_to_creat_tetra!=3))
15368  {
15369  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());
15370 
15371  check_to_go_further=5;
15372 
15373  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15374  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15375 
15376  }
15377  if((quall12>0.000001) && (check_not_to_creat_tetra!=3))
15378  {
15379  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());
15380  check_to_go_further=5;
15381 
15382  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15383  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15384 
15385  }
15386  if((quallo12>0.000001) && (check_not_to_creat_tetra!=3))
15387 
15388  {
15389  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());
15390  check_to_go_further=5;
15391 
15392  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15393  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15394 
15395  }
15396  }
15397  if ((quall13>0.000001 || quallo13>0.000001) && (quall14>0.000001 || quallo14>0.000001) && (quall15>0.000001 || quallo15>0.000001) && (check_to_go_further==3))
15398  {
15399  check_not_to_creat_tetra=0;
15400  LISTE_MG_TRIANGLE::iterator it_tri_existed;
15401  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))
15402 
15403  {
15404 
15405  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()))))
15406  {
15407 
15408 
15409  check_to_creat_tetra=2;
15410  }
15411 
15412  else
15413 
15414  {
15415  check_not_to_creat_tetra=3;
15416 
15417  }
15418 
15419  }
15420 
15421 
15422  if((quall13>0.000001) && (check_not_to_creat_tetra!=3))
15423  {
15424  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());
15425  check_to_go_further=5;
15426 
15427  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15428  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15429 
15430  }
15431 
15432  if((quallo13>0.000001) && (check_not_to_creat_tetra!=3))
15433  {
15434  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());
15435  check_to_go_further=5;
15436 
15437  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15438  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15439 
15440  }
15441 
15442  if((quall14>0.000001) && (check_not_to_creat_tetra!=3))
15443  {
15444  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());
15445 
15446  check_to_go_further=5;
15447 
15448  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15449  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15450  }
15451 
15452  if((quallo14>0.000001) && (check_not_to_creat_tetra!=3))
15453  {
15454  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());
15455 
15456  check_to_go_further=5;
15457 
15458  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15459  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15460 
15461  }
15462 
15463  if((quall15>0.000001) && (check_not_to_creat_tetra!=3))
15464  {
15465  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());
15466  check_to_go_further=5;
15467 
15468  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15469  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15470 
15471  }
15472 
15473  if((quallo15>0.000001) && (check_not_to_creat_tetra!=3))
15474  {
15475  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());
15476  check_to_go_further=5;
15477 
15478  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15479  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15480 
15481  }
15482  }
15483 
15484  if ((quall16>0.000001 || quallo16>0.000001) && (quall17>0.000001 || quallo17>0.000001) && (quall18>0.000001 || quallo18>0.000001) && (check_to_go_further==3))
15485  {
15486  check_not_to_creat_tetra=0;
15487  LISTE_MG_TRIANGLE::iterator it_tri_existed;
15488  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))
15489 
15490  {
15491 
15492  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()))))
15493  {
15494 
15495  check_to_creat_tetra=2;
15496  }
15497 
15498 
15499  else
15500 
15501  {
15502  check_not_to_creat_tetra=3;
15503 
15504  }
15505 
15506  }
15507 
15508  if((quall16>0.000001) && (check_not_to_creat_tetra!=3))
15509  {
15510  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());
15511 
15512  check_to_go_further=5;
15513 
15514  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15515  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15516 
15517  }
15518  if((quallo16>0.000001) && (check_not_to_creat_tetra!=3))
15519  {
15520  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());
15521 
15522  check_to_go_further=5;
15523 
15524  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15525  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15526 
15527  }
15528  if((quall17>0.000001) && (check_not_to_creat_tetra!=3))
15529  {
15530  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());
15531  check_to_go_further=5;
15532 
15533  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15534  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15535 
15536  }
15537  if((quallo17>0.000001) && (check_not_to_creat_tetra!=3))
15538  {
15539  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());
15540  check_to_go_further=5;
15541 
15542  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15543  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15544  }
15545  if((quall18>0.000001) && (check_not_to_creat_tetra!=3))
15546  {
15547  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());
15548 
15549  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15550  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15551 
15552  }
15553  if((quallo18>0.000001) && (check_not_to_creat_tetra!=3))
15554  {
15555  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());
15556  check_to_go_further=5;
15557 
15558  nb_tet_6nodes_accepted=nb_tet_6nodes_accepted+1;
15559  nb_tet_6nodes_accepted_2original=nb_tet_6nodes_accepted_2original+1;
15560  }
15561  }
15562  }
15563  }
15564  }
15565 
15566  if (check_to_go_further==3)
15567  {
15568  printf(" not createt 6--4!!!!!!!! \n\n");
15569  return;
15570  }
15571 
15572 
15573 
15574  lst_tri_already_existed.vide();
15575 
15576 
15577 
15578  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();
15579 
15580  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();
15581  lst_node_tri29.vide();lst_node_tri210.vide();
15582 
15583  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();
15584  lst_node_tri39.vide();lst_node_tri310.vide();
15585 
15586  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();
15587  lst_node_tri49.vide();lst_node_tri410.vide();
15588 
15589  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();
15590  lst_node_tri59.vide();lst_node_tri510.vide();
15591 
15592  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();
15593  lst_node_tri69.vide();lst_node_tri610.vide();
15594 }
15595 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)
15596  {
15597  TPL_MAP_ENTITE<MG_TETRA*> lst_tet_added;
15598  double qualite_min_3D=std::numeric_limits< double >::max();
15599  double qualite_max_3D=std::numeric_limits< double >::min();
15600  double qualite_moyenne_3D=0;
15601  TPL_MAP_ENTITE<MG_TRIANGLE*>lst_tri_already_existed;
15602 
15603  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;
15604 
15605  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;
15606 
15607  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;
15608 
15609  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;
15610 
15611  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;
15612 
15613  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;
15614  //--------------------------------------------------------------------------------------
15615 
15616  double quall1=0;double quall2=0;double quall3=0;double quall4=0;double quall5=0;
15617  double quallo1=0;double quallo2=0;double quallo3=0;double quallo4=0;double quallo5=0;
15618 
15619 
15620  for (int ll=0;ll<5;ll++)
15621  {
15622  int ntt=lst_node_in.get(ll)->get_lien_triangle()->get_nb();
15623  //===============================For each triangle of nb triangles of each node===============
15624  if(ntt>0)
15625  {
15626  for(int mm=0;mm<ntt;mm++)
15627  {
15628  MG_TRIANGLE* tri_related_nodee= lst_node_in.get(ll)->get_lien_triangle()->get(mm);
15629 
15630 
15631  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())))
15632  {
15633  lst_tri_already_existed.ajouter(tri_related_nodee);
15634  }}}}
15635 
15636  int check_not_to_creat_tetra=0;
15637  int check_to_creat_tetra=0;
15638  int check_to_go_further=3;
15639 
15640 
15641  // MG_SEGMENT* seg_related= map_correspondance_node_segment.find(lst_node_in.get(4))->second;
15642 
15643  int id_node_rel3= map_correspondance_node_node_in.find(lst_node_in.get(3))->second->get_id();
15644  int id_node_rel4= map_correspondance_node_node_in.find(lst_node_in.get(4))->second->get_id();
15645 
15646  if((id_node_rel3==lst_node_in.get(1)->get_id()) && (id_node_rel4==lst_node_in.get(2)->get_id()))
15647  {
15648 
15649  //=================================================================
15650 
15651  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());
15652 
15653  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());
15654 
15655  //----------------------------------------------------
15656  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());
15657 
15658  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());
15659 
15660  lst_node_tri11.ajouter(lst_node_in.get(0));
15661  lst_node_tri11.ajouter(lst_node_in.get(1));
15662  lst_node_tri11.ajouter(lst_node_in.get(2));
15663 
15664  lst_node_tri12.ajouter(lst_node_in.get(0));
15665  lst_node_tri12.ajouter(lst_node_in.get(1));
15666  lst_node_tri12.ajouter(lst_node_in.get(4));
15667 
15668  lst_node_tri13.ajouter(lst_node_in.get(0));
15669  lst_node_tri13.ajouter(lst_node_in.get(2));
15670  lst_node_tri13.ajouter(lst_node_in.get(4));
15671 
15672  lst_node_tri14.ajouter(lst_node_in.get(1));
15673  lst_node_tri14.ajouter(lst_node_in.get(2));
15674  lst_node_tri14.ajouter(lst_node_in.get(4));
15675 
15676  lst_node_tri15.ajouter(lst_node_in.get(0));
15677  lst_node_tri15.ajouter(lst_node_in.get(1));
15678  lst_node_tri15.ajouter(lst_node_in.get(3));
15679 
15680  lst_node_tri16.ajouter(lst_node_in.get(0));
15681  lst_node_tri16.ajouter(lst_node_in.get(3));
15682  lst_node_tri16.ajouter(lst_node_in.get(4));
15683 
15684 
15685  lst_node_tri17.ajouter(lst_node_in.get(1));
15686  lst_node_tri17.ajouter(lst_node_in.get(3));
15687  lst_node_tri17.ajouter(lst_node_in.get(4));
15688 
15689  //----------------------------------------------------
15690  //----------------------------------------------------
15691  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());
15692 
15693  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());
15694 
15695  //----------------------------------------------------
15696  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());
15697 
15698  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());
15699 
15700  lst_node_tri21.ajouter(lst_node_in.get(1));
15701  lst_node_tri21.ajouter(lst_node_in.get(2));
15702  lst_node_tri21.ajouter(lst_node_in.get(0));
15703 
15704  lst_node_tri22.ajouter(lst_node_in.get(0));
15705  lst_node_tri22.ajouter(lst_node_in.get(1));
15706  lst_node_tri22.ajouter(lst_node_in.get(3));
15707 
15708  lst_node_tri23.ajouter(lst_node_in.get(0));
15709  lst_node_tri23.ajouter(lst_node_in.get(2));
15710  lst_node_tri23.ajouter(lst_node_in.get(3));
15711 
15712  lst_node_tri24.ajouter(lst_node_in.get(1));
15713  lst_node_tri24.ajouter(lst_node_in.get(2));
15714  lst_node_tri24.ajouter(lst_node_in.get(3));
15715 
15716  lst_node_tri25.ajouter(lst_node_in.get(0));
15717  lst_node_tri25.ajouter(lst_node_in.get(2));
15718  lst_node_tri25.ajouter(lst_node_in.get(4));
15719 
15720  lst_node_tri26.ajouter(lst_node_in.get(0));
15721  lst_node_tri26.ajouter(lst_node_in.get(3));
15722  lst_node_tri26.ajouter(lst_node_in.get(4));
15723 
15724  lst_node_tri27.ajouter(lst_node_in.get(2));
15725  lst_node_tri27.ajouter(lst_node_in.get(3));
15726  lst_node_tri27.ajouter(lst_node_in.get(4));
15727 
15728  //----------------------------------------------------
15729  //----------------------------------------------------
15730 
15731  if (((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001)) && ((quall4+quallo4+quall5+quallo5)<(quall1+quallo1+quall2+quallo2)) )
15732  {
15733  check_not_to_creat_tetra=0;
15734  LISTE_MG_TRIANGLE::iterator it_tri_existed;
15735  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))
15736  {
15737  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()))))
15738  {
15739 
15740  check_to_creat_tetra=2;
15741  }
15742  else
15743 
15744  {
15745  check_not_to_creat_tetra=3;
15746 
15747  }
15748 
15749  }
15750 
15751  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
15752  {
15753  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());
15754  check_to_go_further=5;
15755 
15756  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15757 
15758  }
15759 
15760  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
15761  {
15762  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());
15763  check_to_go_further=5;
15764 
15765  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15766  }
15767 
15768  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
15769  {
15770  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()));
15771  check_to_go_further=5;
15772 
15773  qualite_moyenne_3D+=quall2;
15774  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
15775  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
15776 
15777  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15778  }
15779  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
15780  {
15781  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()));
15782  check_to_go_further=5;
15783 
15784  qualite_moyenne_3D+=quallo2;
15785  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
15786  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
15787 
15788  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15789  }
15790 
15791  }
15792  if (((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001)) && (check_to_go_further==3))
15793  {
15794  check_not_to_creat_tetra=0;
15795  LISTE_MG_TRIANGLE::iterator it_tri_existed;
15796  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))
15797  {
15798  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()))))
15799  {
15800  check_to_creat_tetra=2;
15801  }
15802  else
15803  {
15804  check_not_to_creat_tetra=3;
15805  }
15806  }
15807 
15808  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
15809  {
15810  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()));
15811  check_to_go_further=5;
15812 
15813  qualite_moyenne_3D+=quall4;
15814  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15815  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
15816  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
15817  }
15818 
15819  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
15820  {
15821  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()));
15822 
15823  check_to_go_further=5;
15824  qualite_moyenne_3D+=quall5;
15825  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15826  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
15827 
15828  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
15829 
15830  }
15831 
15832 
15833  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
15834  {
15835  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()));
15836  check_to_go_further=5;
15837  qualite_moyenne_3D+=quallo4;
15838  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15839  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
15840  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
15841 
15842  }
15843 
15844  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
15845  {
15846  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()));
15847  check_to_go_further=5;
15848  qualite_moyenne_3D+=quallo5;
15849  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15850  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
15851  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
15852 
15853 
15854  }
15855 
15856 
15857  }
15858 
15859 
15860  //============================================Second loop==============================================================
15861  if (check_to_go_further==3)
15862  {
15863  if ((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001))
15864  {
15865  check_not_to_creat_tetra=0;
15866  LISTE_MG_TRIANGLE::iterator it_tri_existed;
15867  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))
15868  {
15869  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()))))
15870  {
15871 
15872  check_to_creat_tetra=2;
15873  }
15874  else
15875 
15876  {
15877  check_not_to_creat_tetra=3;
15878 
15879  }
15880 
15881  }
15882 
15883  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
15884  {
15885  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()));
15886  check_to_go_further=5;
15887  qualite_moyenne_3D+=quall1;
15888  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15889  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
15890  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
15891  }
15892 
15893  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
15894  {
15895  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()));
15896  check_to_go_further=5;
15897  qualite_moyenne_3D+=quallo1;
15898  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
15899  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
15900  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15901  }
15902 
15903  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
15904  {
15905  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()));
15906  check_to_go_further=5;
15907 
15908  qualite_moyenne_3D+=quall2;
15909  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
15910  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
15911 
15912  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15913  }
15914  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
15915  {
15916  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()));
15917  check_to_go_further=5;
15918 
15919  qualite_moyenne_3D+=quallo2;
15920  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
15921  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
15922 
15923  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15924  }
15925 
15926  }
15927  if ((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (check_to_go_further==3))
15928  {
15929  check_not_to_creat_tetra=0;
15930  LISTE_MG_TRIANGLE::iterator it_tri_existed;
15931  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))
15932  {
15933  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()))))
15934  {
15935  check_to_creat_tetra=2;
15936  }
15937  else
15938  {
15939  check_not_to_creat_tetra=3;
15940  }
15941  }
15942 
15943  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
15944  {
15945  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()));
15946  check_to_go_further=5;
15947 
15948  qualite_moyenne_3D+=quall4;
15949  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15950  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
15951  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
15952  }
15953 
15954  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
15955  {
15956  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()));
15957 
15958  check_to_go_further=5;
15959  qualite_moyenne_3D+=quall5;
15960  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15961  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
15962 
15963  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
15964 
15965  }
15966 
15967 
15968  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
15969  {
15970  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()));
15971  check_to_go_further=5;
15972  qualite_moyenne_3D+=quallo4;
15973  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15974  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
15975  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
15976 
15977  }
15978 
15979  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
15980  {
15981  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()));
15982  check_to_go_further=5;
15983  qualite_moyenne_3D+=quallo5;
15984  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
15985  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
15986  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
15987 
15988 
15989  }
15990 
15991 
15992  }
15993 
15994  }
15995  //============================================Third loop==============================================================
15996  if (check_to_go_further==3)
15997  {
15998  if ((quall1>0.000001 || quallo1>0.000001) && (quall2>0.000001 || quallo2>0.000001))
15999  {
16000  check_not_to_creat_tetra=0;
16001  LISTE_MG_TRIANGLE::iterator it_tri_existed;
16002  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))
16003  {
16004  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()))))
16005  {
16006 
16007  check_to_creat_tetra=2;
16008  }
16009  else
16010 
16011  {
16012  check_not_to_creat_tetra=3;
16013 
16014  }
16015 
16016  }
16017 
16018  if ((quall1>0.00000001) && (check_not_to_creat_tetra!=3))
16019  {
16020  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()));
16021  check_to_go_further=5;
16022  qualite_moyenne_3D+=quall1;
16023  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16024  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
16025  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
16026  }
16027 
16028  if ((quallo1>0.00000001) && (check_not_to_creat_tetra!=3))
16029  {
16030  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()));
16031  check_to_go_further=5;
16032  qualite_moyenne_3D+=quallo1;
16033  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
16034  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
16035  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16036  }
16037 
16038  if ((quall2>0.00000001) && (check_not_to_creat_tetra!=3))
16039  {
16040  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()));
16041  check_to_go_further=5;
16042 
16043  qualite_moyenne_3D+=quall2;
16044  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
16045  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
16046  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16047  }
16048  if ((quallo2>0.00000001) && (check_not_to_creat_tetra!=3))
16049  {
16050  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()));
16051  check_to_go_further=5;
16052 
16053  qualite_moyenne_3D+=quallo2;
16054  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
16055  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
16056  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16057  }
16058 
16059  }
16060  if ((quall4>0.000001 || quallo4>0.000001) && (quall5>0.000001 || quallo5>0.000001) && (check_to_go_further==3))
16061  {
16062  check_not_to_creat_tetra=0;
16063  LISTE_MG_TRIANGLE::iterator it_tri_existed;
16064  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))
16065  {
16066  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()))))
16067  {
16068  check_to_creat_tetra=2;
16069  }
16070  else
16071  {
16072  check_not_to_creat_tetra=3;
16073  }
16074  }
16075 
16076  if((quall4>0.00000001) && (check_not_to_creat_tetra!=3))
16077  {
16078  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()));
16079  check_to_go_further=5;
16080 
16081  qualite_moyenne_3D+=quall4;
16082  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16083  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
16084  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
16085  }
16086 
16087  if((quall5>0.00000001) && (check_not_to_creat_tetra!=3))
16088  {
16089  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()));
16090 
16091  check_to_go_further=5;
16092  qualite_moyenne_3D+=quall5;
16093  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16094  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
16095 
16096  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
16097 
16098  }
16099 
16100 
16101  if((quallo4>0.00000001) && (check_not_to_creat_tetra!=3))
16102  {
16103  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()));
16104  check_to_go_further=5;
16105  qualite_moyenne_3D+=quallo4;
16106  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16107  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
16108  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
16109 
16110  }
16111 
16112  if((quallo5>0.00000001) && (check_not_to_creat_tetra!=3))
16113  {
16114  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()));
16115  check_to_go_further=5;
16116  qualite_moyenne_3D+=quallo5;
16117  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16118  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
16119  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
16120 
16121 
16122  }
16123 
16124 
16125  }
16126  }
16127 
16128  //==================================================================
16129 
16130  }
16131  else if((id_node_rel3==lst_node_in.get(2)->get_id()) && (id_node_rel4==lst_node_in.get(1)->get_id()))
16132  {
16133 
16134  //=================================================================
16135 
16136  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());
16137 
16138  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());
16139 
16140  //----------------------------------------------------
16141  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());
16142 
16143  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());
16144 
16145  lst_node_tri11.ajouter(lst_node_in.get(0));
16146  lst_node_tri11.ajouter(lst_node_in.get(1));
16147  lst_node_tri11.ajouter(lst_node_in.get(2));
16148 
16149  lst_node_tri12.ajouter(lst_node_in.get(0));
16150  lst_node_tri12.ajouter(lst_node_in.get(1));
16151  lst_node_tri12.ajouter(lst_node_in.get(4));
16152 
16153  lst_node_tri13.ajouter(lst_node_in.get(0));
16154  lst_node_tri13.ajouter(lst_node_in.get(2));
16155  lst_node_tri13.ajouter(lst_node_in.get(4));
16156 
16157  lst_node_tri14.ajouter(lst_node_in.get(1));
16158  lst_node_tri14.ajouter(lst_node_in.get(2));
16159  lst_node_tri14.ajouter(lst_node_in.get(4));
16160 
16161  lst_node_tri15.ajouter(lst_node_in.get(0));
16162  lst_node_tri15.ajouter(lst_node_in.get(2));
16163  lst_node_tri15.ajouter(lst_node_in.get(3));
16164 
16165  lst_node_tri16.ajouter(lst_node_in.get(0));
16166  lst_node_tri16.ajouter(lst_node_in.get(3));
16167  lst_node_tri16.ajouter(lst_node_in.get(4));
16168 
16169  lst_node_tri17.ajouter(lst_node_in.get(2));
16170  lst_node_tri17.ajouter(lst_node_in.get(3));
16171  lst_node_tri17.ajouter(lst_node_in.get(4));
16172 
16173  //----------------------------------------------------
16174  //----------------------------------------------------
16175  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());
16176 
16177  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());
16178 
16179  //----------------------------------------------------
16180  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());
16181 
16182  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());
16183 
16184  lst_node_tri21.ajouter(lst_node_in.get(1));
16185 
16186  lst_node_tri21.ajouter(lst_node_in.get(2));
16187  lst_node_tri21.ajouter(lst_node_in.get(0));
16188 
16189  lst_node_tri22.ajouter(lst_node_in.get(0));
16190  lst_node_tri22.ajouter(lst_node_in.get(1));
16191  lst_node_tri22.ajouter(lst_node_in.get(3));
16192 
16193  lst_node_tri23.ajouter(lst_node_in.get(0));
16194  lst_node_tri23.ajouter(lst_node_in.get(2));
16195  lst_node_tri23.ajouter(lst_node_in.get(3));
16196 
16197  lst_node_tri24.ajouter(lst_node_in.get(1));
16198  lst_node_tri24.ajouter(lst_node_in.get(2));
16199  lst_node_tri24.ajouter(lst_node_in.get(3));
16200 
16201  lst_node_tri25.ajouter(lst_node_in.get(0));
16202  lst_node_tri25.ajouter(lst_node_in.get(1));
16203  lst_node_tri25.ajouter(lst_node_in.get(4));
16204 
16205  lst_node_tri26.ajouter(lst_node_in.get(0));
16206  lst_node_tri26.ajouter(lst_node_in.get(3));
16207  lst_node_tri26.ajouter(lst_node_in.get(4));
16208 
16209  lst_node_tri27.ajouter(lst_node_in.get(1));
16210  lst_node_tri27.ajouter(lst_node_in.get(3));
16211  lst_node_tri27.ajouter(lst_node_in.get(4));
16212 
16213  //----------------------------------------------------
16214  //----------------------------------------------------
16215 
16216  if (((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001)) && ((quall4+quallo4+quall5+quallo5)<(quall1+quallo1+quall2+quallo2)) )
16217  {
16218  check_not_to_creat_tetra=0;
16219  LISTE_MG_TRIANGLE::iterator it_tri_existed;
16220  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))
16221  {
16222  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()))))
16223  {
16224 
16225  check_to_creat_tetra=2;
16226  }
16227 
16228  else
16229 
16230  {
16231  check_not_to_creat_tetra=3;
16232 
16233  }
16234 
16235  }
16236 
16237  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
16238  {
16239  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()));
16240  check_to_go_further=5;
16241  qualite_moyenne_3D+=quall1;
16242  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16243  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
16244  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
16245  }
16246 
16247  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
16248  {
16249  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()));
16250  check_to_go_further=5;
16251  qualite_moyenne_3D+=quallo1;
16252  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
16253  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
16254  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16255 
16256  }
16257 
16258  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
16259  {
16260  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()));
16261  check_to_go_further=5;
16262 
16263  qualite_moyenne_3D+=quall2;
16264  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
16265  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
16266 
16267  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16268  }
16269  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
16270  {
16271  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()));
16272  check_to_go_further=5;
16273 
16274  qualite_moyenne_3D+=quallo2;
16275  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
16276  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
16277 
16278  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16279  }
16280 
16281  }
16282  if (((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001)) && (check_to_go_further==3))
16283  {
16284  check_not_to_creat_tetra=0;
16285  LISTE_MG_TRIANGLE::iterator it_tri_existed;
16286  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))
16287  {
16288  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()))))
16289  {
16290  check_to_creat_tetra=2;
16291  }
16292  else
16293 
16294  {
16295  check_not_to_creat_tetra=3;
16296  }
16297  }
16298 
16299  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
16300  {
16301  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()));
16302  check_to_go_further=5;
16303  qualite_moyenne_3D+=quall4;
16304  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16305  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
16306  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
16307  }
16308 
16309  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
16310  {
16311  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()));
16312  check_to_go_further=5;
16313  qualite_moyenne_3D+=quall5;
16314  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16315  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
16316 
16317  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
16318 
16319  }
16320 
16321 
16322  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
16323  {
16324  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()));
16325  check_to_go_further=5;
16326  qualite_moyenne_3D+=quallo4;
16327  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16328  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
16329  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
16330 
16331  }
16332 
16333  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
16334  {
16335  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()));
16336  check_to_go_further=5;
16337  qualite_moyenne_3D+=quallo5;
16338  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16339  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
16340  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
16341 
16342  }
16343 
16344 
16345  }
16346 
16347  //============================================Second loop==============================================================
16348  if (check_to_go_further==3)
16349  {
16350  if ((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001))
16351  {
16352 
16353  check_not_to_creat_tetra=0;
16354  LISTE_MG_TRIANGLE::iterator it_tri_existed;
16355  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))
16356  {
16357  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()))))
16358  {
16359 
16360  check_to_creat_tetra=2;
16361  }
16362 
16363  else
16364 
16365  {
16366  check_not_to_creat_tetra=3;
16367 
16368  }
16369 
16370  }
16371 
16372  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
16373  {
16374  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()));
16375  check_to_go_further=5;
16376  qualite_moyenne_3D+=quall1;
16377  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16378  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
16379  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
16380  }
16381 
16382  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
16383  {
16384  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()));
16385  check_to_go_further=5;
16386  qualite_moyenne_3D+=quallo1;
16387  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
16388  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
16389  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16390 
16391  }
16392 
16393  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
16394  {
16395  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()));
16396  check_to_go_further=5;
16397 
16398  qualite_moyenne_3D+=quall2;
16399  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
16400  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
16401 
16402  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16403  }
16404  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
16405  {
16406  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()));
16407  check_to_go_further=5;
16408 
16409  qualite_moyenne_3D+=quallo2;
16410  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
16411  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
16412 
16413  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16414  }
16415 
16416  }
16417  if ((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (check_to_go_further==3))
16418  {
16419  check_not_to_creat_tetra=0;
16420  LISTE_MG_TRIANGLE::iterator it_tri_existed;
16421  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))
16422  {
16423  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()))))
16424  {
16425  check_to_creat_tetra=2;
16426  }
16427  else
16428 
16429  {
16430  check_not_to_creat_tetra=3;
16431  }
16432  }
16433 
16434  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
16435  {
16436  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()));
16437  check_to_go_further=5;
16438  qualite_moyenne_3D+=quall4;
16439  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16440  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
16441  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
16442  }
16443 
16444  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
16445  {
16446  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()));
16447  check_to_go_further=5;
16448  qualite_moyenne_3D+=quall5;
16449  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16450  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
16451 
16452  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
16453 
16454  }
16455 
16456 
16457  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
16458  {
16459  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()));
16460  check_to_go_further=5;
16461  qualite_moyenne_3D+=quallo4;
16462  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16463  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
16464  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
16465 
16466  }
16467 
16468  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
16469  {
16470  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()));
16471  check_to_go_further=5;
16472  qualite_moyenne_3D+=quallo5;
16473  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16474  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
16475  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
16476 
16477  }
16478 
16479 
16480  }
16481 
16482  }
16483  //============================================Third loop==============================================================
16484  if (check_to_go_further==3)
16485  {
16486  if ((quall1>0.000001 || quallo1>0.000001) && (quall2>0.000001 || quallo2>0.000001))
16487  {
16488  check_not_to_creat_tetra=0;
16489  LISTE_MG_TRIANGLE::iterator it_tri_existed;
16490  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))
16491  {
16492  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()))))
16493  {
16494 
16495  check_to_creat_tetra=2;
16496  }
16497 
16498  else
16499 
16500  {
16501  check_not_to_creat_tetra=3;
16502 
16503  }
16504 
16505  }
16506 
16507  if ((quall1>0.00000001) && (check_not_to_creat_tetra!=3))
16508  {
16509  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()));
16510  check_to_go_further=5;
16511  qualite_moyenne_3D+=quall1;
16512  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16513  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
16514  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
16515  }
16516 
16517  if ((quallo1>0.00000001) && (check_not_to_creat_tetra!=3))
16518  {
16519  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()));
16520  check_to_go_further=5;
16521  qualite_moyenne_3D+=quallo1;
16522  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
16523  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
16524  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16525 
16526  }
16527 
16528  if ((quall2>0.00000001) && (check_not_to_creat_tetra!=3))
16529  {
16530  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()));
16531  check_to_go_further=5;
16532 
16533  qualite_moyenne_3D+=quall2;
16534  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
16535  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
16536 
16537  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16538  }
16539  if ((quallo2>0.00000001) && (check_not_to_creat_tetra!=3))
16540  {
16541  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()));
16542  check_to_go_further=5;
16543 
16544  qualite_moyenne_3D+=quallo2;
16545  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
16546  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
16547 
16548  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16549  }
16550 
16551  }
16552  if ((quall4>0.000001 || quallo4>0.000001) && (quall5>0.000001 || quallo5>0.000001) && (check_to_go_further==3))
16553  {
16554  check_not_to_creat_tetra=0;
16555  LISTE_MG_TRIANGLE::iterator it_tri_existed;
16556  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))
16557  {
16558  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()))))
16559  {
16560  check_to_creat_tetra=2;
16561  }
16562  else
16563 
16564  {
16565  check_not_to_creat_tetra=3;
16566  }
16567  }
16568 
16569  if((quall4>0.00000001) && (check_not_to_creat_tetra!=3))
16570  {
16571  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()));
16572  check_to_go_further=5;
16573  qualite_moyenne_3D+=quall4;
16574  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16575  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
16576  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
16577  }
16578 
16579  if((quall5>0.00000001) && (check_not_to_creat_tetra!=3))
16580  {
16581  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()));
16582  check_to_go_further=5;
16583  qualite_moyenne_3D+=quall5;
16584  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16585  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
16586 
16587  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
16588 
16589  }
16590 
16591 
16592  if((quallo4>0.00000001) && (check_not_to_creat_tetra!=3))
16593  {
16594  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()));
16595  check_to_go_further=5;
16596  qualite_moyenne_3D+=quallo4;
16597  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16598  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
16599  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
16600 
16601  }
16602 
16603  if((quallo5>0.00000001) && (check_not_to_creat_tetra!=3))
16604  {
16605  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()));
16606  check_to_go_further=5;
16607  qualite_moyenne_3D+=quallo5;
16608  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16609  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
16610  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
16611 
16612  }
16613 
16614 
16615  }
16616  }
16617 
16618  //==================================================================
16619 
16620 
16621  }
16622  else if((id_node_rel3==lst_node_in.get(0)->get_id()) && (id_node_rel4==lst_node_in.get(2)->get_id()))
16623  {
16624 
16625  //=================================================================
16626 
16627  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());
16628 
16629 
16630  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());
16631 
16632  //----------------------------------------------------
16633  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());
16634 
16635  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());
16636 
16637  lst_node_tri11.ajouter(lst_node_in.get(0));
16638  lst_node_tri11.ajouter(lst_node_in.get(1));
16639  lst_node_tri11.ajouter(lst_node_in.get(2));
16640 
16641  lst_node_tri12.ajouter(lst_node_in.get(0));
16642  lst_node_tri12.ajouter(lst_node_in.get(1));
16643  lst_node_tri12.ajouter(lst_node_in.get(4));
16644 
16645  lst_node_tri13.ajouter(lst_node_in.get(0));
16646  lst_node_tri13.ajouter(lst_node_in.get(2));
16647  lst_node_tri13.ajouter(lst_node_in.get(4));
16648 
16649  lst_node_tri14.ajouter(lst_node_in.get(1));
16650  lst_node_tri14.ajouter(lst_node_in.get(2));
16651  lst_node_tri14.ajouter(lst_node_in.get(4));
16652 
16653  lst_node_tri15.ajouter(lst_node_in.get(0));
16654  lst_node_tri15.ajouter(lst_node_in.get(1));
16655  lst_node_tri15.ajouter(lst_node_in.get(3));
16656 
16657  lst_node_tri16.ajouter(lst_node_in.get(0));
16658  lst_node_tri16.ajouter(lst_node_in.get(3));
16659 
16660 
16661 
16662  lst_node_tri16.ajouter(lst_node_in.get(4));
16663 
16664  lst_node_tri17.ajouter(lst_node_in.get(1));
16665  lst_node_tri17.ajouter(lst_node_in.get(3));
16666  lst_node_tri17.ajouter(lst_node_in.get(4));
16667 
16668  //----------------------------------------------------
16669  //----------------------------------------------------
16670  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());
16671 
16672  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());
16673 
16674  //----------------------------------------------------
16675  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());
16676 
16677  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());
16678 
16679  lst_node_tri21.ajouter(lst_node_in.get(1));
16680  lst_node_tri21.ajouter(lst_node_in.get(2));
16681  lst_node_tri21.ajouter(lst_node_in.get(0));
16682 
16683  lst_node_tri22.ajouter(lst_node_in.get(0));
16684  lst_node_tri22.ajouter(lst_node_in.get(1));
16685  lst_node_tri22.ajouter(lst_node_in.get(3));
16686 
16687  lst_node_tri23.ajouter(lst_node_in.get(0));
16688  lst_node_tri23.ajouter(lst_node_in.get(2));
16689  lst_node_tri23.ajouter(lst_node_in.get(3));
16690 
16691  lst_node_tri24.ajouter(lst_node_in.get(1));
16692  lst_node_tri24.ajouter(lst_node_in.get(2));
16693  lst_node_tri24.ajouter(lst_node_in.get(3));
16694 
16695  lst_node_tri25.ajouter(lst_node_in.get(1));
16696  lst_node_tri25.ajouter(lst_node_in.get(2));
16697  lst_node_tri25.ajouter(lst_node_in.get(4));
16698 
16699  lst_node_tri26.ajouter(lst_node_in.get(1));
16700  lst_node_tri26.ajouter(lst_node_in.get(3));
16701  lst_node_tri26.ajouter(lst_node_in.get(4));
16702 
16703  lst_node_tri27.ajouter(lst_node_in.get(2));
16704 
16705  lst_node_tri27.ajouter(lst_node_in.get(3));
16706  lst_node_tri27.ajouter(lst_node_in.get(4));
16707 
16708  //----------------------------------------------------
16709  //----------------------------------------------------
16710 
16711  if (((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001)) && ((quall4+quallo4+quall5+quallo5)<(quall1+quallo1+quall2+quallo2)) )
16712  {
16713  check_not_to_creat_tetra=0;
16714  LISTE_MG_TRIANGLE::iterator it_tri_existed;
16715  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))
16716  {
16717  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()))))
16718  {
16719 
16720  check_to_creat_tetra=2;
16721  }
16722  else
16723 
16724  {
16725  check_not_to_creat_tetra=3;
16726 
16727 
16728  }
16729 
16730  }
16731 
16732  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
16733  {
16734  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()));
16735  check_to_go_further=5;
16736  qualite_moyenne_3D+=quall1;
16737  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16738  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
16739  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
16740  }
16741 
16742  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
16743  {
16744  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()));
16745  check_to_go_further=5;
16746 
16747  qualite_moyenne_3D+=quallo1;
16748  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
16749  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
16750 
16751  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16752  }
16753 
16754  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
16755  {
16756  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()));
16757  check_to_go_further=5;
16758 
16759  qualite_moyenne_3D+=quall2;
16760  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
16761  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
16762 
16763  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16764  }
16765  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
16766  {
16767  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()));
16768  check_to_go_further=5;
16769 
16770  qualite_moyenne_3D+=quallo2;
16771  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
16772  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
16773 
16774  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16775  }
16776 
16777  }
16778  if (((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001)) && (check_to_go_further==3))
16779  {
16780  check_not_to_creat_tetra=0;
16781  LISTE_MG_TRIANGLE::iterator it_tri_existed;
16782  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))
16783  {
16784  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()))))
16785  {
16786  check_to_creat_tetra=2;
16787  }
16788  else
16789  {
16790  check_not_to_creat_tetra=3;
16791  }
16792  }
16793 
16794  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
16795  {
16796  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()));
16797  check_to_go_further=5;
16798  qualite_moyenne_3D+=quall4;
16799  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16800  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
16801  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
16802  }
16803 
16804  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
16805  {
16806  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()));
16807  check_to_go_further=5;
16808  qualite_moyenne_3D+=quall5;
16809  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16810 
16811  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
16812 
16813  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
16814 
16815 
16816  }
16817 
16818 
16819  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
16820  {
16821  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()));
16822  check_to_go_further=5;
16823  qualite_moyenne_3D+=quallo4;
16824  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16825  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
16826  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
16827 
16828  }
16829 
16830  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
16831  {
16832  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()));
16833  check_to_go_further=5;
16834  qualite_moyenne_3D+=quallo5;
16835  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16836  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
16837  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
16838 
16839  }
16840 
16841 
16842  }
16843 
16844  //============================================Second loop==============================================================
16845  if (check_to_go_further==3)
16846  {
16847  if ((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001))
16848  {
16849  check_not_to_creat_tetra=0;
16850  LISTE_MG_TRIANGLE::iterator it_tri_existed;
16851  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))
16852  {
16853  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()))))
16854  {
16855 
16856  check_to_creat_tetra=2;
16857  }
16858  else
16859 
16860  {
16861  check_not_to_creat_tetra=3;
16862 
16863 
16864  }
16865 
16866  }
16867 
16868  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
16869  {
16870  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()));
16871  check_to_go_further=5;
16872  qualite_moyenne_3D+=quall1;
16873  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16874  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
16875  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
16876  }
16877 
16878  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
16879  {
16880  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()));
16881  check_to_go_further=5;
16882 
16883  qualite_moyenne_3D+=quallo1;
16884  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
16885  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
16886 
16887  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16888  }
16889 
16890  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
16891  {
16892  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()));
16893  check_to_go_further=5;
16894 
16895  qualite_moyenne_3D+=quall2;
16896  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
16897  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
16898 
16899  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16900  }
16901  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
16902  {
16903  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()));
16904  check_to_go_further=5;
16905 
16906  qualite_moyenne_3D+=quallo2;
16907  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
16908  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
16909 
16910  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16911  }
16912 
16913  }
16914  if ((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (check_to_go_further==3))
16915  {
16916  check_not_to_creat_tetra=0;
16917  LISTE_MG_TRIANGLE::iterator it_tri_existed;
16918  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))
16919  {
16920  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()))))
16921  {
16922  check_to_creat_tetra=2;
16923  }
16924  else
16925  {
16926  check_not_to_creat_tetra=3;
16927  }
16928  }
16929 
16930  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
16931  {
16932  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()));
16933  check_to_go_further=5;
16934  qualite_moyenne_3D+=quall4;
16935  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16936  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
16937  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
16938  }
16939 
16940  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
16941  {
16942  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()));
16943  check_to_go_further=5;
16944  qualite_moyenne_3D+=quall5;
16945  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16946 
16947  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
16948 
16949  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
16950 
16951 
16952  }
16953 
16954 
16955  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
16956  {
16957  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()));
16958  check_to_go_further=5;
16959  qualite_moyenne_3D+=quallo4;
16960  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16961  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
16962  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
16963 
16964  }
16965 
16966  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
16967  {
16968  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()));
16969  check_to_go_further=5;
16970  qualite_moyenne_3D+=quallo5;
16971  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
16972  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
16973  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
16974 
16975  }
16976 
16977 
16978  }
16979 
16980  }
16981  //============================================Third loop==============================================================
16982  if (check_to_go_further==3)
16983  {
16984  if ((quall1>0.000001 || quallo1>0.000001) && (quall2>0.000001 || quallo2>0.000001))
16985  {
16986  check_not_to_creat_tetra=0;
16987  LISTE_MG_TRIANGLE::iterator it_tri_existed;
16988  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))
16989  {
16990  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()))))
16991  {
16992 
16993  check_to_creat_tetra=2;
16994  }
16995  else
16996 
16997  {
16998  check_not_to_creat_tetra=3;
16999 
17000 
17001  }
17002 
17003  }
17004 
17005  if ((quall1>0.00000001) && (check_not_to_creat_tetra!=3))
17006  {
17007  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()));
17008  check_to_go_further=5;
17009  qualite_moyenne_3D+=quall1;
17010  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17011  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
17012  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
17013  }
17014 
17015  if ((quallo1>0.00000001) && (check_not_to_creat_tetra!=3))
17016  {
17017  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()));
17018  check_to_go_further=5;
17019 
17020  qualite_moyenne_3D+=quallo1;
17021  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
17022  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
17023 
17024  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17025  }
17026 
17027  if ((quall2>0.00000001) && (check_not_to_creat_tetra!=3))
17028  {
17029  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()));
17030  check_to_go_further=5;
17031 
17032  qualite_moyenne_3D+=quall2;
17033  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
17034  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
17035 
17036  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17037  }
17038  if ((quallo2>0.00000001) && (check_not_to_creat_tetra!=3))
17039  {
17040  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()));
17041  check_to_go_further=5;
17042 
17043  qualite_moyenne_3D+=quallo2;
17044  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
17045  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
17046 
17047  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17048  }
17049 
17050  }
17051  if ((quall4>0.000001 || quallo4>0.000001) && (quall5>0.000001 || quallo5>0.000001) && (check_to_go_further==3))
17052  {
17053  check_not_to_creat_tetra=0;
17054  LISTE_MG_TRIANGLE::iterator it_tri_existed;
17055  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))
17056  {
17057  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()))))
17058  {
17059  check_to_creat_tetra=2;
17060  }
17061  else
17062  {
17063  check_not_to_creat_tetra=3;
17064  }
17065  }
17066 
17067  if((quall4>0.00000001) && (check_not_to_creat_tetra!=3))
17068  {
17069  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()));
17070  check_to_go_further=5;
17071  qualite_moyenne_3D+=quall4;
17072  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17073  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
17074  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
17075  }
17076 
17077  if((quall5>0.00000001) && (check_not_to_creat_tetra!=3))
17078  {
17079  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()));
17080  check_to_go_further=5;
17081  qualite_moyenne_3D+=quall5;
17082  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17083 
17084  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
17085 
17086  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
17087 
17088 
17089  }
17090 
17091 
17092  if((quallo4>0.00000001) && (check_not_to_creat_tetra!=3))
17093  {
17094  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()));
17095  check_to_go_further=5;
17096  qualite_moyenne_3D+=quallo4;
17097  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17098  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
17099  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
17100 
17101  }
17102 
17103  if((quallo5>0.00000001) && (check_not_to_creat_tetra!=3))
17104  {
17105  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()));
17106  check_to_go_further=5;
17107  qualite_moyenne_3D+=quallo5;
17108  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17109  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
17110  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
17111 
17112  }
17113 
17114 
17115  }
17116  }
17117 
17118  //==================================================================
17119 
17120  }
17121  else if((id_node_rel3==lst_node_in.get(2)->get_id()) && (id_node_rel4==lst_node_in.get(0)->get_id()))
17122  {
17123 
17124  //=================================================================
17125 
17126  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());
17127 
17128  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());
17129 
17130  //----------------------------------------------------
17131  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());
17132 
17133  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());
17134 
17135  lst_node_tri11.ajouter(lst_node_in.get(0));
17136  lst_node_tri11.ajouter(lst_node_in.get(1));
17137  lst_node_tri11.ajouter(lst_node_in.get(2));
17138 
17139  lst_node_tri12.ajouter(lst_node_in.get(0));
17140  lst_node_tri12.ajouter(lst_node_in.get(1));
17141  lst_node_tri12.ajouter(lst_node_in.get(4));
17142 
17143  lst_node_tri13.ajouter(lst_node_in.get(0));
17144  lst_node_tri13.ajouter(lst_node_in.get(2));
17145  lst_node_tri13.ajouter(lst_node_in.get(4));
17146 
17147  lst_node_tri14.ajouter(lst_node_in.get(1));
17148  lst_node_tri14.ajouter(lst_node_in.get(2));
17149  lst_node_tri14.ajouter(lst_node_in.get(4));
17150 
17151  lst_node_tri15.ajouter(lst_node_in.get(2));
17152  lst_node_tri15.ajouter(lst_node_in.get(1));
17153  lst_node_tri15.ajouter(lst_node_in.get(3));
17154 
17155  lst_node_tri16.ajouter(lst_node_in.get(2));
17156  lst_node_tri16.ajouter(lst_node_in.get(3));
17157  lst_node_tri16.ajouter(lst_node_in.get(4));
17158 
17159  lst_node_tri17.ajouter(lst_node_in.get(1));
17160  lst_node_tri17.ajouter(lst_node_in.get(3));
17161  lst_node_tri17.ajouter(lst_node_in.get(4));
17162 
17163  //----------------------------------------------------
17164  //----------------------------------------------------
17165  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());
17166 
17167  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());
17168 
17169  //----------------------------------------------------
17170  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());
17171 
17172  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());
17173 
17174  lst_node_tri21.ajouter(lst_node_in.get(1));
17175  lst_node_tri21.ajouter(lst_node_in.get(2));
17176  lst_node_tri21.ajouter(lst_node_in.get(0));
17177 
17178  lst_node_tri22.ajouter(lst_node_in.get(0));
17179  lst_node_tri22.ajouter(lst_node_in.get(1));
17180  lst_node_tri22.ajouter(lst_node_in.get(3));
17181 
17182  lst_node_tri23.ajouter(lst_node_in.get(0));
17183  lst_node_tri23.ajouter(lst_node_in.get(2));
17184  lst_node_tri23.ajouter(lst_node_in.get(3));
17185 
17186  lst_node_tri24.ajouter(lst_node_in.get(1));
17187  lst_node_tri24.ajouter(lst_node_in.get(2));
17188  lst_node_tri24.ajouter(lst_node_in.get(3));
17189 
17190  lst_node_tri25.ajouter(lst_node_in.get(1));
17191  lst_node_tri25.ajouter(lst_node_in.get(0));
17192  lst_node_tri25.ajouter(lst_node_in.get(4));
17193 
17194  lst_node_tri26.ajouter(lst_node_in.get(1));
17195  lst_node_tri26.ajouter(lst_node_in.get(3));
17196  lst_node_tri26.ajouter(lst_node_in.get(4));
17197 
17198  lst_node_tri27.ajouter(lst_node_in.get(0));
17199  lst_node_tri27.ajouter(lst_node_in.get(3));
17200  lst_node_tri27.ajouter(lst_node_in.get(4));
17201 
17202  //----------------------------------------------------
17203  //----------------------------------------------------
17204 
17205  if (((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001)) && ((quall4+quallo4+quall5+quallo5)<(quall1+quallo1+quall2+quallo2)) )
17206  {
17207  check_not_to_creat_tetra=0;
17208  LISTE_MG_TRIANGLE::iterator it_tri_existed;
17209  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))
17210  {
17211  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()))))
17212  {
17213 
17214  check_to_creat_tetra=2;
17215  }
17216  else
17217 
17218  {
17219  check_not_to_creat_tetra=3;
17220 
17221  }
17222 
17223  }
17224 
17225  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
17226  {
17227  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()));
17228  check_to_go_further=5;
17229  qualite_moyenne_3D+=quall1;
17230  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17231  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
17232  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
17233  }
17234 
17235  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
17236  {
17237 
17238  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()));
17239  check_to_go_further=5;
17240  qualite_moyenne_3D+=quallo1;
17241 
17242  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
17243  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
17244  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17245  }
17246 
17247  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
17248  {
17249  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()));
17250  check_to_go_further=5;
17251 
17252  qualite_moyenne_3D+=quall2;
17253  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
17254  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
17255 
17256  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17257  }
17258  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
17259  {
17260  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()));
17261  check_to_go_further=5;
17262 
17263  qualite_moyenne_3D+=quallo2;
17264  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
17265  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
17266 
17267  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17268  }
17269 
17270  }
17271  if (((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001)) && (check_to_go_further==3))
17272  {
17273  check_not_to_creat_tetra=0;
17274  LISTE_MG_TRIANGLE::iterator it_tri_existed;
17275  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))
17276  {
17277  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()))))
17278  {
17279  check_to_creat_tetra=2;
17280  }
17281  else
17282  {
17283  check_not_to_creat_tetra=3;
17284  }
17285  }
17286 
17287  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
17288  {
17289  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()));
17290  check_to_go_further=5;
17291  qualite_moyenne_3D+=quall4;
17292  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17293  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
17294  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
17295  }
17296 
17297  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
17298  {
17299  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()));
17300  check_to_go_further=5;
17301  qualite_moyenne_3D+=quall5;
17302 
17303  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17304  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
17305 
17306  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
17307 
17308  }
17309 
17310 
17311  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
17312  {
17313  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()));
17314  check_to_go_further=5;
17315  qualite_moyenne_3D+=quallo4;
17316  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17317  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
17318  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
17319 
17320  }
17321 
17322  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
17323  {
17324  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()));
17325  check_to_go_further=5;
17326  qualite_moyenne_3D+=quallo5;
17327  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17328  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
17329  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
17330 
17331  }
17332 
17333 
17334  }
17335 
17336  //============================================Second loop==============================================================
17337  if (check_to_go_further==3)
17338  {
17339  if ((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001))
17340  {
17341  check_not_to_creat_tetra=0;
17342  LISTE_MG_TRIANGLE::iterator it_tri_existed;
17343  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))
17344  {
17345  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()))))
17346  {
17347 
17348  check_to_creat_tetra=2;
17349  }
17350  else
17351 
17352  {
17353  check_not_to_creat_tetra=3;
17354 
17355  }
17356 
17357  }
17358 
17359  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
17360  {
17361  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()));
17362  check_to_go_further=5;
17363  qualite_moyenne_3D+=quall1;
17364  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17365  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
17366  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
17367  }
17368 
17369  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
17370  {
17371 
17372  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()));
17373  check_to_go_further=5;
17374  qualite_moyenne_3D+=quallo1;
17375 
17376  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
17377  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
17378  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17379  }
17380 
17381  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
17382  {
17383  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()));
17384  check_to_go_further=5;
17385 
17386  qualite_moyenne_3D+=quall2;
17387  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
17388  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
17389 
17390  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17391  }
17392  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
17393  {
17394  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()));
17395  check_to_go_further=5;
17396 
17397  qualite_moyenne_3D+=quallo2;
17398  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
17399  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
17400 
17401  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17402  }
17403 
17404  }
17405  if ((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (check_to_go_further==3))
17406  {
17407  check_not_to_creat_tetra=0;
17408  LISTE_MG_TRIANGLE::iterator it_tri_existed;
17409  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))
17410  {
17411  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()))))
17412  {
17413  check_to_creat_tetra=2;
17414  }
17415  else
17416  {
17417  check_not_to_creat_tetra=3;
17418  }
17419  }
17420 
17421  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
17422  {
17423  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()));
17424  check_to_go_further=5;
17425  qualite_moyenne_3D+=quall4;
17426  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17427  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
17428  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
17429  }
17430 
17431  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
17432  {
17433  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()));
17434  check_to_go_further=5;
17435  qualite_moyenne_3D+=quall5;
17436 
17437  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17438  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
17439 
17440  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
17441 
17442  }
17443 
17444 
17445  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
17446  {
17447  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()));
17448  check_to_go_further=5;
17449  qualite_moyenne_3D+=quallo4;
17450  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17451  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
17452  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
17453 
17454  }
17455 
17456  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
17457  {
17458  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()));
17459  check_to_go_further=5;
17460  qualite_moyenne_3D+=quallo5;
17461  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17462  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
17463  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
17464 
17465  }
17466 
17467 
17468  }
17469 
17470  }
17471  //============================================Third loop==============================================================
17472  if (check_to_go_further==3)
17473  {
17474  if ((quall1>0.000001 || quallo1>0.000001) && (quall2>0.000001 || quallo2>0.000001))
17475  {
17476  check_not_to_creat_tetra=0;
17477  LISTE_MG_TRIANGLE::iterator it_tri_existed;
17478  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))
17479  {
17480  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()))))
17481  {
17482 
17483  check_to_creat_tetra=2;
17484  }
17485  else
17486 
17487  {
17488  check_not_to_creat_tetra=3;
17489 
17490  }
17491 
17492  }
17493 
17494  if ((quall1>0.00000001) && (check_not_to_creat_tetra!=3))
17495  {
17496  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()));
17497  check_to_go_further=5;
17498  qualite_moyenne_3D+=quall1;
17499  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17500  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
17501  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
17502  }
17503 
17504  if ((quallo1>0.00000001) && (check_not_to_creat_tetra!=3))
17505  {
17506 
17507  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()));
17508  check_to_go_further=5;
17509  qualite_moyenne_3D+=quallo1;
17510 
17511  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
17512  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
17513  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17514  }
17515 
17516  if ((quall2>0.00000001) && (check_not_to_creat_tetra!=3))
17517  {
17518  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()));
17519  check_to_go_further=5;
17520 
17521  qualite_moyenne_3D+=quall2;
17522  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
17523  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
17524 
17525  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17526  }
17527  if ((quallo2>0.00000001) && (check_not_to_creat_tetra!=3))
17528  {
17529  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()));
17530  check_to_go_further=5;
17531 
17532  qualite_moyenne_3D+=quallo2;
17533  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
17534  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
17535 
17536  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17537  }
17538 
17539  }
17540  if ((quall4>0.000001 || quallo4>0.000001) && (quall5>0.000001 || quallo5>0.000001) && (check_to_go_further==3))
17541  {
17542  check_not_to_creat_tetra=0;
17543  LISTE_MG_TRIANGLE::iterator it_tri_existed;
17544  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))
17545  {
17546  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()))))
17547  {
17548  check_to_creat_tetra=2;
17549  }
17550  else
17551  {
17552  check_not_to_creat_tetra=3;
17553  }
17554  }
17555 
17556  if((quall4>0.00000001) && (check_not_to_creat_tetra!=3))
17557  {
17558  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()));
17559  check_to_go_further=5;
17560  qualite_moyenne_3D+=quall4;
17561  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17562  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
17563  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
17564  }
17565 
17566  if((quall5>0.00000001) && (check_not_to_creat_tetra!=3))
17567  {
17568  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()));
17569  check_to_go_further=5;
17570  qualite_moyenne_3D+=quall5;
17571 
17572  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17573  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
17574 
17575  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
17576 
17577  }
17578 
17579 
17580  if((quallo4>0.00000001) && (check_not_to_creat_tetra!=3))
17581  {
17582  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()));
17583  check_to_go_further=5;
17584  qualite_moyenne_3D+=quallo4;
17585  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17586  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
17587  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
17588 
17589  }
17590 
17591  if((quallo5>0.00000001) && (check_not_to_creat_tetra!=3))
17592  {
17593  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()));
17594  check_to_go_further=5;
17595  qualite_moyenne_3D+=quallo5;
17596  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17597  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
17598  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
17599 
17600  }
17601 
17602 
17603  }
17604  }
17605 
17606 
17607 
17608  //==================================================================
17609 
17610  }
17611  else if((id_node_rel3==lst_node_in.get(0)->get_id()) && (id_node_rel4==lst_node_in.get(1)->get_id()))
17612  {
17613 
17614  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());
17615 
17616  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());
17617 
17618  //----------------------------------------------------
17619  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());
17620 
17621  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());
17622 
17623  lst_node_tri11.ajouter(lst_node_in.get(0));
17624  lst_node_tri11.ajouter(lst_node_in.get(1));
17625  lst_node_tri11.ajouter(lst_node_in.get(2));
17626 
17627  lst_node_tri12.ajouter(lst_node_in.get(0));
17628  lst_node_tri12.ajouter(lst_node_in.get(1));
17629  lst_node_tri12.ajouter(lst_node_in.get(3));
17630 
17631  lst_node_tri13.ajouter(lst_node_in.get(0));
17632  lst_node_tri13.ajouter(lst_node_in.get(2));
17633  lst_node_tri13.ajouter(lst_node_in.get(3));
17634 
17635  lst_node_tri14.ajouter(lst_node_in.get(1));
17636  lst_node_tri14.ajouter(lst_node_in.get(2));
17637  lst_node_tri14.ajouter(lst_node_in.get(3));
17638 
17639  lst_node_tri15.ajouter(lst_node_in.get(2));
17640  lst_node_tri15.ajouter(lst_node_in.get(1));
17641  lst_node_tri15.ajouter(lst_node_in.get(4));
17642 
17643 
17644  lst_node_tri16.ajouter(lst_node_in.get(2));
17645  lst_node_tri16.ajouter(lst_node_in.get(3));
17646  lst_node_tri16.ajouter(lst_node_in.get(4));
17647 
17648  lst_node_tri17.ajouter(lst_node_in.get(1));
17649  lst_node_tri17.ajouter(lst_node_in.get(3));
17650  lst_node_tri17.ajouter(lst_node_in.get(4));
17651 
17652  //----------------------------------------------------
17653  //----------------------------------------------------
17654  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());
17655 
17656  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());
17657 
17658  //----------------------------------------------------
17659  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());
17660 
17661  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());
17662 
17663  lst_node_tri21.ajouter(lst_node_in.get(1));
17664  lst_node_tri21.ajouter(lst_node_in.get(2));
17665  lst_node_tri21.ajouter(lst_node_in.get(0));
17666 
17667  lst_node_tri22.ajouter(lst_node_in.get(0));
17668  lst_node_tri22.ajouter(lst_node_in.get(1));
17669  lst_node_tri22.ajouter(lst_node_in.get(4));
17670 
17671  lst_node_tri23.ajouter(lst_node_in.get(0));
17672  lst_node_tri23.ajouter(lst_node_in.get(2));
17673  lst_node_tri23.ajouter(lst_node_in.get(4));
17674 
17675  lst_node_tri24.ajouter(lst_node_in.get(1));
17676  lst_node_tri24.ajouter(lst_node_in.get(2));
17677  lst_node_tri24.ajouter(lst_node_in.get(4));
17678 
17679  lst_node_tri25.ajouter(lst_node_in.get(0));
17680  lst_node_tri25.ajouter(lst_node_in.get(3));
17681  lst_node_tri25.ajouter(lst_node_in.get(4));
17682 
17683  lst_node_tri26.ajouter(lst_node_in.get(2));
17684  lst_node_tri26.ajouter(lst_node_in.get(3));
17685  lst_node_tri26.ajouter(lst_node_in.get(4));
17686 
17687  lst_node_tri27.ajouter(lst_node_in.get(0));
17688  lst_node_tri27.ajouter(lst_node_in.get(3));
17689  lst_node_tri27.ajouter(lst_node_in.get(2));
17690 
17691  //----------------------------------------------------
17692  //----------------------------------------------------
17693 
17694  if (((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001)) && ((quall4+quallo4+quall5+quallo5)<(quall1+quallo1+quall2+quallo2)) )
17695  {
17696  check_not_to_creat_tetra=0;
17697  LISTE_MG_TRIANGLE::iterator it_tri_existed;
17698  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))
17699  {
17700  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()))))
17701  {
17702 
17703  check_to_creat_tetra=2;
17704  }
17705  else
17706 
17707  {
17708  check_not_to_creat_tetra=3;
17709 
17710  }
17711 
17712  }
17713 
17714  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
17715  {
17716  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()));
17717  check_to_go_further=5;
17718  qualite_moyenne_3D+=quall1;
17719  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17720  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
17721  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
17722  }
17723 
17724  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
17725  {
17726 
17727  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()));
17728  check_to_go_further=5;
17729  qualite_moyenne_3D+=quallo1;
17730 
17731  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
17732  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
17733  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17734  }
17735 
17736  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
17737  {
17738  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()));
17739  check_to_go_further=5;
17740 
17741  qualite_moyenne_3D+=quall2;
17742  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
17743  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
17744 
17745  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17746  }
17747  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
17748  {
17749  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()));
17750  check_to_go_further=5;
17751 
17752  qualite_moyenne_3D+=quallo2;
17753  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
17754  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
17755 
17756  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17757  }
17758 
17759  }
17760  if (((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001)) && (check_to_go_further==3))
17761  {
17762  check_not_to_creat_tetra=0;
17763  LISTE_MG_TRIANGLE::iterator it_tri_existed;
17764  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))
17765  {
17766  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()))))
17767  {
17768  check_to_creat_tetra=2;
17769  }
17770  else
17771  {
17772  check_not_to_creat_tetra=3;
17773  }
17774  }
17775 
17776  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
17777  {
17778  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()));
17779  check_to_go_further=5;
17780  qualite_moyenne_3D+=quall4;
17781  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17782  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
17783  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
17784  }
17785 
17786  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
17787  {
17788  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()));
17789  check_to_go_further=5;
17790  qualite_moyenne_3D+=quall5;
17791 
17792  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17793  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
17794 
17795  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
17796 
17797  }
17798 
17799 
17800  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
17801  {
17802  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()));
17803  check_to_go_further=5;
17804  qualite_moyenne_3D+=quallo4;
17805  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17806  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
17807  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
17808 
17809  }
17810 
17811  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
17812  {
17813  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()));
17814 
17815  check_to_go_further=5;
17816  qualite_moyenne_3D+=quallo5;
17817  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17818  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
17819  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
17820 
17821  }
17822 
17823 
17824  }
17825 
17826  //============================================Second loop==============================================================
17827  if (check_to_go_further==3)
17828  {
17829  if ((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001))
17830  {
17831  check_not_to_creat_tetra=0;
17832  LISTE_MG_TRIANGLE::iterator it_tri_existed;
17833  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))
17834  {
17835  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()))))
17836  {
17837 
17838  check_to_creat_tetra=2;
17839  }
17840  else
17841 
17842  {
17843  check_not_to_creat_tetra=3;
17844 
17845  }
17846 
17847  }
17848 
17849  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
17850  {
17851  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()));
17852  check_to_go_further=5;
17853  qualite_moyenne_3D+=quall1;
17854  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17855  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
17856  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
17857  }
17858 
17859  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
17860  {
17861 
17862  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()));
17863  check_to_go_further=5;
17864  qualite_moyenne_3D+=quallo1;
17865 
17866  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
17867  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
17868  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17869  }
17870 
17871  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
17872  {
17873  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()));
17874  check_to_go_further=5;
17875 
17876  qualite_moyenne_3D+=quall2;
17877  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
17878  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
17879 
17880  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17881  }
17882  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
17883  {
17884  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()));
17885  check_to_go_further=5;
17886 
17887  qualite_moyenne_3D+=quallo2;
17888  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
17889  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
17890 
17891  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17892  }
17893 
17894  }
17895  if ((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (check_to_go_further==3))
17896  {
17897  check_not_to_creat_tetra=0;
17898  LISTE_MG_TRIANGLE::iterator it_tri_existed;
17899  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))
17900  {
17901  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()))))
17902  {
17903  check_to_creat_tetra=2;
17904  }
17905  else
17906  {
17907  check_not_to_creat_tetra=3;
17908  }
17909  }
17910 
17911  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
17912  {
17913  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()));
17914  check_to_go_further=5;
17915  qualite_moyenne_3D+=quall4;
17916  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17917  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
17918  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
17919  }
17920 
17921  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
17922  {
17923  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()));
17924  check_to_go_further=5;
17925  qualite_moyenne_3D+=quall5;
17926 
17927  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17928  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
17929 
17930  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
17931 
17932  }
17933 
17934 
17935  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
17936  {
17937  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()));
17938  check_to_go_further=5;
17939  qualite_moyenne_3D+=quallo4;
17940  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17941  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
17942  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
17943 
17944  }
17945 
17946  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
17947  {
17948  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()));
17949 
17950  check_to_go_further=5;
17951  qualite_moyenne_3D+=quallo5;
17952  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17953  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
17954  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
17955 
17956  }
17957 
17958 
17959  }
17960 
17961  }
17962  //============================================Third loop==============================================================
17963  if (check_to_go_further==3)
17964  {
17965  if ((quall1>0.000001 || quallo1>0.000001) && (quall2>0.000001 || quallo2>0.000001))
17966  {
17967  check_not_to_creat_tetra=0;
17968  LISTE_MG_TRIANGLE::iterator it_tri_existed;
17969  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))
17970  {
17971  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()))))
17972  {
17973 
17974  check_to_creat_tetra=2;
17975  }
17976  else
17977 
17978  {
17979  check_not_to_creat_tetra=3;
17980 
17981  }
17982 
17983  }
17984 
17985  if ((quall1>0.00000001) && (check_not_to_creat_tetra!=3))
17986  {
17987  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()));
17988  check_to_go_further=5;
17989  qualite_moyenne_3D+=quall1;
17990  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
17991  if(quall1<qualite_min_3D) qualite_min_3D=quall1;
17992  if(quall1>qualite_max_3D) qualite_max_3D=quall1;
17993  }
17994 
17995  if ((quallo1>0.00000001) && (check_not_to_creat_tetra!=3))
17996  {
17997 
17998  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()));
17999  check_to_go_further=5;
18000  qualite_moyenne_3D+=quallo1;
18001 
18002  if(quallo1<qualite_min_3D) qualite_min_3D=quallo1;
18003  if(quallo1>qualite_max_3D) qualite_max_3D=quallo1;
18004  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18005  }
18006 
18007  if ((quall2>0.00000001) && (check_not_to_creat_tetra!=3))
18008  {
18009  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()));
18010  check_to_go_further=5;
18011 
18012  qualite_moyenne_3D+=quall2;
18013  if(quall2<qualite_min_3D) qualite_min_3D=quall2;
18014  if(quall2>qualite_max_3D) qualite_max_3D=quall2;
18015 
18016  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18017  }
18018  if ((quallo2>0.00000001) && (check_not_to_creat_tetra!=3))
18019  {
18020  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()));
18021  check_to_go_further=5;
18022 
18023  qualite_moyenne_3D+=quallo2;
18024  if(quallo2<qualite_min_3D) qualite_min_3D=quallo2;
18025  if(quallo2>qualite_max_3D) qualite_max_3D=quallo2;
18026 
18027  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18028  }
18029 
18030  }
18031  if ((quall4>0.000001 || quallo4>0.000001) && (quall5>0.000001 || quallo5>0.000001) && (check_to_go_further==3))
18032  {
18033  check_not_to_creat_tetra=0;
18034  LISTE_MG_TRIANGLE::iterator it_tri_existed;
18035  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))
18036  {
18037  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()))))
18038  {
18039  check_to_creat_tetra=2;
18040  }
18041  else
18042  {
18043  check_not_to_creat_tetra=3;
18044  }
18045  }
18046 
18047  if((quall4>0.00000001) && (check_not_to_creat_tetra!=3))
18048  {
18049  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()));
18050  check_to_go_further=5;
18051  qualite_moyenne_3D+=quall4;
18052  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18053  if(quall4<qualite_min_3D) qualite_min_3D=quall4;
18054  if(quall4>qualite_max_3D) qualite_max_3D=quall4;
18055  }
18056 
18057  if((quall5>0.00000001) && (check_not_to_creat_tetra!=3))
18058  {
18059  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()));
18060  check_to_go_further=5;
18061  qualite_moyenne_3D+=quall5;
18062 
18063  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18064  if(quall5<qualite_min_3D) qualite_min_3D=quall5;
18065 
18066  if(quall5>qualite_max_3D) qualite_max_3D=quall5;
18067 
18068  }
18069 
18070 
18071  if((quallo4>0.00000001) && (check_not_to_creat_tetra!=3))
18072  {
18073  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()));
18074  check_to_go_further=5;
18075  qualite_moyenne_3D+=quallo4;
18076  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18077  if(quallo4<qualite_min_3D) qualite_min_3D=quallo4;
18078  if(quallo4>qualite_max_3D) qualite_max_3D=quallo4;
18079 
18080  }
18081 
18082  if((quallo5>0.00000001) && (check_not_to_creat_tetra!=3))
18083  {
18084  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()));
18085 
18086  check_to_go_further=5;
18087  qualite_moyenne_3D+=quallo5;
18088  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18089  if(quallo5<qualite_min_3D) qualite_min_3D=quallo5;
18090  if(quallo5>qualite_max_3D) qualite_max_3D=quallo5;
18091 
18092  }
18093 
18094 
18095  }
18096  }
18097 
18098 
18099 
18100  }
18101  else if((id_node_rel3==lst_node_in.get(1)->get_id()) && (id_node_rel4==lst_node_in.get(0)->get_id()))
18102  {
18103 
18104  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());
18105 
18106  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());
18107 
18108  //----------------------------------------------------
18109  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());
18110 
18111  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());
18112 
18113  lst_node_tri11.ajouter(lst_node_in.get(0));
18114  lst_node_tri11.ajouter(lst_node_in.get(1));
18115  lst_node_tri11.ajouter(lst_node_in.get(2));
18116 
18117  lst_node_tri12.ajouter(lst_node_in.get(0));
18118  lst_node_tri12.ajouter(lst_node_in.get(1));
18119  lst_node_tri12.ajouter(lst_node_in.get(3));
18120 
18121  lst_node_tri13.ajouter(lst_node_in.get(0));
18122  lst_node_tri13.ajouter(lst_node_in.get(2));
18123  lst_node_tri13.ajouter(lst_node_in.get(3));
18124 
18125  lst_node_tri14.ajouter(lst_node_in.get(1));
18126  lst_node_tri14.ajouter(lst_node_in.get(2));
18127  lst_node_tri14.ajouter(lst_node_in.get(3));
18128 
18129  lst_node_tri15.ajouter(lst_node_in.get(2));
18130  lst_node_tri15.ajouter(lst_node_in.get(0));
18131  lst_node_tri15.ajouter(lst_node_in.get(4));
18132 
18133  lst_node_tri16.ajouter(lst_node_in.get(2));
18134  lst_node_tri16.ajouter(lst_node_in.get(3));
18135  lst_node_tri16.ajouter(lst_node_in.get(4));
18136 
18137  lst_node_tri17.ajouter(lst_node_in.get(0));
18138  lst_node_tri17.ajouter(lst_node_in.get(3));
18139  lst_node_tri17.ajouter(lst_node_in.get(4));
18140 
18141  //----------------------------------------------------
18142  //----------------------------------------------------
18143  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());
18144 
18145  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());
18146 
18147  //----------------------------------------------------
18148  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());
18149 
18150  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());
18151 
18152  lst_node_tri21.ajouter(lst_node_in.get(1));
18153  lst_node_tri21.ajouter(lst_node_in.get(2));
18154  lst_node_tri21.ajouter(lst_node_in.get(0));
18155 
18156  lst_node_tri22.ajouter(lst_node_in.get(0));
18157  lst_node_tri22.ajouter(lst_node_in.get(1));
18158  lst_node_tri22.ajouter(lst_node_in.get(4));
18159 
18160  lst_node_tri23.ajouter(lst_node_in.get(0));
18161  lst_node_tri23.ajouter(lst_node_in.get(2));
18162  lst_node_tri23.ajouter(lst_node_in.get(4));
18163 
18164  lst_node_tri24.ajouter(lst_node_in.get(1));
18165  lst_node_tri24.ajouter(lst_node_in.get(2));
18166  lst_node_tri24.ajouter(lst_node_in.get(4));
18167 
18168  lst_node_tri25.ajouter(lst_node_in.get(1));
18169  lst_node_tri25.ajouter(lst_node_in.get(3));
18170  lst_node_tri25.ajouter(lst_node_in.get(4));
18171 
18172  lst_node_tri26.ajouter(lst_node_in.get(2));
18173  lst_node_tri26.ajouter(lst_node_in.get(3));
18174  lst_node_tri26.ajouter(lst_node_in.get(4));
18175 
18176  lst_node_tri27.ajouter(lst_node_in.get(1));
18177  lst_node_tri27.ajouter(lst_node_in.get(3));
18178  lst_node_tri27.ajouter(lst_node_in.get(2));
18179 
18180 
18181  //----------------------------------------------------
18182  //----------------------------------------------------
18183 
18184  if (((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001)) && ((quall4+quallo4+quall5+quallo5)<(quall1+quallo1+quall2+quallo2)) )
18185  {
18186  check_not_to_creat_tetra=0;
18187  LISTE_MG_TRIANGLE::iterator it_tri_existed;
18188  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))
18189  {
18190  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()))))
18191  {
18192 
18193  check_to_creat_tetra=2;
18194  }
18195  else
18196 
18197  {
18198  check_not_to_creat_tetra=3;
18199 
18200  }
18201 
18202  }
18203 
18204  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
18205  {
18206  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());
18207  check_to_go_further=5;
18208 
18209  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18210 
18211  }
18212 
18213  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
18214  {
18215  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());
18216  check_to_go_further=5;
18217  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18218  }
18219 
18220  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
18221  {
18222  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());
18223  check_to_go_further=5;
18224 
18225 
18226  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18227  }
18228  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
18229  {
18230  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());
18231  check_to_go_further=5;
18232 
18233 
18234  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18235  }
18236 
18237  }
18238  if (((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001)) && (check_to_go_further==3))
18239  {
18240  check_not_to_creat_tetra=0;
18241  LISTE_MG_TRIANGLE::iterator it_tri_existed;
18242  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))
18243  {
18244  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()))))
18245 
18246  {
18247  check_to_creat_tetra=2;
18248  }
18249  else
18250  {
18251  check_not_to_creat_tetra=3;
18252  }
18253  }
18254 
18255  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
18256  {
18257  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());
18258  check_to_go_further=5;
18259 
18260  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18261 
18262  }
18263 
18264  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
18265  {
18266  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());
18267  check_to_go_further=5;
18268 
18269  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18270 
18271  }
18272 
18273 
18274  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
18275  {
18276  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());
18277  check_to_go_further=5;
18278 
18279  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18280 
18281  }
18282 
18283  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
18284  {
18285  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());
18286  check_to_go_further=5;
18287 
18288  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18289 
18290 
18291  }
18292 
18293 
18294  }
18295 
18296  //============================================Second loop==============================================================
18297  if (check_to_go_further==3)
18298  {
18299  if ((quall1>0.001 || quallo1>0.001) && (quall2>0.001 || quallo2>0.001))
18300  {
18301  check_not_to_creat_tetra=0;
18302  LISTE_MG_TRIANGLE::iterator it_tri_existed;
18303  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))
18304  {
18305  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()))))
18306  {
18307 
18308  check_to_creat_tetra=2;
18309  }
18310  else
18311 
18312  {
18313  check_not_to_creat_tetra=3;
18314 
18315  }
18316 
18317  }
18318 
18319  if ((quall1>0.00001) && (check_not_to_creat_tetra!=3))
18320  {
18321  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());
18322  check_to_go_further=5;
18323 
18324  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18325 
18326  }
18327 
18328  if ((quallo1>0.00001) && (check_not_to_creat_tetra!=3))
18329  {
18330  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());
18331  check_to_go_further=5;
18332 
18333  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18334  }
18335 
18336  if ((quall2>0.00001) && (check_not_to_creat_tetra!=3))
18337  {
18338  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());
18339  check_to_go_further=5;
18340 
18341 
18342  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18343  }
18344  if ((quallo2>0.00001) && (check_not_to_creat_tetra!=3))
18345  {
18346  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());
18347  check_to_go_further=5;
18348 
18349 
18350  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18351  }
18352 
18353  }
18354  if ((quall4>0.001 || quallo4>0.001) && (quall5>0.001 || quallo5>0.001) && (check_to_go_further==3))
18355  {
18356  check_not_to_creat_tetra=0;
18357  LISTE_MG_TRIANGLE::iterator it_tri_existed;
18358  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))
18359  {
18360  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()))))
18361 
18362  {
18363  check_to_creat_tetra=2;
18364  }
18365  else
18366  {
18367  check_not_to_creat_tetra=3;
18368  }
18369  }
18370 
18371  if((quall4>0.00001) && (check_not_to_creat_tetra!=3))
18372  {
18373  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());
18374  check_to_go_further=5;
18375 
18376  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18377 
18378  }
18379 
18380  if((quall5>0.00001) && (check_not_to_creat_tetra!=3))
18381  {
18382  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());
18383  check_to_go_further=5;
18384 
18385  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18386 
18387  }
18388 
18389 
18390  if((quallo4>0.00001) && (check_not_to_creat_tetra!=3))
18391  {
18392  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());
18393  check_to_go_further=5;
18394 
18395  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18396  }
18397 
18398  if((quallo5>0.00001) && (check_not_to_creat_tetra!=3))
18399  {
18400  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());
18401  check_to_go_further=5;
18402 
18403  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18404 
18405  }
18406 
18407 
18408  }
18409 
18410  }
18411  //============================================Third loop==============================================================
18412  if (check_to_go_further==3)
18413  {
18414  if ((quall1>0.000001 || quallo1>0.000001) && (quall2>0.000001 || quallo2>0.000001))
18415  {
18416  check_not_to_creat_tetra=0;
18417  LISTE_MG_TRIANGLE::iterator it_tri_existed;
18418  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))
18419  {
18420  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()))))
18421  {
18422 
18423  check_to_creat_tetra=2;
18424  }
18425  else
18426 
18427  {
18428  check_not_to_creat_tetra=3;
18429 
18430  }
18431 
18432  }
18433 
18434  if ((quall1>0.00000001) && (check_not_to_creat_tetra!=3))
18435  {
18436  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());
18437  check_to_go_further=5;
18438 
18439  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18440  }
18441 
18442  if ((quallo1>0.00000001) && (check_not_to_creat_tetra!=3))
18443  {
18444  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());
18445  check_to_go_further=5;
18446  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18447  }
18448 
18449  if ((quall2>0.00000001) && (check_not_to_creat_tetra!=3))
18450  {
18451  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());
18452  check_to_go_further=5;
18453 
18454  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18455  }
18456  if ((quallo2>0.00000001) && (check_not_to_creat_tetra!=3))
18457  {
18458  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());
18459  check_to_go_further=5;
18460  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18461  }
18462 
18463  }
18464  if ((quall4>0.000001 || quallo4>0.000001) && (quall5>0.000001 || quallo5>0.000001) && (check_to_go_further==3))
18465  {
18466  check_not_to_creat_tetra=0;
18467  LISTE_MG_TRIANGLE::iterator it_tri_existed;
18468  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))
18469  {
18470  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()))))
18471 
18472  {
18473  check_to_creat_tetra=2;
18474  }
18475  else
18476  {
18477  check_not_to_creat_tetra=3;
18478  }
18479  }
18480 
18481  if((quall4>0.00000001) && (check_not_to_creat_tetra!=3))
18482  {
18483  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());
18484  check_to_go_further=5;
18485  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18486  }
18487 
18488  if((quall5>0.00000001) && (check_not_to_creat_tetra!=3))
18489  {
18490  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());
18491  check_to_go_further=5;
18492  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18493 
18494  }
18495 
18496 
18497  if((quallo4>0.00000001) && (check_not_to_creat_tetra!=3))
18498  {
18499  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());
18500  check_to_go_further=5;
18501 
18502  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18503  }
18504 
18505  if((quallo5>0.00000001) && (check_not_to_creat_tetra!=3))
18506  {
18507  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());
18508  check_to_go_further=5;
18509 
18510  nb_tet_5nodes_accepted=nb_tet_5nodes_accepted+1;
18511  }
18512 
18513 
18514  }
18515  }
18516 
18517  }
18518 
18519  if (check_to_go_further==3)
18520  {
18521  printf(" not created 5!!!!!!!! \n\n");
18522  return;
18523 
18524  }
18525 
18526  lst_tri_already_existed.vide();
18527 
18528  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();
18529 
18530  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();
18531 
18532  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();
18533 
18534  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();
18535 
18536  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();
18537 
18538  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();
18539 
18540  }
18542  {
18543  double epsilon=1e-6;
18544  TPL_MAP_ENTITE<MG_NOEUD*> lst_node_with_topo;
18545  TPL_MAP_ENTITE<MG_SEGMENT*>lst_seg_null;
18546  std::map<int,double> map_correspondance_id_valE;
18547  std::map<int,double> map_correspondance_id_valnu;
18548  std::map<int,MG_VOLUME*> map_correspondance_id_mgvol;
18549  std::map<MG_VOLUME*,MG_VOLUME*> map_correspondance_mgvol_volvirtu;
18550  std::set<int>idsss;
18551  int id_max=0;int id_topo;double ee;double noo; int nb_node_vertex=0;
18552 
18553 
18554  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;
18555 
18556  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;
18557 
18558  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;
18559 
18560  MG_VOLUME_ELEMENT* vol_f=NULL;
18561  MG_VOLUME_ELEMENT* vol_m=NULL;
18562  geo_virtu=new MG_GEOMETRIE((char*)"VIRTUEL",(char*)"VIRTUEL");
18564 
18566 
18567  som1=new MG_SOMMET_NOEUD();
18569 
18570  som2=new MG_SOMMET_NOEUD();
18572 
18573  som3=new MG_SOMMET_NOEUD();
18575 
18576  som4=new MG_SOMMET_NOEUD();
18578 
18579  som5=new MG_SOMMET_NOEUD();
18581 
18582  som6=new MG_SOMMET_NOEUD();
18584 
18585  som7=new MG_SOMMET_NOEUD();
18587 
18588  som8=new MG_SOMMET_NOEUD();
18590 
18591  are1=new MG_ARETE_ELEMENT();
18592  are1->ajouter_contrainte(0.);
18593  are1->ajouter_contrainte(0.);
18594  are1->ajouter_contrainte(0.);
18595  are1->ajouter_contrainte(1.);
18596  are1->ajouter_contrainte(0.);
18597  are1->ajouter_contrainte(0.);
18598  geo_virtu->ajouter_mg_arete(are1);
18599  are2=new MG_ARETE_ELEMENT();
18600  are2->ajouter_contrainte(1.);
18601  are2->ajouter_contrainte(0.);
18602  are2->ajouter_contrainte(0.);
18603  are2->ajouter_contrainte(0.);
18604  are2->ajouter_contrainte(1.);
18605  are2->ajouter_contrainte(0.);
18606  geo_virtu->ajouter_mg_arete(are2);
18607  are3=new MG_ARETE_ELEMENT();
18608  are3->ajouter_contrainte(0.);
18609  are3->ajouter_contrainte(1.);
18610  are3->ajouter_contrainte(0.);
18611  are3->ajouter_contrainte(1.);
18612  are3->ajouter_contrainte(0.);
18613  are3->ajouter_contrainte(0.);
18614  geo_virtu->ajouter_mg_arete(are3);
18615  are4=new MG_ARETE_ELEMENT();
18616  are4->ajouter_contrainte(0.);
18617  are4->ajouter_contrainte(0.);
18618  are4->ajouter_contrainte(0.);
18619  are4->ajouter_contrainte(0.);
18620  are4->ajouter_contrainte(1.);
18621  are4->ajouter_contrainte(0.);
18622  geo_virtu->ajouter_mg_arete(are4);
18623  are5=new MG_ARETE_ELEMENT();
18624  are5->ajouter_contrainte(0.);
18625  are5->ajouter_contrainte(0.);
18626  are5->ajouter_contrainte(1.);
18627  are5->ajouter_contrainte(1.);
18628  are5->ajouter_contrainte(0.);
18629  are5->ajouter_contrainte(0.);
18630  geo_virtu->ajouter_mg_arete(are5);
18631  are6=new MG_ARETE_ELEMENT();
18632  are6->ajouter_contrainte(1.);
18633  are6->ajouter_contrainte(0.);
18634  are6->ajouter_contrainte(1.);
18635  are6->ajouter_contrainte(0.);
18636  are6->ajouter_contrainte(1.);
18637  are6->ajouter_contrainte(0.);
18638  geo_virtu->ajouter_mg_arete(are6);
18639  are7=new MG_ARETE_ELEMENT();
18640  are7->ajouter_contrainte(0.);
18641  are7->ajouter_contrainte(1.);
18642  are7->ajouter_contrainte(1.);
18643  are7->ajouter_contrainte(1.);
18644  are7->ajouter_contrainte(0.);
18645  are7->ajouter_contrainte(0.);
18646  geo_virtu->ajouter_mg_arete(are7);
18647  are8=new MG_ARETE_ELEMENT();
18648  are8->ajouter_contrainte(0.);
18649  are8->ajouter_contrainte(0.);
18650  are8->ajouter_contrainte(1.);
18651  are8->ajouter_contrainte(0.);
18652  are8->ajouter_contrainte(1.);
18653  are8->ajouter_contrainte(0.);
18654  geo_virtu->ajouter_mg_arete(are8);
18655  are9=new MG_ARETE_ELEMENT();
18656  are9->ajouter_contrainte(0.);
18657  are9->ajouter_contrainte(0.);
18658  are9->ajouter_contrainte(0.);
18659  are9->ajouter_contrainte(0.);
18660  are9->ajouter_contrainte(0.);
18661  are9->ajouter_contrainte(1.);
18662  geo_virtu->ajouter_mg_arete(are9);
18663  are10=new MG_ARETE_ELEMENT();
18664  are10->ajouter_contrainte(1.);
18665  are10->ajouter_contrainte(0.);
18666  are10->ajouter_contrainte(0.);
18667  are10->ajouter_contrainte(0.);
18668  are10->ajouter_contrainte(0.);
18669  are10->ajouter_contrainte(1.);
18670  geo_virtu->ajouter_mg_arete(are10);
18671  are11=new MG_ARETE_ELEMENT();
18672  are11->ajouter_contrainte(1.);
18673  are11->ajouter_contrainte(1.);
18674  are11->ajouter_contrainte(0.);
18675  are11->ajouter_contrainte(0.);
18676  are11->ajouter_contrainte(0.);
18677  are11->ajouter_contrainte(1.);
18678  geo_virtu->ajouter_mg_arete(are11);
18679  are12=new MG_ARETE_ELEMENT();
18680  are12->ajouter_contrainte(0.);
18681  are12->ajouter_contrainte(1.);
18682  are12->ajouter_contrainte(0.);
18683  are12->ajouter_contrainte(0.);
18684  are12->ajouter_contrainte(0.);
18685  are12->ajouter_contrainte(1.);
18686  geo_virtu->ajouter_mg_arete(are12);
18687 
18688 
18689  face1=new MG_FACE_ELEMENT();
18690  face1->ajouter_contrainte(0.);
18691  face1->ajouter_contrainte(0.);
18692  face1->ajouter_contrainte(0.);
18693  face1->ajouter_contrainte(0.);
18694  face1->ajouter_contrainte(1.);
18695  face1->ajouter_contrainte(0.);
18696  face1->ajouter_contrainte(0.);
18697  face1->ajouter_contrainte(0.);
18698  face1->ajouter_contrainte(1.);
18699  geo_virtu->ajouter_mg_face(face1);
18700 
18701  face2=new MG_FACE_ELEMENT();
18702  face2->ajouter_contrainte(0.);
18703  face2->ajouter_contrainte(0.);
18704  face2->ajouter_contrainte(0.);
18705  face2->ajouter_contrainte(1.);
18706  face2->ajouter_contrainte(0.);
18707  face2->ajouter_contrainte(0.);
18708  face2->ajouter_contrainte(0.);
18709  face2->ajouter_contrainte(0.);
18710  face2->ajouter_contrainte(1.);
18711  geo_virtu->ajouter_mg_face(face2);
18712 
18713  face3=new MG_FACE_ELEMENT();
18714  face3->ajouter_contrainte(0.);
18715  face3->ajouter_contrainte(0.);
18716  face3->ajouter_contrainte(0.);
18717  face3->ajouter_contrainte(1.);
18718  face3->ajouter_contrainte(0.);
18719  face3->ajouter_contrainte(0.);
18720  face3->ajouter_contrainte(0.);
18721  face3->ajouter_contrainte(1.);
18722  face3->ajouter_contrainte(0.);
18723 
18724  geo_virtu->ajouter_mg_face(face3);
18725 
18726  face4=new MG_FACE_ELEMENT();
18727  face4->ajouter_contrainte(1.);
18728  face4->ajouter_contrainte(1.);
18729  face4->ajouter_contrainte(1.);
18730  face4->ajouter_contrainte(0.);
18731  face4->ajouter_contrainte(1.);
18732  face4->ajouter_contrainte(0.);
18733  face4->ajouter_contrainte(0.);
18734  face4->ajouter_contrainte(0.);
18735  face4->ajouter_contrainte(1.);
18736  geo_virtu->ajouter_mg_face(face4);
18737 
18738  face5=new MG_FACE_ELEMENT();
18739  face5->ajouter_contrainte(1.);
18740  face5->ajouter_contrainte(1.);
18741  face5->ajouter_contrainte(1.);
18742  face5->ajouter_contrainte(1.);
18743  face5->ajouter_contrainte(0.);
18744  face5->ajouter_contrainte(0.);
18745  face5->ajouter_contrainte(0.);
18746  face5->ajouter_contrainte(0.);
18747  face5->ajouter_contrainte(1.);
18748  geo_virtu->ajouter_mg_face(face5);
18749 
18750  face6=new MG_FACE_ELEMENT();
18751  face6->ajouter_contrainte(1.);
18752  face6->ajouter_contrainte(1.);
18753  face6->ajouter_contrainte(1.);
18754  face6->ajouter_contrainte(1.);
18755  face6->ajouter_contrainte(0.);
18756  face6->ajouter_contrainte(0.);
18757  face6->ajouter_contrainte(0.);
18758  face6->ajouter_contrainte(1.);
18759  face6->ajouter_contrainte(0.);
18760  geo_virtu->ajouter_mg_face(face6);
18761 
18762  //----------------------------------------------------------------------------------------------------------
18765 
18766  LISTE_MG_TETRA::iterator it1;
18767  for (MG_TETRA* tet_check=m_mg_maillage->get_premier_tetra(it1);tet_check!=NULL;tet_check=m_mg_maillage->get_suivant_tetra(it1))
18768  {
18769  MG_ELEMENT_TOPOLOGIQUE* topo_tet = tet_check->get_lien_topologie();
18770  ee= topo_tet->get_valeur_ccf(0);
18771  noo=topo_tet->get_valeur_ccf(1);
18772  id_topo=topo_tet->get_id();
18773  map_correspondance_id_valE.insert(std::pair<int,double>(id_topo,ee));
18774  map_correspondance_id_valnu.insert(std::pair<int,double>(id_topo,noo));
18775 
18776  if (id_topo>id_max) id_max=id_topo;
18777  idsss.insert(id_topo);
18778 
18779  for(int mn=0;mn<m_mg_geometrie->get_nb_mg_volume();mn++)
18780  {
18781  if(topo_tet==m_mg_geometrie->get_mg_volume(mn))
18782  {
18783  map_correspondance_id_mgvol.insert(std::pair<int,MG_VOLUME*>(id_topo,m_mg_geometrie->get_mg_volume(mn)));
18784  }
18785  }
18786 
18787  }
18788  //-----------------------------------------------------------------------------------
18789  std::set<int>::iterator itr;
18790  for (itr = idsss.begin(); itr != idsss.end(); itr++)
18791  {
18792  if(*itr==id_max)
18793  {
18794  vol_m=new MG_VOLUME_ELEMENT();
18795  vol_m->ajouter_ccf((char*)"Em",map_correspondance_id_valE.find(*itr)->second);
18796  vol_m->ajouter_ccf((char*)"nu",map_correspondance_id_valnu.find(*itr)->second);
18797 
18798  geo_virtu->ajouter_mg_volume(vol_m);
18799 
18800  map_correspondance_mgvol_volvirtu.insert(std::pair<MG_VOLUME*,MG_VOLUME*>(map_correspondance_id_mgvol.find(*itr)->second,vol_m));
18801 
18802  }
18803  else{
18804 
18805  vol_f=new MG_VOLUME_ELEMENT();
18806  geo_virtu->ajouter_mg_volume(vol_f);
18807 
18808  vol_f->ajouter_ccf((char*)"Em",map_correspondance_id_valE.find(*itr)->second);
18809  vol_f->ajouter_ccf((char*)"nu",map_correspondance_id_valnu.find(*itr)->second);
18810 
18811  map_correspondance_mgvol_volvirtu.insert(std::pair<MG_VOLUME*,MG_VOLUME*>(map_correspondance_id_mgvol.find(*itr)->second,vol_f));
18812  }
18813 
18814  }
18815  //---------------------------Volume Calculation----------------------------------------
18816  double vol=0.;
18817  double vol_matrix=0.;
18818  double vol_fiber=0.;
18819  LISTE_MG_TETRA::iterator it21;
18820  for (MG_TETRA* tet_vol=m_mg_maillage->get_premier_tetra(it21);tet_vol!=NULL;tet_vol=m_mg_maillage->get_suivant_tetra(it21))
18821  {
18822 
18823  int id_topo=tet_vol->get_lien_topologie()->get_id();
18824  if (id_topo!=id_max)
18825  {
18826  double *xyz1=tet_vol->get_noeud1()->get_coord();
18827  double *xyz2=tet_vol->get_noeud2()->get_coord();
18828  double *xyz3=tet_vol->get_noeud3()->get_coord();
18829  double *xyz4=tet_vol->get_noeud4()->get_coord();
18830 
18831  OT_VECTEUR_3D vec1(xyz1,xyz2);
18832  OT_VECTEUR_3D vec2(xyz1,xyz3);
18833  OT_VECTEUR_3D vec3(xyz1,xyz4);
18834 
18835  OT_VECTEUR_3D n=vec1&vec2;
18836 
18837  vol=(fabs((n.get_x()*vec3.get_x())+(n.get_y()*vec3.get_y())+(n.get_z()*vec3.get_z())))/6;
18838  vol_fiber=vol_fiber+vol;
18839 
18840  }
18841  else
18842  {
18843  double *xyz11=tet_vol->get_noeud1()->get_coord();
18844  double *xyz22=tet_vol->get_noeud2()->get_coord();
18845  double *xyz33=tet_vol->get_noeud3()->get_coord();
18846  double *xyz44=tet_vol->get_noeud4()->get_coord();
18847 
18848  OT_VECTEUR_3D vec11(xyz11,xyz22);
18849  OT_VECTEUR_3D vec22(xyz11,xyz33);
18850  OT_VECTEUR_3D vec33(xyz11,xyz44);
18851 
18852  OT_VECTEUR_3D nnn=vec11&vec22;
18853 
18854  vol=(fabs((nnn.get_x()*vec33.get_x())+(nnn.get_y()*vec33.get_y())+(nnn.get_z()*vec33.get_z())))/6;
18855  vol_matrix=vol+vol_matrix;
18856  }
18857 
18858 
18859 
18860  }
18861  printf(" Pourcentage de fiber_volume %f, matrix_volume %f, total_vol %f \n",vol_fiber,vol_matrix,vol_matrix+vol_fiber);
18862 
18863  //=========================Topology Attachment=====================
18864  //-----------------------------nodes---------------------------------------------
18865  LISTE_MG_NOEUD::iterator it;
18867  {
18868  if(no->get_lien_tetra()->get_nb()!=0)
18869  {
18870  double *xyz=no->get_coord();
18871  MG_ELEMENT_TOPOLOGIQUE* ele=NULL;
18872  bool tocreate=false;
18873 
18874  if (OPERATEUR::egal(xyz[0],0.,epsilon) && OPERATEUR::egal(xyz[1],0.,epsilon) && OPERATEUR::egal(xyz[2],0.,epsilon) )
18875  {
18876  tocreate=true;
18877  ele=som1;
18878  }
18879  else if (OPERATEUR::egal(xyz[0],1.,epsilon) && OPERATEUR::egal(xyz[1],0.,epsilon) && OPERATEUR::egal(xyz[2],0.,epsilon) )
18880  {
18881  tocreate=true;
18882  ele=som2;
18883  }
18884  else if (OPERATEUR::egal(xyz[0],1.,epsilon) && OPERATEUR::egal(xyz[1],1.,epsilon) && OPERATEUR::egal(xyz[2],0.,epsilon) )
18885  {
18886  tocreate=true;
18887  ele=som3;
18888  }
18889  else if (OPERATEUR::egal(xyz[0],0.,epsilon) && OPERATEUR::egal(xyz[1],1.,epsilon) && OPERATEUR::egal(xyz[2],0.,epsilon) )
18890  {
18891  tocreate=true;
18892  ele=som4;
18893  }
18894  else if (OPERATEUR::egal(xyz[0],0.,epsilon) && OPERATEUR::egal(xyz[1],0.,epsilon) && OPERATEUR::egal(xyz[2],1.,epsilon) )
18895  {
18896  tocreate=true;
18897  ele=som5;
18898  }
18899  else if (OPERATEUR::egal(xyz[0],1.,epsilon) && OPERATEUR::egal(xyz[1],0.,epsilon) && OPERATEUR::egal(xyz[2],1.,epsilon) )
18900  {
18901  tocreate=true;
18902  ele=som6;
18903  }
18904  else if (OPERATEUR::egal(xyz[0],1.,epsilon) && OPERATEUR::egal(xyz[1],1.,epsilon) && OPERATEUR::egal(xyz[2],1.,epsilon) )
18905  {
18906  tocreate=true;
18907  ele=som7;
18908  }
18909  else if (OPERATEUR::egal(xyz[0],0.,epsilon) && OPERATEUR::egal(xyz[1],1.,epsilon) && OPERATEUR::egal(xyz[2],1.,epsilon) )
18910  {
18911  tocreate=true;
18912  ele=som8;
18913  }
18914  //--------------------------------------------------------
18915  if ( (xyz[0]>-epsilon) && (xyz[0]<1.+epsilon) && (xyz[1]>-epsilon) && (xyz[1]<1.+epsilon) && (xyz[2]>-epsilon) && (xyz[2]<1.+epsilon))
18916 
18917  tocreate=true;
18918  //-----------------------------------------------
18919  if (tocreate)
18920  {
18921 
18922  MG_NOEUD* new_no=mai_virtu->ajouter_mg_noeud(ele,xyz[0],xyz[1],xyz[2],MAGIC::ORIGINE::MAILLEUR_AUTO);
18923  MG_SOMMET_NOEUD* somno;
18924  if (ele!=NULL)
18925  {
18926  somno=(MG_SOMMET_NOEUD*)ele;
18927  somno->change_mg_noeud(new_no);
18928  }
18929  no->change_nouveau_numero(new_no->get_id());
18930  }
18931  }
18932 
18933  }
18934 
18935  // gestionnaire_virtu->enregistrer("virtu_4.magic");
18936  //-----------------------------segment---------------------------------------------
18937  LISTE_MG_SEGMENT::iterator itsg;
18939  {
18940  MG_NOEUD* no1sg=sg->get_noeud1();
18941  MG_NOEUD* no2sg=sg->get_noeud2();
18942 
18943  MG_NOEUD* newno1sg=mai_virtu->get_mg_noeudid(no1sg->get_nouveau_numero());
18944  MG_NOEUD* newno2sg=mai_virtu->get_mg_noeudid(no2sg->get_nouveau_numero());
18945 
18946  MG_ELEMENT_TOPOLOGIQUE* ele=NULL;
18947  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)) )
18948  ele=are1;
18949 
18950  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) )
18951  ele=are2;
18952 
18953  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) )
18954  ele=are3;
18955 
18956  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) )
18957  ele=are4;
18958 
18959  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) )
18960  ele=are5;
18961 
18962  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) )
18963  ele=are6;
18964 
18965  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) )
18966  ele=are7;
18967 
18968  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) )
18969  ele=are8;
18970 
18971  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) )
18972  ele=are9;
18973 
18974  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) )
18975  ele=are10;
18976 
18977  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) )
18978  ele=are11;
18979 
18980  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) )
18981  ele=are12;
18982 
18983  if (ele!=NULL)
18985  // if ((ele==NULL)&&(newno1sg!=NULL)&&(newno2sg!=NULL))
18986  // {
18987  // MG_SEGMENT* segment=new MG_SEGMENT(ele,newno1sg,newno2sg,MAGIC::ORIGINE::MAILLEUR_AUTO);
18988  // lst_seg_null.ajouter(segment);
18989  // mai_virtu->ajouter_mg_segment(segment);
18990  // }
18991 
18992 
18993 }
18994 
18995  // gestionnaire_virtu->enregistrer("virtu_5.magic");
18996 
18997  //-----------------------------Triangles on the faces and their nodes---------------
18998  LISTE_MG_TRIANGLE::iterator it3;
19000  if (tri->get_lien_tetra()->get_nb()==1)
19001  {
19002  MG_NOEUD* no1=tri->get_noeud1();
19003  MG_NOEUD* no2=tri->get_noeud2();
19004  MG_NOEUD* no3=tri->get_noeud3();
19008  MG_ELEMENT_TOPOLOGIQUE* ele=NULL;
19009  if (OPERATEUR::egal(no1->get_x(),0.,epsilon) && OPERATEUR::egal(no2->get_x(),0.,epsilon) && OPERATEUR::egal(no3->get_x(),0.,epsilon) )
19010  ele=face1;
19011  else if (OPERATEUR::egal(no1->get_y(),0.,epsilon) && OPERATEUR::egal(no2->get_y(),0.,epsilon) && OPERATEUR::egal(no3->get_y(),0.,epsilon) )
19012 
19013  ele=face2;
19014  else if (OPERATEUR::egal(no1->get_z(),0.,epsilon) && OPERATEUR::egal(no2->get_z(),0.,epsilon) && OPERATEUR::egal(no3->get_z(),0.,epsilon) )
19015 
19016  ele=face3;
19017 
19018  else if (OPERATEUR::egal(no1->get_x(),1.,epsilon) && OPERATEUR::egal(no2->get_x(),1.,epsilon) && OPERATEUR::egal(no3->get_x(),1.,epsilon) )
19019  ele=face4;
19020 
19021  else if (OPERATEUR::egal(no1->get_y(),1.,epsilon) && OPERATEUR::egal(no2->get_y(),1.,epsilon) && OPERATEUR::egal(no3->get_y(),1.,epsilon) )
19022  ele=face5;
19023  else if (OPERATEUR::egal(no1->get_z(),1.,epsilon) && OPERATEUR::egal(no2->get_z(),1.,epsilon) && OPERATEUR::egal(no3->get_z(),1.,epsilon) )
19024  ele=face6;
19025 
19026  mai_virtu->ajouter_mg_triangle(ele,newno1,newno2,newno3,MAGIC::ORIGINE::MAILLEUR_AUTO);
19027 
19028  }
19029  // gestionnaire_virtu->enregistrer("virtu_6.magic");
19030  //-----------------------------tetra---------------------------------------------
19031  LISTE_MG_TETRA::iterator it2;
19032  for (MG_TETRA* tet=m_mg_maillage->get_premier_tetra(it2);tet!=NULL;tet=m_mg_maillage->get_suivant_tetra(it2))
19033  {
19034 
19035  MG_NOEUD* not1=tet->get_noeud1();
19036  MG_NOEUD* not2=tet->get_noeud2();
19037  MG_NOEUD* not3=tet->get_noeud3();
19038  MG_NOEUD* not4=tet->get_noeud4();
19043 
19044 
19045  MG_ELEMENT_TOPOLOGIQUE* ele=NULL;
19046 
19047  MG_ELEMENT_TOPOLOGIQUE* topo_tet = tet->get_lien_topologie();
19048  int id_vol_tet= topo_tet->get_id();
19049 
19050  if (id_vol_tet==id_max)
19051  {
19052  ele=vol_m;
19053  }
19054  else
19055  {
19056  for(int i=0;i<idsss.size();i++)
19057  {
19058 
19059  auto it = next(idsss.begin(), i);
19060  if(id_vol_tet==*it)
19061 
19062  ele=geo_virtu->get_mg_volume(i);
19063  }
19064 
19065  }
19066  mai_virtu->ajouter_mg_tetra(ele,newnot1,newnot2,newnot3,newnot4,MAGIC::ORIGINE::MAILLEUR_AUTO);
19067  }
19068  // gestionnaire_virtu->enregistrer("virtu_7.magic");
19069  std:: vector<int> topo_id;
19070  std::set<int>topo_node;
19071  bool vuel =false;
19072  MG_ELEMENT_TOPOLOGIQUE* topo_t;
19073 
19074  LISTE_MG_NOEUD::iterator it5;
19075  for (MG_NOEUD* no5=mai_virtu->get_premier_noeud(it5);no5!=NULL;no5=mai_virtu->get_suivant_noeud(it5))
19076  {
19077  int nb_tri= no5->get_lien_triangle()->get_nb();
19078  for(int n=0;n<nb_tri;n++)
19079  {
19080  MG_TRIANGLE* tri_check=no5->get_lien_triangle()->get(n);
19081  if((tri_check->get_lien_tetra()->get_nb()==1)&&(tri_check->get_lien_topologie()!=0))
19082  {
19083  topo_node.insert(tri_check->get_lien_topologie()->get_id());
19084  }
19085  }
19086  std::set<int>::iterator it_topo;
19087  for (it_topo = topo_node.begin(); it_topo != topo_node.end(); it_topo++)
19088  {
19089  topo_id.push_back(*it_topo);
19090  }
19091 
19092  if(topo_node.size()==1)
19093  {
19094  // printf("on face\n\n");
19095  no5->change_lien_topologie(no5->get_lien_triangle()->get(0)->get_lien_topologie());
19096  }
19097  else if(topo_node.size()==2)
19098  {
19099  // printf("on edge\n\n");
19100  //---------------Edge1-----------------------------------
19101  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())))
19102  {
19103  no5->change_lien_topologie(are1);
19104  }
19105  //---------------Edge2-----------------------------------
19106  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())))
19107  {
19108  no5->change_lien_topologie(are2);
19109  }
19110  //---------------Edge3-----------------------------------
19111  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())))
19112  {
19113  no5->change_lien_topologie(are3);
19114  }
19115  //---------------Edge4-----------------------------------
19116  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())))
19117  {
19118  no5->change_lien_topologie(are4);
19119  }
19120  //---------------Edge5-----------------------------------
19121  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())))
19122  {
19123  no5->change_lien_topologie(are5);
19124  }
19125  //---------------Edge6-----------------------------------
19126  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())))
19127  {
19128  no5->change_lien_topologie(are6);
19129  }
19130  //---------------Edge7-----------------------------------
19131  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())))
19132  {
19133  no5->change_lien_topologie(are7);
19134  }
19135  //---------------Edge8-----------------------------------
19136  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())))
19137  {
19138  no5->change_lien_topologie(are8);
19139  }
19140  //---------------Edge9-----------------------------------
19141  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())))
19142  {
19143  no5->change_lien_topologie(are9);
19144  }
19145  //---------------Edge10-----------------------------------
19146  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())))
19147  {
19148  no5->change_lien_topologie(are10);
19149  }
19150  //---------------Edge11-----------------------------------
19151  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())))
19152  {
19153  no5->change_lien_topologie(are11);
19154  }
19155  //---------------Edge12-----------------------------------
19156  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())))
19157  {
19158  no5->change_lien_topologie(are12);
19159  }
19160  else{
19161  printf("oops topo edge\n\n");
19162  return;
19163  }
19164  }
19165  else if(topo_node.size()==3)
19166  {
19167  // printf("on vertex\n\n");
19168  nb_node_vertex=nb_node_vertex+1;
19169  }
19170  else
19171  {
19172  // printf("in volume\n\n");
19173  int n_t=no5->get_lien_tetra()->get_nb();
19174  for(int j=0;j<n_t;j++)
19175  {
19176  MG_TETRA* tett=no5->get_lien_tetra()->get(j);
19177  if(tett->get_lien_topologie()->get_id()!=id_max)
19178  {
19179  vuel=true;
19180  topo_t = tett->get_lien_topologie();
19181  }
19182  }
19183  if(vuel==true)
19184  {
19185  no5->change_lien_topologie(topo_t);
19186  }
19187  else{
19188  no5->change_lien_topologie(no5->get_lien_tetra()->get(0)->get_lien_topologie());
19189  }
19190 
19191  }
19192 
19193  topo_node.clear();
19194  topo_id.clear();
19195  }
19196  //===========================================================
19197 //gestionnaire_virtu->enregistrer("virtu_8.magic");
19198  if(nb_node_vertex!=8)
19199  {
19200  printf("nb of vertex is not 8\n\n");
19201  return;
19202 
19203  }
19204 
19205 
19206  //-------------------------------------------------------------------------------
19207 
19208  //--------------------------------------------------------------------------------
19209 
19210  //gestionnaire_virtu->enregistrer("virtu_9.magic");
19211 
19212  int i_vol;
19213  int nb_volume_virtu=(geo_virtu->get_nb_mg_volume());
19214 
19215  for(i_vol=0;i_vol<nb_volume_virtu;++i_vol)
19216  {
19217  LISTE_MG_TRIANGLE::iterator it_trig;
19218  for (MG_TRIANGLE* tri=mai_virtu->get_premier_triangle(it_trig);tri!=NULL;tri=mai_virtu->get_suivant_triangle(it_trig))
19219  tri->change_nouveau_numero(0);
19220 
19221  MG_VOLUME* volume=geo_virtu->get_mg_volume(i_vol);
19223  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))
19224  {
19225  tet->get_triangle1()->change_nouveau_numero( tet->get_triangle1()->get_nouveau_numero()+1);
19226  tet->get_triangle2()->change_nouveau_numero( tet->get_triangle2()->get_nouveau_numero()+1);
19227  tet->get_triangle3()->change_nouveau_numero( tet->get_triangle3()->get_nouveau_numero()+1);
19228  tet->get_triangle4()->change_nouveau_numero( tet->get_triangle4()->get_nouveau_numero()+1);
19229  }
19230  for (MG_TRIANGLE* tri=mai_virtu->get_premier_triangle(it_trig);tri!=NULL;tri=mai_virtu->get_suivant_triangle(it_trig))
19231  {
19232  // if ((tri->get_segment1()->get_id()==13479) || (tri->get_segment3()->get_id()==13479) || (tri->get_segment2()->get_id()==13479))
19233  // if (tri->get_nouveau_numero()!=0)
19234  //std::cout << "bonjour" << std::endl;
19235  if (tri->get_nouveau_numero()==2)
19236  {
19237  if (tri->get_segment1()->get_lien_topologie()==NULL)
19238  tri->get_segment1()->change_lien_topologie2(volume);
19239  if (tri->get_segment2()->get_lien_topologie()==NULL)
19240  tri->get_segment2()->change_lien_topologie2(volume);
19241  if (tri->get_segment3()->get_lien_topologie()==NULL)
19242  tri->get_segment3()->change_lien_topologie2(volume);
19243  }
19244  if (tri->get_nouveau_numero()==1)
19245  {
19246  if (tri->get_segment1()->get_lien_topologie()==NULL)
19247  tri->get_segment1()->change_lien_topologie2(face1);
19248  else if (tri->get_segment1()->get_lien_topologie()->get_dimension()>2)
19249  tri->get_segment1()->change_lien_topologie2(face1);
19250  if (tri->get_segment2()->get_lien_topologie()==NULL)
19251  tri->get_segment2()->change_lien_topologie2(face1);
19252  else if (tri->get_segment2()->get_lien_topologie()->get_dimension()>2)
19253  tri->get_segment2()->change_lien_topologie2(face1);
19254  if (tri->get_segment3()->get_lien_topologie()==NULL)
19255  tri->get_segment3()->change_lien_topologie2(face1);
19256  else if (tri->get_segment3()->get_lien_topologie()->get_dimension()>2)
19257  tri->get_segment3()->change_lien_topologie2(face1);
19258  }
19259  }
19260 
19261  }
19262  // gestionnaire_virtu->enregistrer("virtu_10.magic");
19263  delete m_mg_gestionnaire;
19267  change_boite_3D_ves(BOITE_3D(0.,0.,0.,1.,1.,1.));
19269 // gestionnaire_virtu->enregistrer("virtu_11.magic");
19270  }
19272  {
19276 
19277  MG_CG_GROUPE_FORME* groupe_forme_matrice=MG_CG::creer_MG_CG_GROUPE_FORME(m_mgcg_modele,(char*)"Matrice");
19278  MG_CG_GROUPE_FORME* groupe_forme_particule=MG_CG::creer_MG_CG_GROUPE_FORME(m_mgcg_modele,(char*)"Particule");
19279 
19280  LISTE_MG_VOLUME::iterator it;
19281  MG_CG_ASSEMBLAGE* assemblage = MG_CG::creer_MG_CG_ASSEMBLAGE(m_mgcg_modele,(char*)"VES");
19282  int nb_vol=geo_virtu->get_nb_mg_volume();
19283  int ivol=0;
19284  for (MG_VOLUME* vol=geo_virtu->get_premier_volume(it);vol!=NULL;vol=geo_virtu->get_suivant_volume(it))
19285  {
19286  ivol++;
19287  MG_CG_FORME_VOLUME* forme=MG_CG::creer_MG_CG_FORME_VOLUME(m_mgcg_modele,MG_CG_FORME::PROVENANCE_FORME::IMPORTEE,vol);
19288  forme->change_etat(MG_CG_FORME::ETAT_FORME::CONSTRUITE);
19289  if (ivol!=nb_vol)
19290  groupe_forme_particule->ajouter_mgcg_forme(forme);
19291  else
19292  groupe_forme_matrice->ajouter_mgcg_forme(forme);
19293  assemblage->ajouter_mgcg_forme(forme);
19294  }
19295 
19296  change_mgcg_assemblage(assemblage);
19299 
19300 
19301  }
MAILLEUR3D::change_niveau_optimisation
virtual void change_niveau_optimisation(int num)
Definition: mailleur3d.cpp:464
MG_GESTIONNAIRE::enregistrer
virtual void enregistrer(std::ostream &o, double version=MAGIC_VERSION_FICHIER_DOUBLE)
Definition: mg_gestionnaire.cpp:1070
MSTRUCT_VES::fonc_affiche
fonction_affiche * fonc_affiche
Definition: mstruct_ves.h:128
MG_MAILLAGE::ajouter_mg_tetra
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)
Definition: mg_maillage.cpp:1158
TPL_MAP_ENTITE::get_premier
virtual X get_premier(ITERATEUR &it)
Definition: tpl_map_entite.h:112
mg_cg_forme_volume_boite.h
MG_SEGMENT
Definition: mg_segment.h:38
mg_cg_forme_multi_volume.h
mg_geometrie.h
mg_cg_op_bool_intersection.h
ot_geometrie.h
MG_ELEMENT_TOPOLOGIQUE::ajouter_ccf
virtual void ajouter_ccf(char *nom, double val, std::string suiv="NS")
Definition: mg_element_topologique.cpp:159
MG_MAILLAGE::get_premier_noeud
MG_NOEUD * get_premier_noeud(LISTE_MG_NOEUD::iterator &it)
Definition: mg_maillage.cpp:548
mstruct_analyse_modules_elasticite.h
MG_CG::creer_MG_CG_FORME_VOLUME
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
mstruct_generateur_rsa.h
mstruct_outils.h
MAGIC_AFFICHE::active_affichage
virtual void active_affichage(fonction_affiche *fonc)
Definition: magic_affiche.cpp:49
mstruct_analyse_propriete_massique.h
MG_MAILLAGE::ajouter_mg_segment
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)
Definition: mg_maillage.cpp:565
mg_cg.h
MG_GEOMETRIE::change_valeur_unite
void change_valeur_unite(double val)
Definition: mg_geometrie.cpp:2657
TPL_MAP_ENTITE
Definition: tpl_map_entite.h:35
FAIL
const int FAIL
Definition: mg_definition.h:39
mstruct_analyse_conductivite_thermique.h
MSTRUCT_VES::affiche
virtual void affiche(char *message)
Definition: mstruct_ves.cpp:2469
FCT_TAILLE_FEM_SOLUTION
Definition: fct_taille_fem_solution.h:37
OT_PARAMETRES::get_valeur
double get_valeur(std::string chaine, int num=0)
Definition: ot_parametres.cpp:191
MG_VOLUME::est_mince
virtual bool est_mince(void)
Definition: mg_volume.cpp:213
mg_cg_forme_volume.h
MG_GEOMETRIE::get_suivant_volume
MG_VOLUME * get_suivant_volume(LISTE_MG_VOLUME::iterator &it)
Definition: mg_geometrie.cpp:1702
mstruct_ves.h
mg_gestionnaire.h
mailleur2d.h
MG_NOEUD::get_z
virtual double get_z(void)
Definition: mg_noeud.cpp:87
MG_NOEUD::get_lien_triangle
TPL_LISTE_ENTITE< class MG_TRIANGLE * > * get_lien_triangle(void)
Definition: mg_noeud.cpp:153
MG_IDENTIFICATEUR::get_id
unsigned long get_id()
Definition: mg_identificateur.cpp:53
MSTRUCT_VES::m_mgcg_modele
MG_CG_MODELE * m_mgcg_modele
Definition: mstruct_ves.h:121
mg_cg_forme_volume_sphere.h
mg_cg_groupe_forme.h
MAILLEUR3D_COUCHE::maille
virtual int maille(MG_GROUPE_TOPOLOGIQUE *mggt=NULL)
Definition: mailleur3d_couche.cpp:52
OT_CPU
Definition: ot_cpu.h:31
TPL_SET
Definition: tpl_set.h:34
TPL_GRILLE::inserer
virtual void inserer(A a)
Definition: tpl_grille.h:274
fem_maillage.h
MG_GEOMETRIE::get_nb_mg_arete
unsigned int get_nb_mg_arete(void)
Definition: mg_geometrie.cpp:813
BOITE_3D::get_centre
void get_centre(double *coo)
Definition: ot_boite_3d.cpp:149
robustPredicates::epsilon
static REAL epsilon
Definition: robustpredicates.cc:371
MSTRUCT_VES_DECOUP::~MSTRUCT_VES_DECOUP
virtual ~MSTRUCT_VES_DECOUP(void)
Definition: mstruct_ves_decoup.cpp:120
MG_MAILLAGE::get_premier_tetra
MG_TETRA * get_premier_tetra(LISTE_MG_TETRA::iterator &it)
Definition: mg_maillage.cpp:1374
MG_CG::creer_MG_CG_MODELE
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
MSTRUCT_VES::get_temps_maillage
virtual double get_temps_maillage(void)
Definition: mstruct_ves.cpp:247
mg_cg_op_inclusion_matrice.h
fem_tetra10.h
mg_cg_forme_volume_ellipsoide.h
MG_GEOMETRIE::ajouter_mg_volume
virtual int ajouter_mg_volume(MG_VOLUME *mgvol)
Definition: mg_geometrie.cpp:1642
mstruct_ves_file.h
fct_taille_fem_solution_generateur_microstructure.h
m3d_triangle.h
MG_GEOMETRIE::get_premier_face
MG_FACE * get_premier_face(LISTE_MG_FACE::iterator &it)
Definition: mg_geometrie.cpp:1338
mg_arete_element.h
MAILLEUR3D::maille
virtual int maille(MG_GROUPE_TOPOLOGIQUE *mggt=NULL)
Definition: mailleur3d.cpp:55
TPL_SET::get_premier
X get_premier(ITERATEUR &it)
Definition: tpl_set.h:99
ot_cpu.h
MG_CG_FORME::change_etat
virtual void change_etat(int etat_forme)
Definition: mg_cg_forme.cpp:81
mg_cg_forme_volume_tore.h
mg_file.h
OT_CPU::ajouter_etape
double ajouter_etape(std::string nom)
Definition: ot_cpu.cpp:58
TPL_GRILLE
Definition: tpl_grille.h:121
MG_CG_ASSEMBLAGE::get_mg_sous_geometrie
virtual MG_SOUS_GEOMETRIE * get_mg_sous_geometrie(void)
Definition: mg_cg_assemblage.cpp:77
TPL_MAP_ENTITE::existe
virtual int existe(X x)
Definition: tpl_map_entite.h:61
mailleur_analyse.h
OK
const int OK
Definition: mg_definition.h:38
mg_hexa.h
MG_ELEMENT_MAILLAGE::change_lien_topologie
void change_lien_topologie(MG_ELEMENT_TOPOLOGIQUE *topo)
Definition: mg_element_maillage.cpp:56
MG_TRIANGLE
Definition: mg_triangle.h:38
MAILLEUR_PARTICULE_FINE::active_type_particule
virtual void active_type_particule(int num)
Definition: mailleur_particule_fine.cpp:45
MG_VOLUME
Definition: mg_volume.h:33
MG_GESTIONNAIRE
Definition: mg_gestionnaire.h:57
OT_VECTEUR_3D::get_x
virtual double get_x(void) const
Definition: ot_mathematique.cpp:417
MG_MAILLAGE::get_premier_segment
MG_SEGMENT * get_premier_segment(LISTE_MG_SEGMENT::iterator &)
Definition: mg_maillage.cpp:630
MAILLEUR3D
Definition: mailleur3d.h:51
MG_TETRA
Definition: mg_tetra.h:37
MG_GEOMETRIE::ajouter_mg_sommet
virtual int ajouter_mg_sommet(MG_SOMMET *mgsom)
Definition: mg_geometrie.cpp:497
MG_HEXA
Definition: mg_hexa.h:37
mailleur3d_couche.h
MAILLEUR2D
Definition: mailleur2d.h:49
MSTRUCT_VES_DECOUP::bouge_noeud_proche
void bouge_noeud_proche(int plan_nb, double eps_check)
Definition: mstruct_ves_decoup.cpp:1227
MAILLEUR1D
Definition: mailleur1d.h:36
MAILLEUR0D
Definition: mailleur0d.h:34
MG_TRIANGLE::get_lien_tetra
TPL_LISTE_ENTITE< class MG_TETRA * > * get_lien_tetra(void)
Definition: mg_triangle.cpp:177
MSTRUCT_VES_DECOUP::generer_tetra_5node
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)
Definition: mstruct_ves_decoup.cpp:15595
parse.h
MAGIC::TYPEVOLUME::CYLINDRE
@ CYLINDRE
Definition: mg_definition.h:185
MG_ELEMENT_TOPOLOGIQUE::get_lien_maillage
virtual TPL_SET< MG_ELEMENT_MAILLAGE * > * get_lien_maillage(void)
Definition: mg_element_topologique.cpp:62
MG_MAILLAGE::get_suivant_tetra
MG_TETRA * get_suivant_tetra(LISTE_MG_TETRA::iterator &it)
Definition: mg_maillage.cpp:1382
MG_ELEMENT_TOPOLOGIQUE
Definition: mg_element_topologique.h:51
OT_CPU::initialise
void initialise(void)
Definition: ot_cpu.cpp:49
MG_GEOMETRIE::get_suivant_sommet
MG_SOMMET * get_suivant_sommet(LISTE_MG_SOMMET::iterator &it)
Definition: mg_geometrie.cpp:632
mstruct_groupe_volume.h
MG_CG_GROUPE_FORME::ajouter_mgcg_forme
int ajouter_mgcg_forme(MG_CG_FORME *mgcg_forme)
Definition: mg_cg_groupe_forme.cpp:60
MG_GESTIONNAIRE::ajouter_mg_maillage
int ajouter_mg_maillage(MG_MAILLAGE *mgmai)
Definition: mg_gestionnaire.cpp:521
mstruct_parametres.h
MG_ELEMENT_MAILLAGE::get_nouveau_numero
virtual int get_nouveau_numero(void)
Definition: mg_element_maillage.cpp:81
mgaster.h
MG_ARETE_ELEMENT
Definition: mg_arete_element.h:32
mstruct_analyse_energie_hill.h
MSTRUCT_VES::change_mg_geometrie
virtual void change_mg_geometrie(MG_GEOMETRIE *mg_geometrie)
Definition: mstruct_ves.cpp:140
TPL_SET::ajouter
void ajouter(X x)
Definition: tpl_set.h:55
MSTRUCT_VES::m_mg_geometrie
MG_GEOMETRIE * m_mg_geometrie
Definition: mstruct_ves.h:123
mstruct_ves_decoup.h
mg_volume_element.h
mg_point.h
MG_MAILLAGE::get_premier_triangle
MG_TRIANGLE * get_premier_triangle(LISTE_MG_TRIANGLE::iterator &it)
Definition: mg_maillage.cpp:912
MG_MAILLAGE::supprimer_mg_tetraid
int supprimer_mg_tetraid(unsigned long num)
Definition: mg_maillage.cpp:1268
lc_point.h
MG_GESTIONNAIRE::ajouter_mg_geometrie
int ajouter_mg_geometrie(MG_GEOMETRIE *mggeo)
Definition: mg_gestionnaire.cpp:306
MG_MAILLAGE::ajouter_mg_triangle
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)
Definition: mg_maillage.cpp:731
OPERATEUR::egal
static int egal(double a, double b, double eps)
Definition: ot_mathematique.cpp:1629
TPL_MAP_ENTITE::get_nb
virtual int get_nb(void)
Definition: tpl_map_entite.h:83
MG_NOEUD
Definition: mg_noeud.h:41
TPL_SET::get_nb
int get_nb(void)
Definition: tpl_set.h:78
TPL_GRILLE::rechercher
virtual void rechercher(BOITE_3D bt, TPL_MAP_ENTITE< A > &liste_entite_trouve)
Definition: tpl_grille.h:202
MSTRUCT_VES::maill_struct
int maill_struct(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, int n, int m, int k)
Definition: mstruct_ves.cpp:991
MSTRUCT_VES::change_boite_3D_ves
virtual void change_boite_3D_ves(BOITE_3D boite3D)
Definition: mstruct_ves.cpp:202
MG_MAILLAGE::get_suivant_segment
MG_SEGMENT * get_suivant_segment(LISTE_MG_SEGMENT::iterator &)
Definition: mg_maillage.cpp:638
tpl_grille.h
MG_CG_MODELE
Definition: mg_cg_modele.h:41
mailleur1d.h
TPL_LISTE_ENTITE::ajouter
virtual void ajouter(X x)
Definition: tpl_liste_entite.h:38
MG_NOEUD::get_coord
virtual double * get_coord(void)
Definition: mg_noeud.cpp:92
MG_ELEMENT_TOPOLOGIQUE::ajouter_contrainte
virtual void ajouter_contrainte(double val)
Definition: mg_element_topologique.cpp:447
MG_CG_ASSEMBLAGE
Definition: mg_cg_assemblage.h:37
MSTRUCT_VES_DECOUP::MSTRUCT_VES_DECOUP
MSTRUCT_VES_DECOUP(char *fichier_ves)
Definition: mstruct_ves_decoup.cpp:115
MSTRUCT_VES_DECOUP::generer_tetra_6node_4seg
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)
Definition: mstruct_ves_decoup.cpp:3487
OT_ALGORITHME_GEOMETRIQUE
Definition: ot_algorithme_geometrique.h:32
MSTRUCT_VES_DECOUP::get_lst_tetra_cut
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)
Definition: mstruct_ves_decoup.cpp:1485
MSTRUCT_VES::change_temps_maillage
virtual void change_temps_maillage(double temps)
Definition: mstruct_ves.cpp:252
mg_face_element.h
MSTRUCT_VES_DECOUP::generer_geometrie_virtuel
void generer_geometrie_virtuel(void)
Definition: mstruct_ves_decoup.cpp:18541
OT_PARAMETRES
Definition: ot_parametres.h:31
MG_GESTIONNAIRE::get_mg_maillage
MG_MAILLAGE * get_mg_maillage(unsigned int num)
Definition: mg_gestionnaire.cpp:550
TPL_LISTE_ENTITE::get_nb
virtual int get_nb(void)
Definition: tpl_liste_entite.h:67
MSTRUCT_VES_DECOUP::geo_virtu
MG_GEOMETRIE * geo_virtu
Definition: mstruct_ves_decoup.h:70
mg_sous_geometrie.h
mstruct_analyse_fem_maillage.h
OT_CPU::get_etape
void get_etape(int num, std::string &nom, double &temps)
Definition: ot_cpu.cpp:71
MG_MAILLAGE::get_nb_mg_segment
unsigned int get_nb_mg_segment(void)
Definition: mg_maillage.cpp:646
MG_TRIANGLE::get_noeud2
virtual MG_NOEUD * get_noeud2(void)
Definition: mg_triangle.cpp:131
MG_GEOMETRIE::get_premier_sommet
MG_SOMMET * get_premier_sommet(LISTE_MG_SOMMET::iterator &it)
Definition: mg_geometrie.cpp:624
MG_MAILLAGE::get_suivant_hexa
MG_HEXA * get_suivant_hexa(LISTE_MG_HEXA::iterator &it)
Definition: mg_maillage.cpp:1660
mstruct_definition.h
MSTRUCT_VES
Definition: mstruct_ves.h:45
MSTRUCT_VES::m_mg_gestionnaire
MG_GESTIONNAIRE * m_mg_gestionnaire
Definition: mstruct_ves.h:120
MG_CG_GROUPE_FORME
Definition: mg_cg_groupe_forme.h:30
TPL_LISTE_ENTITE::get
virtual X get(int num)
Definition: tpl_liste_entite.h:72
ot_mathematique.h
m3d_noeud.h
MG_VOLUME_ELEMENT
Definition: mg_volume_element.h:32
fem_penta15.h
OPERATEUR::qualite_tetra
static double qualite_tetra(double *noeud1, double *noeud2, double *noeud3, double *noeud4)
Definition: ot_mathematique.cpp:1673
mg_cg_forme_volume_cylindre.h
mg_cg_modele.h
MG_GEOMETRIE::ajouter_mg_face
virtual int ajouter_mg_face(MG_FACE *mgface)
Definition: mg_geometrie.cpp:1210
OT_VECTEUR_3D::get_y
virtual double get_y(void) const
Definition: ot_mathematique.cpp:423
mstruct_generateur_dcr.h
MAGIC::TYPEVOLUME::SPHERE
@ SPHERE
Definition: mg_definition.h:185
MG_MAILLAGE::get_mg_noeudid
MG_NOEUD * get_mg_noeudid(unsigned long num)
Definition: mg_maillage.cpp:451
MSTRUCT_VES_DECOUP::generer_cg_forme_geometrique
virtual void generer_cg_forme_geometrique(void)
Definition: mstruct_ves_decoup.cpp:19271
MSTRUCT_VES::change_mg_maillage
virtual void change_mg_maillage(MG_MAILLAGE *mg_maillage)
Definition: mstruct_ves.cpp:180
MG_GEOMETRIE::get_nb_mg_face
unsigned int get_nb_mg_face(void)
Definition: mg_geometrie.cpp:1264
MSTRUCT_VES_DECOUP::generer_maillage
virtual int generer_maillage(OT_PARAMETRES *param, FCT_TAILLE_FEM_SOLUTION *carte)
Definition: mstruct_ves_decoup.cpp:126
MG_NOEUD::get_x
virtual double get_x(void)
Definition: mg_noeud.cpp:77
TPL_LISTE_ENTITE::vide
virtual void vide(void)
Definition: tpl_liste_entite.h:77
MG_GEOMETRIE::get_premier_arete
MG_ARETE * get_premier_arete(LISTE_MG_ARETE::iterator &it)
Definition: mg_geometrie.cpp:907
OT_VECTEUR_3D
Definition: ot_mathematique.h:94
TPL_MAP_ENTITE::ajouter
virtual void ajouter(X x)
Definition: tpl_map_entite.h:55
m3d_tetra.h
MSTRUCT_VES::change_mg_gestionnaire
virtual void change_mg_gestionnaire(MG_GESTIONNAIRE *gest)
Definition: mstruct_ves.cpp:135
MG_GEOMETRIE::get_nb_mg_volume
unsigned int get_nb_mg_volume(void)
Definition: mg_geometrie.cpp:1712
mg_cg_assemblage.h
fem_penta6.h
MG_CG::creer_MG_CG_ASSEMBLAGE
static MG_CG_ASSEMBLAGE * creer_MG_CG_ASSEMBLAGE(MG_CG_MODELE *mgcg_modele, std::string nom_mgcg_assemblage)
Definition: mg_cg.cpp:97
mailleur3d_structure.h
mstruct_analyse_cao.h
MG_TRIANGLE::get_noeud1
virtual MG_NOEUD * get_noeud1(void)
Definition: mg_triangle.cpp:126
MAILLEUR_PARTICULE_FINE::maille
virtual int maille(MG_GROUPE_TOPOLOGIQUE *mggt=NULL)
Definition: mailleur_particule_fine.cpp:52
MSTRUCT_VES_DECOUP::generer_tetra_4node
void generer_tetra_4node(MG_TETRA *tetra_cutt, TPL_MAP_ENTITE< MG_NOEUD * > lst_node_in, int &nb_tet_4nodes_accepted)
Definition: mstruct_ves_decoup.cpp:1583
BOITE_3D
Definition: ot_boite_3d.h:27
mg_maillage.h
mg_cg_info.h
MAILLEUR3D_COUCHE
Definition: mailleur3d_couche.h:40
fem_triangle6.h
MG_GEOMETRIE::ajouter_mg_arete
virtual int ajouter_mg_arete(MG_ARETE *mgarete)
Definition: mg_geometrie.cpp:759
mailleur3d.h
MAILLEUR1D::maille
int maille(MG_GROUPE_TOPOLOGIQUE *mggt=NULL)
Definition: mailleur1d.cpp:50
MSTRUCT_VES::m_mg_maillage
MG_MAILLAGE * m_mg_maillage
Definition: mstruct_ves.h:124
MSTRUCT_VES_DECOUP::generer_tetra_6node_3seg
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)
Definition: mstruct_ves_decoup.cpp:1605
fem_tetra4.h
MAILLEUR2D::maille
int maille(MG_GROUPE_TOPOLOGIQUE *mggt=NULL)
Definition: mailleur2d.cpp:49
mailleur_particule_fine.h
MSTRUCT_VES_DECOUP::gestionnaire_virtu
MG_GESTIONNAIRE * gestionnaire_virtu
Definition: mstruct_ves_decoup.h:69
MG_ELEMENT_MAILLAGE::get_lien_topologie
MG_ELEMENT_TOPOLOGIQUE * get_lien_topologie(void)
Definition: mg_element_maillage.cpp:51
MSTRUCT_VES_DECOUP::mai_virtu
MG_MAILLAGE * mai_virtu
Definition: mstruct_ves_decoup.h:71
MG_GESTIONNAIRE::get_nb_mg_maillage
unsigned int get_nb_mg_maillage(void)
Definition: mg_gestionnaire.cpp:579
mailleur3d_optimisation_geometrie_virtuelle.h
ot_algorithme_geometrique.h
TPL_MAP_ENTITE::get
virtual X get(int num)
Definition: tpl_map_entite.h:89
MG_TRIANGLE::get_noeud3
virtual MG_NOEUD * get_noeud3(void)
Definition: mg_triangle.cpp:137
MG_GEOMETRIE::get_premier_volume
MG_VOLUME * get_premier_volume(LISTE_MG_VOLUME::iterator &it)
Definition: mg_geometrie.cpp:1694
mstruct_analyse_mg_maillage.h
OT_VECTEUR_3D::get_z
virtual double get_z(void) const
Definition: ot_mathematique.cpp:429
fem_triangle3.h
MG_CG::creer_MG_CG_GROUPE_FORME
static MG_CG_GROUPE_FORME * creer_MG_CG_GROUPE_FORME(MG_CG_MODELE *mgcg_modele, std::string nom)
Definition: mg_cg.cpp:107
MG_GEOMETRIE
Definition: mg_geometrie.h:84
OT_ALGORITHME_GEOMETRIQUE::Dist3D_Point_Plan
static double Dist3D_Point_Plan(double *norm, double *root, double *pnt)
Definition: ot_algorithme_geometrique.cpp:156
MG_MAILLAGE::get_suivant_triangle
MG_TRIANGLE * get_suivant_triangle(LISTE_MG_TRIANGLE::iterator &it)
Definition: mg_maillage.cpp:920
MG_MAILLAGE
Definition: mg_maillage.h:62
mstruct_analyse_champ.h
TPL_LISTE_ENTITE< MG_NOEUD * >
mailleur_fem.h
MG_FACE_ELEMENT
Definition: mg_face_element.h:32
MG_GEOMETRIE::change_est_construction
void change_est_construction(bool val)
Definition: mg_geometrie.cpp:2712
MG_ARETE
Definition: mg_arete.h:36
MG_FACE
Definition: mg_face.h:34
pars_argument.h
MG_ELEMENT_TOPOLOGIQUE::get_valeur_ccf
virtual bool get_valeur_ccf(char *nom, double &val)
Definition: mg_element_topologique.cpp:310
MG_ELEMENT_MAILLAGE::get_origine
virtual int get_origine(void)
Definition: mg_element_maillage.cpp:91
MG_GESTIONNAIRE::ajouter_mgcg_modele
int ajouter_mgcg_modele(MG_CG_MODELE *mgcg_modele)
Definition: mg_gestionnaire.cpp:96
MSTRUCT_VES::change_mgcg_assemblage
virtual void change_mgcg_assemblage(MG_CG_ASSEMBLAGE *mgcg_assemblage)
Definition: mstruct_ves.cpp:151
TPL_MAP_ENTITE::get_suivant
virtual X get_suivant(ITERATEUR &it)
Definition: tpl_map_entite.h:120
MG_SOMMET
Definition: mg_sommet.h:35
mg_cg_op_bool_difference.h
MG_CG_ASSEMBLAGE::ajouter_mgcg_forme
virtual int ajouter_mgcg_forme(MG_CG_FORME *mgcg_forme, bool avec_mg_element=true)
Definition: mg_cg_assemblage.cpp:87
MG_SOMMET_NOEUD
Definition: mg_sommet_noeud.h:33
MSTRUCT_VES::change_mgcg_modele
virtual void change_mgcg_modele(MG_CG_MODELE *mgcg_modele)
Definition: mstruct_ves.cpp:163
MAILLEUR2D::change_niveau_optimisation
void change_niveau_optimisation(int num)
Definition: mailleur2d.cpp:1609
MG_GEOMETRIE::get_suivant_face
MG_FACE * get_suivant_face(LISTE_MG_FACE::iterator &it)
Definition: mg_geometrie.cpp:1346
MAGIC::ORIGINE::MAILLEUR_AUTO
@ MAILLEUR_AUTO
Definition: mg_definition.h:79
TPL_GRILLE::initialiser
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
TPL_MAP_ENTITE::vide
virtual void vide(void)
Definition: tpl_map_entite.h:106
MAILLEUR_PARTICULE_FINE
Definition: mailleur_particule_fine.h:38
MG_SOMMET_NOEUD::change_mg_noeud
virtual void change_mg_noeud(MG_NOEUD *notmp)
Definition: mg_sommet_noeud.cpp:117
mstruct_analyse_erosion.h
MG_MAILLAGE::get_suivant_noeud
MG_NOEUD * get_suivant_noeud(LISTE_MG_NOEUD::iterator &it)
Definition: mg_maillage.cpp:556
MG_CG_FORME_VOLUME
Definition: mg_cg_forme_volume.h:36
MAILLEUR3D_OPTIMISATION_GEOMETRIE_VIRTUELLE
Definition: mailleur3d_optimisation_geometrie_virtuelle.h:35
mstruct_analyse_orientation.h
MG_GEOMETRIE::get_mg_volume
MG_VOLUME * get_mg_volume(unsigned int num)
Definition: mg_geometrie.cpp:1683
MAILLEUR3D_OPTIMISATION::optimise
virtual void optimise(MG_VOLUME *mgvol)
Definition: mailleur3d_optimisation.cpp:88
MAILLEUR0D::maille
int maille(MG_GROUPE_TOPOLOGIQUE *mggt=NULL)
Definition: mailleur0d.cpp:43
MG_GEOMETRIE::get_suivant_arete
MG_ARETE * get_suivant_arete(LISTE_MG_ARETE::iterator &it)
Definition: mg_geometrie.cpp:915
OT_GEOMETRIE::est_dans_mg_volume
static int est_dans_mg_volume(double *xyz, MG_VOLUME *mgvolume)
Definition: ot_geometrie.cpp:534
MAILLEUR::change_priorite_metrique
virtual void change_priorite_metrique(double val)
Definition: mailleur.cpp:53
OT_VECTEUR_3D::change_x
virtual void change_x(double x)
Definition: ot_mathematique.cpp:434
MG_MAILLAGE::get_premier_hexa
MG_HEXA * get_premier_hexa(LISTE_MG_HEXA::iterator &it)
Definition: mg_maillage.cpp:1652
mailleur0d.h
mg_volume.h
TPL_SET::get_suivant
X get_suivant(ITERATEUR &it)
Definition: tpl_set.h:107
MG_GEOMETRIE::get_nb_mg_sommet
unsigned int get_nb_mg_sommet(void)
Definition: mg_geometrie.cpp:552
MG_NOEUD::get_y
virtual double get_y(void)
Definition: mg_noeud.cpp:82
MG_MAILLAGE::ajouter_mg_noeud
MG_NOEUD * ajouter_mg_noeud(MG_ELEMENT_TOPOLOGIQUE *topo, double xx, double yy, double zz, int origine, unsigned long num=0)
Definition: mg_maillage.cpp:421
mg_cg_op_transf_decallage.h
m
#define m(i, j)