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

numerotation Class Reference

#include <Topolog.hpp>

Inheritance diagram for numerotation::

FermeFerme FermeOuvert OuvertFerme OuvertOuvert FermeOuvertOnAxisBoth FermeOuvertOnAxisInf FermeOuvertOnAxisSup OuvertOuvertOnAxisBoth OuvertOuvertOnAxisInf OuvertOuvertOnAxisSup List of all members.

Public Methods

 numerotation (Cardinal m=0, Cardinal n=0)
virtual Cardinal CardinalSommet ()
virtual Cardinal CardinalArc ()=0
virtual Cardinal CardinalFace ()=0

Static Public Methods

int NumArc (numerotation &n, FILE *f)
int NumFace (numerotation &n, FILE *f)

Public Attributes

Cardinal m
Cardinal n
char UseMode

Protected Methods

virtual Index Noeud (Index i, Index j)=0
virtual Index Arete1 (Index i, Index j)=0
virtual Index Arete2 (Index i, Index j)=0
Index Arete3 (Index i, Index j)
Index Arete4 (Index i, Index j)
virtual Index Face (Index i, Index j)=0
virtual Index som1 (Index i, Index j)
virtual Index som2 (Index i, Index j)
virtual Index som3 (Index i, Index j)
virtual Index som4 (Index i, Index j)

Constructor & Destructor Documentation

numerotation::numerotation Cardinal    m = 0,
Cardinal    n = 0
[inline]
 

Definition at line 41 of file Topolog.hpp.

00042                                   : m(m),
00043                                       n(n),
00044                                       UseMode(INDEXATION){ }


Member Function Documentation

virtual Index numerotation::Arete1 Index    i,
Index    j
[protected, pure virtual]
 

Reimplemented in OuvertOuvert, OuvertFerme, FermeOuvert, FermeFerme, OuvertOuvertOnAxisSup, OuvertOuvertOnAxisInf, OuvertOuvertOnAxisBoth, FermeOuvertOnAxisSup, FermeOuvertOnAxisInf, and FermeOuvertOnAxisBoth.

Referenced by Arete3(), NumArc(), and NumFace().

virtual Index numerotation::Arete2 Index    i,
Index    j
[protected, pure virtual]
 

Reimplemented in OuvertOuvert, OuvertFerme, FermeOuvert, FermeFerme, OuvertOuvertOnAxisSup, OuvertOuvertOnAxisInf, OuvertOuvertOnAxisBoth, FermeOuvertOnAxisSup, FermeOuvertOnAxisInf, and FermeOuvertOnAxisBoth.

Referenced by Arete4(), NumArc(), and NumFace().

Index numerotation::Arete3 Index    i,
Index    j
[inline, protected]
 

Definition at line 65 of file Topolog.hpp.

Referenced by NumFace().

00065 { return Arete1(i,j+1); }

Index numerotation::Arete4 Index    i,
Index    j
[inline, protected]
 

Definition at line 67 of file Topolog.hpp.

Referenced by NumFace().

00067 { return Arete2(i+1,j); }

virtual Cardinal numerotation::CardinalArc   [pure virtual]
 

Reimplemented in OuvertOuvert, OuvertFerme, FermeOuvert, FermeFerme, OuvertOuvertOnAxisSup, OuvertOuvertOnAxisInf, OuvertOuvertOnAxisBoth, FermeOuvertOnAxisSup, FermeOuvertOnAxisInf, and FermeOuvertOnAxisBoth.

Referenced by AxisCAO::GenerateArc().

virtual Cardinal numerotation::CardinalFace   [pure virtual]
 

Reimplemented in OuvertOuvert, OuvertFerme, FermeOuvert, and FermeFerme.

Referenced by AxisCAO::GenerateFace().

virtual Cardinal numerotation::CardinalSommet   [inline, virtual]
 

Reimplemented in OuvertOuvertOnAxisSup, OuvertOuvertOnAxisInf, OuvertOuvertOnAxisBoth, FermeOuvertOnAxisSup, FermeOuvertOnAxisInf, and FermeOuvertOnAxisBoth.

Definition at line 53 of file Topolog.hpp.

