algod
Class Graphe

java.lang.Object
  |
  +--algod.Graphe
All Implemented Interfaces:
GrapheInterface
Direct Known Subclasses:
TestAlgoD

public class Graphe
extends java.lang.Object
implements GrapheInterface

Génère et stocke un ensemble de sommets d'un graphe. Peut afficher les sommets de manière graphique grâce à un graphelastic.GraphAnimFrame

Version:
1.0
Author:
Alexandre Alapetite, Brice Andujar, Gregory Gontier
See Also:
Sommet, GraphAnimFrame

Field Summary
private  boolean graphique
          Indique si un affichage graphique est demandé.
private  GraphAnimFrame monGrapheAnim
          Dans le cas d'un affichage graphique, objet qui s'occupe de ça.
private  int nbColorations
           
private  int nbThreadsRestants
          Lors de la séquence de destruction, indique le nombre de threads encore en vie.
(package private)  java.util.Vector vSommets
          Ensemble des sommets de ce graphe.
 
Constructor Summary
Graphe(int nbSommets, int nbColorations, boolean graphique)
           
Graphe(java.lang.String fileName, int nbColorations, boolean graphique)
           
 
Method Summary
(package private)  void addSommet(int num)
           
(package private)  void addSommet(int num, double x, double y)
           
(package private) static void affiche(java.lang.String texte)
          Affiche une ligne de texte sur la sortie standard.
(package private) static void afficheErreur(java.lang.String texte)
          Affiche du texte sur la sortie standard.
 void desinscription(Sommet sommet)
          Permet aux threads de ce désinscrire.
 void destroy()
          Arrête les threads de tous les sommets avec Sommet.arrete(), et nettoie ce graphe.
(package private)  void finDesinscription()
          Méthode invoquée lorsque tous les threads se sont nettoyés et auto-détruits.
 void genereArretesAlleatoires(double densite)
          Génère des arcs entre les sommets de ce graphe de manière aléatoire.
 void genereArretesAlleatoires(double densite, long randomSeed)
          Génère des arcs entre les sommets de ce graphe de manière aléatoire.
(package private)  Sommet getSommetAt(int index)
          Accés à un sommet du graphe.
 void informations()
          Informations sur le nombre de messages échangés.
 boolean isActive()
          Indique si des sommets ont encore des messages à traiter.
(package private)  int nbCouleursUtiles()
          Indique le nombre de couleurs différentes utilisées dans le graphe.
 void setArrete(int sommet1, int sommet2)
          Relie deux sommets par un arc direct.
(package private)  void setArrete(Sommet sommet1, Sommet sommet2)
          Relie deux sommets par un arc direct.
 void start()
          Démarre les threads de tous les sommets avec Sommet.start()
 void test()
          Jeu de test.
 java.lang.String toString()
          Information sur ce graphe.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

vSommets

java.util.Vector vSommets
Ensemble des sommets de ce graphe.

See Also:
Sommet

monGrapheAnim

private GraphAnimFrame monGrapheAnim
Dans le cas d'un affichage graphique, objet qui s'occupe de ça.


graphique

private final boolean graphique
Indique si un affichage graphique est demandé.


nbThreadsRestants

private int nbThreadsRestants
Lors de la séquence de destruction, indique le nombre de threads encore en vie.


nbColorations

private final int nbColorations
Constructor Detail

Graphe

public Graphe(int nbSommets,
              int nbColorations,
              boolean graphique)

Graphe

public Graphe(java.lang.String fileName,
              int nbColorations,
              boolean graphique)
Method Detail

destroy

public void destroy()
Arrête les threads de tous les sommets avec Sommet.arrete(), et nettoie ce graphe. Les réponses des threads sont attendues à desinscription et la fin totale de la destruction est à finDesinscription

See Also:
desinscription(algod.Sommet), finDesinscription(), Sommet.arrete(algod.GrapheInterface)

start

public void start()
Démarre les threads de tous les sommets avec Sommet.start()

See Also:
Sommet.run()

desinscription

public void desinscription(Sommet sommet)
Description copied from interface: GrapheInterface
Permet aux threads de ce désinscrire.

Specified by:
desinscription in interface GrapheInterface

finDesinscription

void finDesinscription()
Méthode invoquée lorsque tous les threads se sont nettoyés et auto-détruits.


test

public void test()
Jeu de test.


informations

public void informations()
Informations sur le nombre de messages échangés.


isActive

public boolean isActive()
Indique si des sommets ont encore des messages à traiter.


nbCouleursUtiles

final int nbCouleursUtiles()
Indique le nombre de couleurs différentes utilisées dans le graphe.


addSommet

final void addSommet(int num)

addSommet

final void addSommet(int num,
                     double x,
                     double y)

getSommetAt

final Sommet getSommetAt(int index)
Accés à un sommet du graphe.


genereArretesAlleatoires

public void genereArretesAlleatoires(double densite,
                                     long randomSeed)
Génère des arcs entre les sommets de ce graphe de manière aléatoire.

Parameters:
densite - probabilité qu'il y ait une arrête entre deux sommets.
randomSeed - graine pour le générateur de nombres aléatoires.

genereArretesAlleatoires

public void genereArretesAlleatoires(double densite)
Génère des arcs entre les sommets de ce graphe de manière aléatoire.

Parameters:
densite - probabilité qu'il y ait une arrête entre deux sommets.

setArrete

public void setArrete(int sommet1,
                      int sommet2)
Relie deux sommets par un arc direct.


setArrete

void setArrete(Sommet sommet1,
               Sommet sommet2)
Relie deux sommets par un arc direct.


affiche

static void affiche(java.lang.String texte)
Affiche une ligne de texte sur la sortie standard.


afficheErreur

static void afficheErreur(java.lang.String texte)
Affiche du texte sur la sortie standard.


toString

public java.lang.String toString()
Information sur ce graphe.

Overrides:
toString in class java.lang.Object
Returns:
du texte sur plusieurs lignes décrivant ce graphe et ses sommets.