cluster.alineament.camins
Class Camins

java.lang.Object
  |
  +--cluster.alineament.camins.Camins

public class Camins
extends java.lang.Object

Aquesta classe és una de les més importants de la aplicació, ja que s'encarrega de calcular els camins (o alineaments) de tota la taula de valors. Està associada a la classe matriu que és la que té tota la informació per tal de calcular aquests camins. Es tracta d'una estructura de tipus arbre on cada node té apuntadors a tres fills, tres pares i un altre al node seguent. Per tal de trobat el/s camí/ins óptims hi ha una mètode recursiu que comença des de l'ultim node i arriba fins al primer, omplint una llista on s'enmagatzema aquests camins.

Version:
1.0 30/05/03
Author:
Alexandre de Alcântara Pescarin, Facultat d'Informàtica de Barcelona (UPC).
See Also:
Matriu

Constructor Summary
Camins(int fila, int columna)
          Constructora de la classe.
 
Method Summary
 void afegir(int fila, int columna, java.lang.String valor, int valorNumeric, java.lang.String[] perfils)
          Afegeix un node a l'arbre.
 void associaAmb(cluster.util.Matriu m)
          Permet associar aquest arbre de camins a la matriu que té l'informació.
 cluster.alineament.camins.NodeCamins avancar()
          Permet avançar l'apuntador actual
 cluster.alineament.camins.NodeCamins buscar(int fila, int columna)
          Busca un node donat.
 java.lang.String caminsOptims()
          Permet calcular el camins òptims de tots els possibles.
 boolean fi()
          Indica si s'ha arribat al final de l'arbre
 void inicialitzarRecorregut()
          Permet inicialitzar el recorregut posant l'apuntatador actual al primer node.
 cluster.alineament.camins.NodeCamins primer()
          Permet obtenir el primer node.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Camins

public Camins(int fila,
              int columna)
Constructora de la classe.

Method Detail

buscar

public cluster.alineament.camins.NodeCamins buscar(int fila,
                                                   int columna)
Busca un node donat.

Parameters:
fila - Fila que es vol buscar.
columna - Columna que es vol buscar.

fi

public boolean fi()
Indica si s'ha arribat al final de l'arbre

Returns:
Estem a l'últim node.

afegir

public void afegir(int fila,
                   int columna,
                   java.lang.String valor,
                   int valorNumeric,
                   java.lang.String[] perfils)
Afegeix un node a l'arbre. Això depèn del valor que es tè en el paràmetre valor. Per afegir un node tenim que disposar d'una sèrie d'informació, com la de la fila o columna que estem afegint, el valor d'aquests, el seu valor numèric i els perfils els quals pertànyen.

Parameters:
fila - Fila del node.
columna - Columna del node.
valor - Aquest valor pot ser 000,001,010,011,100,101,110,111 aquesta informació serveix per saber de quin pare pertany la fila i columna donades, en aquest ordre: diagonal-horitzontal-vertical. Per exemple: 011 vol dir que la fila f, columna c té un pare horitzontal, un pare vertical i cap pare diagonal.
valorNumeric - El valor numèric (de la taula de valors) que té la aquest node.
perfils - Els perfils als quals pertanyen el node.

inicialitzarRecorregut

public void inicialitzarRecorregut()
Permet inicialitzar el recorregut posant l'apuntatador actual al primer node.


avancar

public cluster.alineament.camins.NodeCamins avancar()
Permet avançar l'apuntador actual

Returns:
Retorna el següent node.

primer

public cluster.alineament.camins.NodeCamins primer()
Permet obtenir el primer node.

Returns:
Retorna el primer node.

associaAmb

public void associaAmb(cluster.util.Matriu m)
Permet associar aquest arbre de camins a la matriu que té l'informació.

See Also:
Matriu

caminsOptims

public java.lang.String caminsOptims()
Permet calcular el camins òptims de tots els possibles. Aquests camins es guardaràn en una llista.