Page principale | Hiérarchie des classes | Liste des classes | Liste des fichiers | Membres de classe | Membres de fichier

Edge.hpp

Aller à la documentation de ce fichier.
00001 /// \file 00002 /// Définition de la classe Edge 00003 #ifndef GUARD_EDGE_h 00004 #define GUARD_EDGE_h 00005 00006 #include "Node.hpp" 00007 00008 using namespace std; 00009 class Node; 00010 class Edge_Base; 00011 /////////////////////////////////////////////////////////////////////////////// 00012 /// Interface sur une classe Edge_Base 00013 /// 00014 /// Gère un compteur de références 00015 /// Les méthodes sont redirigées vers une instance de Edge_Base 00016 /////////////////////////////////////////////////////////////////////////////// 00017 class Edge { 00018 friend class Node_Leaf; 00019 friend class Node; 00020 /// Classe de base 00021 Edge_Base* p; 00022 public: 00023 /// Constructeur par défaut 00024 Edge(){}; 00025 /// Constructeur à partir de 2 noeuds et poids de l'arrête 00026 /// \param Node un noeud 00027 /// \param Node un noeud 00028 /// \param float poids de l'arrête 00029 Edge(Node, Node, float); 00030 /// Constructeur de copie 00031 Edge(const Edge& edge); 00032 /// Operateur d'affectation 00033 Edge& operator=(const Edge&); 00034 /// Destructeur 00035 ~Edge(); 00036 /// Retourne une chaîne de caractères détaillée 00037 string toString()const; 00038 /// Retourne le noeud source de l'arrête 00039 Node getSRC()const; 00040 /// Retourne le noeud destination de l'arrête 00041 Node getDST()const; 00042 /// Retourne le poids de l'arrête 00043 double getWeight()const; 00044 /// Fixe les coordonées de l'arrête 00045 void setCoord(int, int, int, int); 00046 /// Coordonnée x0 00047 int getX0()const; 00048 /// Coordonnée y0 00049 int getY0()const; 00050 /// Coordonnée x1 00051 int getX1()const; 00052 /// Coordonnée y1 00053 int getY1()const; 00054 }; 00055 /////////////////////////////////////////////////////////////////////////////// 00056 /// Arrete entre noeuds 00057 /////////////////////////////////////////////////////////////////////////////// 00058 class Edge_Base{ 00059 friend class Edge; 00060 friend class Node_Leaf; 00061 friend class Node; 00062 /// Compteur de référence 00063 int use; 00064 /// Noeud source 00065 Node src; 00066 /// Noeud destination 00067 Node dst; 00068 /// Poids 00069 float weight; 00070 /// Position pour le dessin du graphe 00071 int x0, y0, x1, y1; 00072 /// Constructeur à partir de 2 noeuds et poids de l'arrête 00073 /// \param Node source 00074 /// \param Node destination 00075 /// \param float poids de l'arrête 00076 Edge_Base(Node, Node, float); 00077 /// Retourne une chaîne de caractères détaillée 00078 string toString() const; 00079 /// Retourne le noeud source de l'arrête 00080 Node getSRC()const; 00081 /// Retourne le noeud destination de l'arrête 00082 Node getDST()const; 00083 /// Retourne le poids de l'arrête 00084 float getWeight() const; 00085 /// Fixe les coordonées de l'arrête 00086 void setCoord(int, int, int, int); 00087 /// Coordonnée x0 00088 int getX0()const; 00089 /// Coordonnée y0 00090 int getY0()const; 00091 /// Coordonnée x1 00092 int getX1()const; 00093 /// Coordonnée y1 00094 int getY1()const; 00095 }; 00096 /////////////////////////////////////////////////////////////////////////////// 00097 /// Compare le poids de 2 arrêtes 00098 /////////////////////////////////////////////////////////////////////////////// 00099 bool compareEdge(const Edge, const Edge); 00100 00101 #endif 00102 00103

Généré le Sun Jun 27 15:59:32 2004 pour segment par doxygen 1.3.7