Progetto Algoritmi Geometrici A.A. 2003-2004

Integrazione al testo per chi svolge il progetto in Java

Specifica

Il codice dovra' essere scritto in Java realizzando una classe che implementi l'interfaccia TriLibrary fornita.
L'interfaccia TriLibrary ingloba tutte le funzioni elencate nella specifica data nella versione C del testo del progetto.

In altre parole dovete realizzare una classe la cui intestazione inizi con:

class MyTriangulation implements Trilibrary
{ ... }

La sintassi per i file contenenti triangolazioni e' la stessa definita per la versione C.

E' dato il file TriLibrary.java contenente l'interfaccia TriLibrary.

Non e' permesso modificare l'interfaccia.

Visualizzazione

Viene fornito un programma grafico che permettera' di visualizzare i risultati e controllare che siano corretti.

Il programma fa uso delle classi di Java AWT. Consiste di due classi:

Siccome il programma per funzionare ha bisogno di un oggetto di una classe che implementa l'interfaccia TriLibrary, viene fornita nella classe TriDummy un'implementazione "stupida".
Un oggetto di classe TriDummy codifica una triangolazione prefissata (quella del file di esempio es1.txt) e implementa tutte le funzioni di modifica senza fare nulla, ma stampando un messaggio su standard output.

La classe TriGraph contiene il main. Il main presente nella versione fornita fa uso di un oggetto appartenente alla classe TriDummy. Dovrete sostituirlo con un oggetto della vostra classe triangolazione.

Sono dati i file:

Funzionalita' del programma

Le funzionalita' del programma di grafico sono analoghe a quelle del visualizzatore fornito nella versione C.. L'unica differenza e' che l'interfaccia e' un po' piu' amichevole.

Presenta un'unica finestra nella quale avviene il disegno della triangolazione, mentre in alto ci sono alcuni controlli:

Il dispositivo di scelta, a seconda della scelta impostata, determina l'effetto delle azioni dell'utente sulla triangolazione:

La modalita' corrente come anche altri messaggi (sull'esito con successo o errore dell'operazione, ecc.) sono mostrati in basso nella finestra.

Le convenzioni grafiche usate sono le stesse che per la versione C.