Referenced by FermeOuvertOnAxisBoth::Noeud(), FermeOuvertOnAxisInf::Noeud(), FermeOuvertOnAxisSup::Noeud(), OuvertOuvertOnAxisBoth::Noeud(), OuvertOuvertOnAxisInf::Noeud(), and OuvertOuvertOnAxisSup::Noeud().

00053 { return m*n; }

virtual Index numerotation::Face Index    i,
Index    j
[protected, pure virtual]
 

Reimplemented in OuvertOuvert, OuvertFerme, FermeOuvert, and FermeFerme.

Referenced by NumFace().

virtual Index numerotation::Noeud Index    i,
Index    j
[protected, pure virtual]
 

Reimplemented in OuvertOuvert, OuvertFerme, FermeOuvert, FermeFerme, OuvertOuvertOnAxisSup, OuvertOuvertOnAxisInf, OuvertOuvertOnAxisBoth, FermeOuvertOnAxisSup, FermeOuvertOnAxisInf, and FermeOuvertOnAxisBoth.

Referenced by OuvertFerme::Face(), OuvertOuvert::Face(), som1(), som2(), som3(), and som4().

int numerotation::NumArc numerotation &    n,
FILE *    f
[static]
 

Definition at line 9 of file Topolog.cpp.

Referenced by AxisCAO::GenerateArc().

00009                                                    {
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 }

int numerotation::NumFace numerotation &    n,
FILE *    f
[static]
 

Definition at line 50 of file Topolog.cpp.

Referenced by AxisCAO::GenerateFace().

00050                                                     {
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 }

virtual Index numerotation::som1 Index    i,
Index    j
[inline, protected, virtual]
 

Definition at line 71 of file Topolog.hpp.

Referenced by NumArc(), NumFace(), FermeOuvertOnAxisBoth::som2(), FermeOuvertOnAxisSup::som2(), OuvertOuvertOnAxisBoth::som2(), and OuvertOuvertOnAxisSup::som2().

00071 { return Noeud(i,j); }

virtual Index numerotation::som2 Index    i,
Index    j
[inline, protected, virtual]
 

Reimplemented in OuvertOuvertOnAxisSup, OuvertOuvertOnAxisBoth, FermeOuvertOnAxisSup, and FermeOuvertOnAxisBoth.

Definition at line 73 of file Topolog.hpp.

Referenced by NumArc(), NumFace(), FermeOuvertOnAxisBoth::som2(), FermeOuvertOnAxisSup::som2(), OuvertOuvertOnAxisBoth::som2(), and OuvertOuvertOnAxisSup::som2().

00073 { return Noeud(i+1,j); }

virtual Index numerotation::som3 Index    i,
Index    j
[inline, protected, virtual]
 

Definition at line 75 of file Topolog.hpp.

Referenced by NumArc(), NumFace(), FermeOuvertOnAxisBoth::som4(), FermeOuvertOnAxisInf::som4(), OuvertOuvertOnAxisBoth::som4(), and OuvertOuvertOnAxisInf::som4().

00075 { return Noeud(i,j+1); }

virtual Index numerotation::som4 Index    i,
Index    j
[inline, protected, virtual]
 

Reimplemented in OuvertOuvertOnAxisInf, OuvertOuvertOnAxisBoth, FermeOuvertOnAxisInf, and FermeOuvertOnAxisBoth.

Definition at line 77 of file Topolog.hpp.

Referenced by NumFace(), FermeOuvertOnAxisBoth::som4(), FermeOuvertOnAxisInf::som4(), OuvertOuvertOnAxisBoth::som4(), and OuvertOuvertOnAxisInf::som4().

00077 { return Noeud(i+1,j+1); }


Member Data Documentation

char numerotation::UseMode
 

Definition at line 39 of file Topolog.hpp.

Referenced by NumArc(), and NumFace().

Cardinal numerotation::m
 

Definition at line 38 of file Topolog.hpp.

Referenced by NumArc(), and NumFace().

Cardinal numerotation::n
 

Definition at line 38 of file Topolog.hpp.

Referenced by NumArc(), and NumFace().


The documentation for this class was generated from the following files:
Generated on Sun Oct 14 18:49:27 2001 for Standard J2K Library by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001