Salome HOME
IsDimSupported method added
[modules/smesh.git] / src / MEFISTO2 / aptrte.cxx
index 58da98168175e2835bd00c924cc51a64c728ab1f..40c09052378101f2593917d8d41e391436080b9b 100755 (executable)
@@ -1,8 +1,34 @@
-using namespace std;
+//  MEFISTO : library to compute 2D triangulation from segmented boundaries
+//
+//  Copyright (C) 2003  Laboratoire J.-L. Lions UPMC Paris
+//
+//  This library is free software; you can redistribute it and/or
+//  modify it under the terms of the GNU Lesser General Public
+//  License as published by the Free Software Foundation; either
+//  version 2.1 of the License.
+//
+//  This library is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+//  Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with this library; if not, write to the Free Software
+//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+//  See http://www.ann.jussieu.fr/~perronne or email Perronnet@ann.jussieu.fr
+//
+//
+//  File   : aptrte.cxx
+//  Module : SMESH
+//  Author: Alain PERRONNET
+
 #include "Rn.h"
 #include "aptrte.h"
 #include "utilities.h"
 
 #include "Rn.h"
 #include "aptrte.h"
 #include "utilities.h"
 
+using namespace std;
+
 extern "C"
 {
   R aretemaxface_;
 extern "C"
 {
   R aretemaxface_;
@@ -198,8 +224,8 @@ void  aptrte( Z nutysu, R aretmx,
     mnpxyd[ns0].x = uvslf[ns0].x;
     mnpxyd[ns0].y = uvslf[ns0].y;
     mnpxyd[ns0].z = areteideale_( mnpxyd[ns0], direction );
     mnpxyd[ns0].x = uvslf[ns0].x;
     mnpxyd[ns0].y = uvslf[ns0].y;
     mnpxyd[ns0].z = areteideale_( mnpxyd[ns0], direction );
-//     cout << "Sommet " << ns0 << ": " << mnpxyd[ns0].x
-//      << " " << mnpxyd[ns0].y << " longueur arete=" << mnpxyd[ns0].z << endl;
+//     MESSAGE("Sommet " << ns0 << ": " << mnpxyd[ns0].x
+//      << " " << 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 ) 
 
     //carre de la longueur de l'arete 1 de la ligne fermee n
     d = pow( uvslf[ns0+1].x - uvslf[ns0].x, 2 ) 
@@ -250,8 +276,8 @@ void  aptrte( Z nutysu, R aretmx,
       mnpxyd[ns].x = uvslf[ns].x;
       mnpxyd[ns].y = uvslf[ns].y;
       mnpxyd[ns].z = areteideale_( mnpxyd[ns], direction );
       mnpxyd[ns].x = uvslf[ns].x;
       mnpxyd[ns].y = uvslf[ns].y;
       mnpxyd[ns].z = areteideale_( mnpxyd[ns], direction );
-//       cout << "Sommet " << ns << ": " << mnpxyd[ns].x
-//        << " " << mnpxyd[ns].y << " longueur arete=" << mnpxyd[ns].z << endl;
+//       MESSAGE("Sommet " << ns << ": " << mnpxyd[ns].x
+//        << " " << 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) 
 
       //carre de la longueur de l'arete
       d = pow( uvslf[ns2-1].x - uvslf[ns1-1].x, 2) 
@@ -283,8 +309,8 @@ void  aptrte( Z nutysu, R aretmx,
   aremax = sqrt( aremax );  //longueur maximale d'une arete
 
   aretmx = Min( aretmx, aremax );  //pour homogeneiser
   aremax = sqrt( aremax );  //longueur maximale d'une arete
 
   aretmx = Min( aretmx, aremax );  //pour homogeneiser
-  cout << "nutysu=" << nutysu << "  aretmx=" << aretmx 
-       << "  arete min=" << aremin << "  arete max=" << aremax << endl;
+  MESSAGE("nutysu=" << nutysu << "  aretmx=" << aretmx 
+       << "  arete min=" << aremin << "  arete max=" << aremax);
 
   //chainage des aretes frontalieres : la derniere arete frontaliere
   mnsoar[ mosoar * noar - mosoar + 5 ] = 0;
 
   //chainage des aretes frontalieres : la derniere arete frontaliere
   mnsoar[ mosoar * noar - mosoar + 5 ] = 0;
@@ -366,8 +392,8 @@ void  aptrte( Z nutysu, R aretmx,
 
   deltacpu_( d );
   tcpu += d;
 
   deltacpu_( d );
   tcpu += d;
-  cout << "Temps de l'adaptation et l'homogeneisation de l'arbre-4 des TE="
-       << d << " secondes" << endl;
+  MESSAGE("Temps de l'adaptation et l'homogeneisation de l'arbre-4 des TE="
+       << d << " secondes");
   if( ierr != 0 )
   {
     //destruction du tableau auxiliaire et de l'arbre
   if( ierr != 0 )
   {
     //destruction du tableau auxiliaire et de l'arbre
@@ -423,8 +449,8 @@ void  aptrte( Z nutysu, R aretmx,
   MESSAGE( "Nombre d'echanges des diagonales de 2 triangles=" << n );
   deltacpu_( d );
   tcpu += d;
   MESSAGE( "Nombre d'echanges des diagonales de 2 triangles=" << n );
   deltacpu_( d );
   tcpu += d;
-  cout << "Temps de la triangulation Delaunay par echange des diagonales="
-       << d << " secondes" << endl;
+  MESSAGE("Temps de la triangulation Delaunay par echange des diagonales="
+       << d << " secondes");
 
   //qualites de la triangulation actuelle
   qualitetrte( mnpxyd, mosoar, mxsoar, mnsoar, moartr, mxartr, mnartr,
 
   //qualites de la triangulation actuelle
   qualitetrte( mnpxyd, mosoar, mxsoar, mnsoar, moartr, mxartr, mnartr,
@@ -456,8 +482,8 @@ void  aptrte( Z nutysu, R aretmx,
   MESSAGE( "Restauration de " << n << " aretes perdues de la frontiere" );
   deltacpu_( d );
   tcpu += d;
   MESSAGE( "Restauration de " << n << " aretes perdues de la frontiere" );
   deltacpu_( d );
   tcpu += d;
-  cout << "Temps de la recuperation des aretes perdues de la frontiere="
-       << d << " secondes" << endl;
+  MESSAGE("Temps de la recuperation des aretes perdues de la frontiere="
+       << d << " secondes");
 
   if( ierr != 0 ) goto ERREUR;
 
 
   if( ierr != 0 ) goto ERREUR;
 
@@ -623,8 +649,8 @@ void  aptrte( Z nutysu, R aretmx,
     }
   }
   nbt /= 4;  //le nombre final de triangles de la surface
     }
   }
   nbt /= 4;  //le nombre final de triangles de la surface
-  cout << "Nombre de sommets=" << nbst
-       << "  Nombre de triangles=" << nbt << endl;
+  MESSAGE("Nombre de sommets=" << nbst
+       << "  Nombre de triangles=" << nbt);
 
   deltacpu_( d );
   tcpu += d;
 
   deltacpu_( d );
   tcpu += d;
@@ -737,9 +763,9 @@ void qualitetrte( R3 *mnpxyd,
       {
        //un triangle d'aire negative de plus
        nbtrianeg++;
       {
        //un triangle d'aire negative de plus
        nbtrianeg++;
-       cout << "ATTENTION: le triangle " << nt << " de sommets:"
+       MESSAGE("ATTENTION: le triangle " << nt << " de sommets:"
             << nosotr[0] << " " << nosotr[1] << " " << nosotr[2]
             << nosotr[0] << " " << nosotr[1] << " " << nosotr[2]
-            << " a une aire " << d <<"<=0" << endl;
+            << " a une aire " << d <<"<=0");
       }
 
       //aire des triangles actuels
       }
 
       //aire des triangles actuels
@@ -749,10 +775,10 @@ void qualitetrte( R3 *mnpxyd,
 
   //les affichages
   quamoy /= nbtria;
 
   //les affichages
   quamoy /= nbtria;
-  cout << "Qualite moyenne=" << quamoy
+  MESSAGE("Qualite moyenne=" << quamoy
        << "  Qualite minimale=" << quamin
        << " des " << nbtria << " triangles de surface totale="
        << "  Qualite minimale=" << quamin
        << " des " << nbtria << " triangles de surface totale="
-       << aire << endl;
+       << aire);
 
   if( nbtrianeg>0 )
     MESSAGE( "ATTENTION: nombre de triangles d'aire negative=" << nbtrianeg );
 
   if( nbtrianeg>0 )
     MESSAGE( "ATTENTION: nombre de triangles d'aire negative=" << nbtrianeg );