Salome HOME
PR: merged from V5_1_4rc1
[modules/smesh.git] / src / MEFISTO2 / aptrte.cxx
index 9d9e80c5b67004127d6d5ac372e13505d684cf19..04ed4670051d1567f44b63bb5243e99b294e8b43 100755 (executable)
@@ -87,11 +87,11 @@ deltacpu_( R & dtcpu )
 
 
 void  aptrte( Z   nutysu, R      aretmx,
-             Z   nblf,   Z  *   nudslf,  R2 * uvslf,
-             Z   nbpti,  R2 *   uvpti,
-             Z & nbst,   R2 * & uvst,
-             Z & nbt,    Z  * & nust,
-             Z & ierr )
+              Z   nblf,   Z  *   nudslf,  R2 * uvslf,
+              Z   nbpti,  R2 *   uvpti,
+              Z & nbst,   R2 * & uvst,
+              Z & nbt,    Z  * & nust,
+              Z & ierr )
 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 // but : appel de la triangulation par un arbre-4 recouvrant
 // ----- de triangles equilateraux
@@ -184,7 +184,7 @@ void  aptrte( Z   nutysu, R      aretmx,
   mxsomm = Max( 20000, 64*nbpti+i*i );
   MESSAGE( "APTRTE: Debut de la triangulation plane avec " );
   MESSAGE( "nutysu=" << nutysu << "  aretmx=" << aretmx
-          << "  mxsomm=" << mxsomm );
+           << "  mxsomm=" << mxsomm );
   MESSAGE( nbarfr << " sommets sur la frontiere et " << nbpti << " points internes");
 
  NEWDEPART:
