ndiff.relation
Class NxN

java.lang.Object
  extended by ndiff.relation.NxN

public class NxN
extends java.lang.Object

Author:
schirinz NXN: memorizza le informazioni rilevate durante il calcolo del diff.

Field Summary
 int cod
           
 int dom
           
 
Constructor Summary
NxN(int dom, int cod)
          Costruttore
 
Method Summary
 void createNewPropertyList(int property)
          Aggiunge un nuovo elemento per l'accesso alle liste di Field per la proprietā  property
 Field getField(int x, int y)
          Restituisce il Field che si trova nella posizione (x,y)
 java.util.Vector<Interval> getIntervalsOnX()
          Restituisce un riferimento al vettore contenete gli intervalli presenti sul dominio
 java.util.Vector<Interval> getIntervalsOnY()
          Restituisce un riferimento al vettore contenente gli intervalli presenti sul codominio
 Field nextField()
          Aggiorna il puntatore interno che mantiene l'ultimo Field processato Viene usato abbinato con StartFieldProcess, che setta il puntatore interno alla lista dei Field che si vuole processare
 void StartFieldProcess(int property)
          Inizializza la struttura dati per iniziare a processare la lista di Field della propietà property.
 void subField(Interval intX, Interval intY, int propertyAS, int propertyAD, int propertyBS, int propertyBD)
          Elimina l'area individuata da intX e intY.
 void subPoint(int intX, int intY, int propertyAS, int propertyAD, int propertyBS, int propertyBD)
          Elimina il singolo punto di coordinate [intX,intY], settando le relative proprietà
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

dom

public int dom

cod

public int cod
Constructor Detail

NxN

public NxN(int dom,
           int cod)
Costruttore

Parameters:
dom - Dominio della Relazione
cod - Codominio delle Relatione
Method Detail

createNewPropertyList

public void createNewPropertyList(int property)
Aggiunge un nuovo elemento per l'accesso alle liste di Field per la proprietā  property

Parameters:
property - proprietā per la quale creare una nuova lista

getField

public Field getField(int x,
                      int y)
Restituisce il Field che si trova nella posizione (x,y)

Parameters:
x - indice della colonna
y - indice della riga
Returns:
Field che si trovva nella posizione specificata

getIntervalsOnX

public java.util.Vector<Interval> getIntervalsOnX()
Restituisce un riferimento al vettore contenete gli intervalli presenti sul dominio

Returns:
Vector con intervalli presenti sul dominio

getIntervalsOnY

public java.util.Vector<Interval> getIntervalsOnY()
Restituisce un riferimento al vettore contenente gli intervalli presenti sul codominio

Returns:
Vector con intervalli presenti sul codominio

nextField

public Field nextField()
Aggiorna il puntatore interno che mantiene l'ultimo Field processato Viene usato abbinato con StartFieldProcess, che setta il puntatore interno alla lista dei Field che si vuole processare

Returns:
Riferimento al Field successivo da processare

StartFieldProcess

public void StartFieldProcess(int property)
Inizializza la struttura dati per iniziare a processare la lista di Field della propietà property. La lista di Field da processare viene selezionata attraverso il parametro property

Parameters:
property - Specifica il tipo di lista dei Field da processare

subPoint

public void subPoint(int intX,
                     int intY,
                     int propertyAS,
                     int propertyAD,
                     int propertyBS,
                     int propertyBD)
Elimina il singolo punto di coordinate [intX,intY], settando le relative proprietà

Parameters:
intX - intero che individua l'ascissa del punto
intY - intero che individua l'ordinata del punto
propertyAS - propritā  da settare per il quadrante in alto a sinistra
propertyAD - propritā  da settare per il quadrante in alto a destra
propertyBS - propritā  da settare per il quadrante in basso a sinistra
propertyBD - propritā  da settare per il quadrante in basso a destra

subField

public void subField(Interval intX,
                     Interval intY,
                     int propertyAS,
                     int propertyAD,
                     int propertyBS,
                     int propertyBD)
Elimina l'area individuata da intX e intY. Inoltre setta le proprietā  dei 4 quadranti che si vengono a creare dopo la sottrazione. Mantiene il puntatore nowInProcess consistente, inserendo un puntatore temporaneo di riferimento durante la divisione

Parameters:
intX - intervallo sul dominio dell'area da rimuovere
intY - intervallo sul codominio dell'area da rimuovere
propertyAS - propritā  da settare per il quadrante in alto a sinistra
propertyAD - propritā  da settare per il quadrante in alto a destra
propertyBS - propritā  da settare per il quadrante in basso a sinistra
propertyBD - propritā  da settare per il quadrante in basso a destra