ikbs.tools.trees.formatter
Class Formatter

java.lang.Object
  extended by ikbs.tools.trees.formatter.Formatter
Direct Known Subclasses:
FormatterGD, FormatterGD2, FormatterGD3, FormatterGD4, FormatterGD5, FormatterHB

public abstract class Formatter
extends java.lang.Object

IKBS - Classe abstraite de formattage d'arbres ou de graphes

Author:
David Grosser

Field Summary
protected  int ch
           
protected  int cl
           
protected  java.util.Vector noeuds
           
protected  int zoom
           
 
Constructor Summary
Formatter(java.util.Vector noeuds)
           
 
Method Summary
 int calcMaxH(Noeud unNoeud)
          calcul de la hauteur maximale
protected  int calculH(Noeud unNoeud)
          Calcul la hauteur a allouer pour cette feuille
 int ch()
           
 int cl()
           
protected  void demarquer()
          Demarquer tous les noeuds
protected  void demarquer2()
           
 java.util.Vector feuilles(Noeud unNoeud)
          Retourne les noeuds feuilles d'un noeud
protected  java.util.Vector feuillesRec(Noeud unNoeud)
          retourne les feuilles du sous arbre de racine unNoeud (recursif)
 java.util.Vector fil(Noeud unNoeud, int p)
           
protected  java.util.Vector fils(Noeud unNoeud, int p)
          retourne les fils d'un noeud pour un niveau donne (recursif)
abstract  void formatter(Noeud unNoeud)
           
 int getZoom()
           
protected  void marquer()
          Gestion du premier marqueur (pour éviter les cycles lors d'un parcours récursif)
protected  void marquer2()
           
 Noeud noeuds(int i)
          Accès au ième noeud
 java.util.Vector peres(Noeud unNoeud)
          retourne les peres d'un noeud Si plusieurs pères -> graphe
 int plusGdNbFil(Noeud unNoeud)
          Retourne le plus grand nombre de fils
protected  int plusGdNbFils(Noeud unNoeud)
          calculer la dimension (plusGdNbFils) du sous-arbre de racine unNoeud (recursif)
protected  void positionne(Noeud unNoeud)
          Positionne recursivement le sous arbre de racine unNoeud
protected  void positionneX(Noeud unNoeud, int c)
          Positionne récursivement en X de la racine vers les feuilles (formattage horizontal) c représente la position courante en x
protected  void positionneXPeres(Noeud unNoeud)
          Positionne récursivement en X des feuilles vers la racine (formattage vertical)
protected  void positionneY(Noeud unNoeud, int c)
          Positionne récursivement en Y de la racine vers les feuilles (formattage vertical) c est le décalage courant en y
protected  int positionneYPeres(Noeud unNoeud)
          Positionne récursivement en Y des feuilles vers la racine (formattage horizontal)
 int prof(Noeud unNoeud)
          Retourne la profondeur d'un noeud dans l'arbre
protected  int profondeur(Noeud unNoeud)
          calculer la profondeur du sous-arbre de racine unNoeud (recursif)
 void setCh(int ch)
           
 void setCl(int cl)
           
 void setZoom(int zoom)
           
 int sommeXFils(Noeud unNoeud)
          retourne la somme des coordonnees X des fils (formattage vertical)
 int sommeYFils(Noeud unNoeud)
          retourne la somme des coordonnees Y des fils (formattage horizontal)
protected  boolean tousFilsMarque(Noeud unNoeud)
          retourne false si un des fils n'est pas marqué
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

noeuds

protected java.util.Vector noeuds

cl

protected int cl

ch

protected int ch

zoom

protected int zoom
Constructor Detail

Formatter

public Formatter(java.util.Vector noeuds)
Method Detail

formatter

public abstract void formatter(Noeud unNoeud)

setCl

public void setCl(int cl)

cl

public int cl()

setCh

public void setCh(int ch)

ch

public int ch()

getZoom

public int getZoom()

setZoom

public void setZoom(int zoom)

noeuds

public Noeud noeuds(int i)
Accès au ième noeud


marquer

protected void marquer()
Gestion du premier marqueur (pour éviter les cycles lors d'un parcours récursif)


demarquer

protected void demarquer()
Demarquer tous les noeuds


marquer2

protected void marquer2()

demarquer2

protected void demarquer2()

fil

public java.util.Vector fil(Noeud unNoeud,
                            int p)

fils

protected java.util.Vector fils(Noeud unNoeud,
                                int p)
retourne les fils d'un noeud pour un niveau donne (recursif)


peres

public java.util.Vector peres(Noeud unNoeud)
retourne les peres d'un noeud Si plusieurs pères -> graphe


feuilles

public java.util.Vector feuilles(Noeud unNoeud)
Retourne les noeuds feuilles d'un noeud


feuillesRec

protected java.util.Vector feuillesRec(Noeud unNoeud)
retourne les feuilles du sous arbre de racine unNoeud (recursif)


prof

public int prof(Noeud unNoeud)
Retourne la profondeur d'un noeud dans l'arbre


profondeur

protected int profondeur(Noeud unNoeud)
calculer la profondeur du sous-arbre de racine unNoeud (recursif)


plusGdNbFil

public int plusGdNbFil(Noeud unNoeud)
Retourne le plus grand nombre de fils


plusGdNbFils

protected int plusGdNbFils(Noeud unNoeud)
calculer la dimension (plusGdNbFils) du sous-arbre de racine unNoeud (recursif)


positionne

protected void positionne(Noeud unNoeud)
Positionne recursivement le sous arbre de racine unNoeud


positionneY

protected void positionneY(Noeud unNoeud,
                           int c)
Positionne récursivement en Y de la racine vers les feuilles (formattage vertical) c est le décalage courant en y


positionneX

protected void positionneX(Noeud unNoeud,
                           int c)
Positionne récursivement en X de la racine vers les feuilles (formattage horizontal) c représente la position courante en x


calculH

protected int calculH(Noeud unNoeud)
Calcul la hauteur a allouer pour cette feuille


tousFilsMarque

protected boolean tousFilsMarque(Noeud unNoeud)
retourne false si un des fils n'est pas marqué


sommeYFils

public int sommeYFils(Noeud unNoeud)
retourne la somme des coordonnees Y des fils (formattage horizontal)


sommeXFils

public int sommeXFils(Noeud unNoeud)
retourne la somme des coordonnees X des fils (formattage vertical)


positionneYPeres

protected int positionneYPeres(Noeud unNoeud)
Positionne récursivement en Y des feuilles vers la racine (formattage horizontal)


calcMaxH

public int calcMaxH(Noeud unNoeud)
calcul de la hauteur maximale


positionneXPeres

protected void positionneXPeres(Noeud unNoeud)
Positionne récursivement en X des feuilles vers la racine (formattage vertical)