@@ -247,7 +247,7 @@ void  aptrte( Z   nutysu, R      aretmx,
     mnpxyd[ns0].y = uvslf[ns0].y;
     mnpxyd[ns0].z = areteideale();//( mnpxyd[ns0], direction );
 //     MESSAGE("Sommet " << ns0 << ": " << mnpxyd[ns0].x
-//      << " " << mnpxyd[ns0].y << " longueur arete=" << mnpxyd[ns0].z);
+//       << " " << mnpxyd[ns0].y << " longueur arete=" << mnpxyd[ns0].z);
 
     //carre de la longueur de l'arete 1 de la ligne fermee n
     d = pow( uvslf[ns0+1].x - uvslf[ns0].x, 2 ) 
@@ -268,8 +268,8 @@ void  aptrte( Z   nutysu, R      aretmx,
      //le numero n de la ligne du sommet et son numero ns1 dans la ligne
     mnslig[ns0-1] = 1000000 * n + ns1-nudslf[n-1];
     fasoar( ns1, ns2, moins1, moins1, n,
-            mosoar, mxsoar, n1soar, mnsoar, mnarst,
-            noar0,  ierr );
+             mosoar, mxsoar, n1soar, mnsoar, mnarst,
+             noar0,  ierr );
     //pas de test sur ierr car pas de saturation possible a ce niveau
 
     //le pointeur dans le hachage sur la premiere arete de la ligne fermee n
@@ -286,11 +286,11 @@ void  aptrte( Z   nutysu, R      aretmx,
     {
       ns1 = ns2; //le numero de l'arete et le numero du premier sommet de l'arete
       if( i < nbarli )
-       //nbs+1 est le 2-eme sommet de l'arete i de la ligne fermee n
-       ns2 = ns1+1;
+        //nbs+1 est le 2-eme sommet de l'arete i de la ligne fermee n
+        ns2 = ns1+1;
       else
-       //le 2-eme sommet de la derniere arete est le premier sommet de la ligne
-       ns2 = ns0;
+        //le 2-eme sommet de la derniere arete est le premier sommet de la ligne
+        ns2 = ns0;
 
       //l'arete precedente est dotee de sa suivante:celle cree ensuite
       //les 2 coordonnees du sommet ns2 de la ligne
@@ -302,7 +302,7 @@ void  aptrte( Z   nutysu, R      aretmx,
       mnpxyd[ns].y = uvslf[ns].y;
       mnpxyd[ns].z = areteideale();//( mnpxyd[ns], direction );
 //       MESSAGE("Sommet " << ns << ": " << mnpxyd[ns].x
-//        << " " << mnpxyd[ns].y << " longueur arete=" << mnpxyd[ns].z);
+//         << " " << mnpxyd[ns].y << " longueur arete=" << mnpxyd[ns].z);
 
       //carre de la longueur de l'arete
       d = pow( uvslf[ns2-1].x - uvslf[ns1-1].x, 2) 
@@ -323,8 +323,8 @@ void  aptrte( Z   nutysu, R      aretmx,
 
       //ajout de l'arete dans la liste
       fasoar( ns1, ns2, moins1, moins1, n,
-              mosoar, mxsoar, n1soar, mnsoar,
-              mnarst, noar, ierr );
+               mosoar, mxsoar, n1soar, mnsoar,
+               mnarst, noar, ierr );
       //pas de test sur ierr car pas de saturation possible a ce niveau
 
       //chainage des aretes frontalieres en position 6 du tableau mnsoar
@@ -368,7 +368,7 @@ void  aptrte( Z   nutysu, R      aretmx,
 
   MESSAGE("Sur  le  bord: arete min=" << aremin << " arete max=" << aremax );
   MESSAGE("Triangulation: arete mx=" << aretmx
-         << " triangle aire mx=" << airemx );
+          << " triangle aire mx=" << airemx );
 
   //chainage des aretes frontalieres : la derniere arete frontaliere
   mnsoar[ mosoar * noar - mosoar + 5 ] = 0;
@@ -444,9 +444,9 @@ void  aptrte( Z   nutysu, R      aretmx,
   if( mnqueu==NULL) goto ERREUR;
 
   tehote( nutysu, nbarpi, mxsomm, nbsomm, mnpxyd,
-          comxmi, aretmx,
-          mntree, mxqueu, mnqueu,
-          ierr );
+           comxmi, aretmx,
+           mntree, mxqueu, mnqueu,
+           ierr );
 
   deltacpu_( d );
   tcpu += d;
@@ -471,9 +471,9 @@ void  aptrte( Z   nutysu, R      aretmx,
   // et des points de la frontiere, des points internes imposes interieurs
   // ==========================================================================
   tetrte( comxmi, aretmx, nbarpi, mxsomm, mnpxyd,
-          mxqueu, mnqueu, mntree, mosoar, mxsoar, n1soar, mnsoar,
-          moartr, mxartr, n1artr, mnartr, mnarst,
-          ierr );
+           mxqueu, mnqueu, mntree, mosoar, mxsoar, n1soar, mnsoar,
+           moartr, mxartr, n1artr, mnartr, mnarst,
+           ierr );
 
   // destruction de la queue et de l'arbre devenus inutiles
   delete [] mnqueu;  mnqueu=NULL;
@@ -493,7 +493,7 @@ void  aptrte( Z   nutysu, R      aretmx,
 
   //qualites de la triangulation actuelle
   qualitetrte( mnpxyd, mosoar, mxsoar, mnsoar, moartr, mxartr, mnartr,
-               nbt, quamoy, quamin );
+                nbt, quamoy, quamin );
 
   // boucle sur les aretes internes (non sur une ligne de la frontiere)
   // avec echange des 2 diagonales afin de rendre la triangulation delaunay
@@ -501,8 +501,8 @@ void  aptrte( Z   nutysu, R      aretmx,
   // formation du chainage 6 des aretes internes a echanger eventuellement
   aisoar( mosoar, mxsoar, mnsoar, na );
   tedela( mnpxyd, mnarst,
-          mosoar, mxsoar, n1soar, mnsoar, na,
-          moartr, mxartr, n1artr, mnartr, n );
+           mosoar, mxsoar, n1soar, mnsoar, na,
+           moartr, mxartr, n1artr, mnartr, n );
 
   MESSAGE( "Nombre d'echanges des diagonales de 2 triangles=" << n );
   deltacpu_( d );
@@ -512,7 +512,7 @@ void  aptrte( Z   nutysu, R      aretmx,
 
   //qualites de la triangulation actuelle
   qualitetrte( mnpxyd, mosoar, mxsoar, mnsoar, moartr, mxartr, mnartr,
-               nbt, quamoy, quamin );
+                nbt, quamoy, quamin );
 
   // detection des aretes frontalieres initiales perdues
   // triangulation frontale pour les restaurer
@@ -532,10 +532,10 @@ void  aptrte( Z   nutysu, R      aretmx,
   if( mnarcf2 == NULL ) goto ERREUR;
 
   terefr( nbarpi, mnpxyd,
-          mosoar, mxsoar, n1soar, mnsoar,
-          moartr, mxartr, n1artr, mnartr, mnarst,
-          mxarcf, mn1arcf, mnarcf, mnarcf1, mnarcf2,
-          n, ierr );
+           mosoar, mxsoar, n1soar, mnsoar,
+           moartr, mxartr, n1artr, mnartr, mnarst,
+           mxarcf, mn1arcf, mnarcf, mnarcf1, mnarcf2,
+           n, ierr );
 
   MESSAGE( "Restauration de " << n << " aretes perdues de la frontiere  ierr=" << ierr );
   deltacpu_( d );
@@ -547,7 +547,7 @@ void  aptrte( Z   nutysu, R      aretmx,
 
   //qualites de la triangulation actuelle
   qualitetrte( mnpxyd, mosoar, mxsoar, mnsoar, moartr, mxartr, mnartr,
-               nbt, quamoy, quamin );
+                nbt, quamoy, quamin );
 
   // fin de la triangulation avec respect des aretes initiales frontalieres
 
@@ -573,10 +573,10 @@ void  aptrte( Z   nutysu, R      aretmx,
     mnlftr[n] = n+1;
 
   tesuex( nblf,   mnlftr,
-          ndtri0, nbsomm, mnpxyd, mnslig,
-          mosoar, mxsoar, mnsoar,
-          moartr, mxartr, n1artr, mnartr, mnarst,
-          nbt, mntrsu, ierr );
+           ndtri0, nbsomm, mnpxyd, mnslig,
+           mosoar, mxsoar, mnsoar,
+           moartr, mxartr, n1artr, mnartr, mnarst,
+           nbt, mntrsu, ierr );
 
   delete [] mnlftr; mnlftr=NULL;
   delete [] mntrsu; mntrsu=NULL;
@@ -588,7 +588,7 @@ void  aptrte( Z   nutysu, R      aretmx,
 
   //qualites de la triangulation actuelle
   qualitetrte( mnpxyd, mosoar, mxsoar, mnsoar, moartr, mxartr, mnartr,
-               nbt, quamoy, quamin );
+                nbt, quamoy, quamin );
 
   // amelioration de la qualite de la triangulation par
   // barycentrage des sommets internes a la triangulation
@@ -603,12 +603,12 @@ void  aptrte( Z   nutysu, R      aretmx,
     goto ERREUR;
   }
   teamqt( nutysu,  aretmx,  airemx,
-          mnarst,  mosoar,  mxsoar, n1soar, mnsoar,
-          moartr,  mxartr,  n1artr, mnartr,
-          mxarcf,  mnarcf2, mnarcf3,
-          mn1arcf, mnarcf,  mnarcf1,
-          nbarpi,  nbsomm, mxsomm, mnpxyd, mnslig,
-          ierr );
+           mnarst,  mosoar,  mxsoar, n1soar, mnsoar,
+           moartr,  mxartr,  n1artr, mnartr,
+           mxarcf,  mnarcf2, mnarcf3,
+           mn1arcf, mnarcf,  mnarcf1,
+           nbarpi,  nbsomm, mxsomm, mnpxyd, mnslig,
+           ierr );
   if( mnarcf3 != NULL ) {delete [] mnarcf3; mnarcf3=NULL;}
   if( mn1arcf != NULL ) {delete [] mn1arcf; mn1arcf=NULL;}
   if( mnarcf  != NULL ) {delete [] mnarcf;  mnarcf =NULL;}
@@ -623,7 +623,7 @@ void  aptrte( Z   nutysu, R      aretmx,
 
   //qualites de la triangulation finale
   qualitetrte( mnpxyd, mosoar, mxsoar, mnsoar, moartr, mxartr, mnartr,
-               nbt, quamoy, quamin );
+                nbt, quamoy, quamin );
 
   // renumerotation des sommets internes: mnarst(i)=numero final du sommet
   // ===================================
@@ -669,22 +669,22 @@ void  aptrte( Z   nutysu, R      aretmx,
       n = mnslig[i];
       if( n > 0 )
       {
-       if( n >= 1000000 )
-       {
-         //sommet d'une ligne
-         //retour aux coordonnees initiales dans uvslf
-         l = n / 1000000;
-         n = n - 1000000 * l + nudslf[l-1] - 1;
-         uvst[nbst].x = uvslf[n].x;
-         uvst[nbst].y = uvslf[n].y;
-       }
-       else
-       {
-         //point utilisateur n interne impose
-         //retour aux coordonnees initiales dans uvpti
-         uvst[nbst].x = uvpti[n-1].x;
-         uvst[nbst].y = uvpti[n-1].y;
-       }
+        if( n >= 1000000 )
+        {
+          //sommet d'une ligne
+          //retour aux coordonnees initiales dans uvslf
+          l = n / 1000000;
+          n = n - 1000000 * l + nudslf[l-1] - 1;
+          uvst[nbst].x = uvslf[n].x;
+          uvst[nbst].y = uvslf[n].y;
+        }
+        else
+        {
+          //point utilisateur n interne impose
+          //retour aux coordonnees initiales dans uvpti
+          uvst[nbst].x = uvpti[n-1].x;
+          uvst[nbst].y = uvpti[n-1].y;
+        }
       }
     }
   }
@@ -712,7 +712,7 @@ void  aptrte( Z   nutysu, R      aretmx,
   }
   nbt /= nbsttria;  //le nombre final de triangles de la surface
   MESSAGE( "APTRTE: Fin de la triangulation plane avec "<<nbst<<" sommets et "
-          << nbt << " triangles" );
+           << nbt << " triangles" );
   deltacpu_( d );
   tcpu += d;
   MESSAGE( "APTRTE: Temps total de la triangulation plane=" << tcpu << " secondes" );
@@ -759,9 +759,9 @@ void
 #endif
 #endif
  qualitetrte( R3 *mnpxyd,
-                  Z & mosoar, Z & mxsoar, Z *mnsoar,
-                  Z & moartr, Z & mxartr, Z *mnartr,
-                  Z & nbtria, R & quamoy, R & quamin )
+                   Z & mosoar, Z & mxsoar, Z *mnsoar,
+                   Z & moartr, Z & mxartr, Z *mnartr,
+                   Z & nbtria, R & quamoy, R & quamin )
 // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 // but :    calculer la qualite moyenne et minimale de la triangulation
 // -----    actuelle definie par les tableaux mnsoar et mnartr
