Main Page   Packages   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

C:/temp/src/j2k/Beta/3D/Topolog.cpp

Go to the documentation of this file.
00001 // Source des classes de numérotation des modeleurs.
00002 
00003 #include <j2k/Fred/3D/Topolog.hpp>
00004 
00005 #define   __ALaLigne       fprintf( f, "\n")
00006 #define   __SaveUseMode    char tmp = n.UseMode
00007 #define   __RestorUseMode  n.UseMode = tmp
00008 
00009 int numerotation::NumArc( numerotation& n, FILE* f ) {
00010 
00011    UINT i = 0;
00012    UINT j = 0;
00013 
00014    __SaveUseMode;
00015    n.UseMode =  CREATION;
00016 
00017    for( i = 0; i <= n.m; i++ ) {
00018      for( j = 0; j <= n.n; j++ ) {
00019 
00020        if ( n.Arete2(i,j) == 0L ) continue;
00021          if ( fprintf( f, "%u %u  ",
00022               n.som1(i,j), n.som3(i,j)) == EOF ) {
00023                 return MOD_NUM_ERROR_BAD_FIC_WRITE;
00024          }
00025 
00026      } // Next j
00027 
00028      __ALaLigne;
00029 
00030      for( j = 0; j <= n.n; j++ ) {
00031 
00032        if ( n.Arete1(i,j) == 0L ) continue;
00033 
00034          if ( fprintf( f, "%u %u  ",
00035               n.som1(i,j), n.som2(i,j)) == EOF ) {
00036               return MOD_NUM_ERROR_BAD_FIC_WRITE;
00037          }
00038 
00039      } // Next j
00040 
00041      __ALaLigne;
00042 
00043    } // Next i
00044 
00045    __RestorUseMode;
00046 
00047    return SUCCESS;
00048 }
00049 
00050 int numerotation::NumFace( numerotation& n, FILE* f ) {
00051 
00052    UINT i = 0;
00053    UINT j = 0;
00054 
00055    __SaveUseMode;
00056 
00057    for( i = 0; i <= n.m; i++ ) {
00058      for( j = 0; j <= n.n; j++ ) {
00059 
00060        n.UseMode = CREATION;
00061 
00062        if ( n.Face(i,j) == 0L ) continue;
00063 
00064        n.UseMode = INDEXATION;
00065        if ( n.som1(i,j) == n.som2(i,j) ) {
00066 
00067          if ( fprintf( f, "%u %u %u %u  ", 3,
00068               n.Arete2(i,j),
00069               n.Arete3(i,j),
00070               n.Arete4(i,j)) == EOF ) {
00071               return MOD_NUM_ERROR_BAD_FIC_WRITE;
00072          }
00073 
00074          continue;
00075 
00076        } // end if
00077 
00078        if ( n.som3(i,j) == n.som4(i,j) ) {
00079          if ( fprintf( f, "%u %u %u %u  ", 3,
00080               n.Arete1(i,j),
00081               n.Arete2(i,j),
00082               n.Arete4(i,j)) == EOF ) {
00083               return MOD_NUM_ERROR_BAD_FIC_WRITE;
00084          }
00085 
00086          continue;
00087 
00088        } // end if
00089 
00090        if ( fprintf( f, "%u %u %u %u %u  ", 4,
00091             n.Arete1(i,j),
00092             n.Arete2(i,j),
00093             n.Arete3(i,j),
00094             n.Arete4(i,j)) == EOF ) {
00095             return MOD_NUM_ERROR_BAD_FIC_WRITE;
00096        }
00097 
00098      } // Next j
00099 
00100      __ALaLigne;
00101 
00102   } // Next i
00103 
00104   __RestorUseMode;
00105 
00106   return SUCCESS;
00107 }
00108 
00109 #undef __ALaLigne
00110 #undef __SaveUseMode
00111 #undef __RestorUseMode
00112 

Generated on Sun Oct 14 18:46:08 2001 for Standard J2K Library by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001