@@ -815,7 +815,7 @@ void
 
       //la qualite du triangle ns1 ns2 ns3
       qutr2d( mnpxyd[nosotr[0]-1], mnpxyd[nosotr[1]-1], mnpxyd[nosotr[2]-1],
-              qualite );
+               qualite );
 
       //la qualite moyenne
       quamoy += qualite;
@@ -831,11 +831,11 @@ void
       d = surtd2( mnpxyd[nosotr[0]-1], mnpxyd[nosotr[1]-1], mnpxyd[nosotr[2]-1] );
       if( d<0 )
       {
-       //un triangle d'aire negative de plus
-       nbtrianeg++;
-       MESSAGE("ATTENTION: le triangle " << nt << " de sommets:"
-            << nosotr[0] << " " << nosotr[1] << " " << nosotr[2]
-            << " a une aire " << d <<"<=0");
+        //un triangle d'aire negative de plus
+        nbtrianeg++;
+        MESSAGE("ATTENTION: le triangle " << nt << " de sommets:"
+             << nosotr[0] << " " << nosotr[1] << " " << nosotr[2]
+             << " a une aire " << d <<"<=0");
       }
 
       //aire des triangles actuels
@@ -858,7 +858,7 @@ void
             <<nosotr[0]<<" "<<nosotr[1]<<" "<<nosotr[2]<<" ");
     for (int i=0;i<3;i++)
       MESSAGE("Sommet "<<nosotr[i]<<": x="<< mnpxyd[nosotr[i]-1].x
-             <<" y="<< mnpxyd[nosotr[i]-1].y);
+              <<" y="<< mnpxyd[nosotr[i]-1].y);
   }
 
   if( nbtrianeg>0 )