Class SegmentoVia

java.lang.Object
  extended by SegmentoVia
All Implemented Interfaces:
EntitaConNome

public class SegmentoVia
extends java.lang.Object
implements EntitaConNome

Segmento di via compreso tra due snodi, ha i due punti estremi, uno spessore, il nome della via, gli intervalli di numeri civici sul lato pari e su quello dispari. Memorizza anche le infrastrutture presenti.


Field Summary
 int dispari1
          Minimo numero civico sul lato dispari.
 int dispari2
          Massimo numero civico sul lato dispari.
protected  java.util.Vector infras
          Infrastrutture contenute in questo segmento di via.
protected  java.lang.String nome
          Nome della via.
protected  int numInfras
          Numero di infrastrutture contenute in questo segmento di via.
 Snodo p1
          Punto iniziale.
 Snodo p2
          Punto finale.
 int pari1
          Minimo numero civico sul lato pari.
 int pari2
          Massimo numero civico sul lato pari.
 double spessore
          Spessore del segmento.
 
Constructor Summary
SegmentoVia(Snodo pp1, Snodo pp2)
          Crea segmento di via con estremi dati, senza nome, con spessore zero e numeri civici tutti zero.
 
Method Summary
 void aggiungi(Infrastruttura is)
          Aggiunge una infrastruttura.
 void cambiaNome(java.lang.String n)
          Cambia il nome della via a cui questo segmento appartiene.
 boolean corrisponde(java.lang.String nomeVia)
          Controlla se il nome della via di questo segmento e' quello dato.
 boolean corrisponde(java.lang.String nomeVia, int n)
          Controlla se il nome della via corrisponde e se questo segmento contiene il numero civico voluto.
 java.lang.String ilNome()
          Ritorna il nome della via a cui questo segmento appartiene.
 Infrastruttura infrastruttura(int i)
          Ritorna l'infrastruttura i-esima.
 boolean inQuadrante(double x1, double y1, double x2, double y2)
          Controlla se questo segmento interseca il quadrante di diagonale (x1,y1)-(x2,y2), dove (x1,y1) e' l'angolo di x,y minime e (x2,y2) e' l'angolo di x,y massime.
 boolean intersecaOrizzontale(Punto q1, Punto q2)
          Controlla se questo segmento interseca propriamente il segmento orizzontale di estremi q1 e q2, non dovrebbe servire nel progetto.
 boolean intersecaVerticale(Punto q1, Punto q2)
          Controlla se questo segmento interseca propriamente il segmento verticale di estremi q1 e q2, non dovrebbe servire nel progetto.
 int numeroInfrastrutture()
          Ritorna il numero di infrastrutture.
 void togli(Infrastruttura is)
          Toglie una infrastruttura.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nome

protected java.lang.String nome
Nome della via.


p1

public Snodo p1
Punto iniziale.


p2

public Snodo p2
Punto finale.


spessore

public double spessore
Spessore del segmento.


pari1

public int pari1
Minimo numero civico sul lato pari.


pari2

public int pari2
Massimo numero civico sul lato pari.


dispari1

public int dispari1
Minimo numero civico sul lato dispari.


dispari2

public int dispari2
Massimo numero civico sul lato dispari.


infras

protected java.util.Vector infras
Infrastrutture contenute in questo segmento di via.


numInfras

protected int numInfras
Numero di infrastrutture contenute in questo segmento di via.

Constructor Detail

SegmentoVia

public SegmentoVia(Snodo pp1,
                   Snodo pp2)
Crea segmento di via con estremi dati, senza nome, con spessore zero e numeri civici tutti zero.

Method Detail

ilNome

public java.lang.String ilNome()
Ritorna il nome della via a cui questo segmento appartiene.

Specified by:
ilNome in interface EntitaConNome

cambiaNome

public void cambiaNome(java.lang.String n)
Cambia il nome della via a cui questo segmento appartiene.

Specified by:
cambiaNome in interface EntitaConNome

aggiungi

public void aggiungi(Infrastruttura is)
Aggiunge una infrastruttura.


togli

public void togli(Infrastruttura is)
Toglie una infrastruttura.


numeroInfrastrutture

public int numeroInfrastrutture()
Ritorna il numero di infrastrutture.


infrastruttura

public Infrastruttura infrastruttura(int i)
Ritorna l'infrastruttura i-esima.


intersecaOrizzontale

public boolean intersecaOrizzontale(Punto q1,
                                    Punto q2)
Controlla se questo segmento interseca propriamente il segmento orizzontale di estremi q1 e q2, non dovrebbe servire nel progetto.


intersecaVerticale

public boolean intersecaVerticale(Punto q1,
                                  Punto q2)
Controlla se questo segmento interseca propriamente il segmento verticale di estremi q1 e q2, non dovrebbe servire nel progetto.


inQuadrante

public boolean inQuadrante(double x1,
                           double y1,
                           double x2,
                           double y2)
Controlla se questo segmento interseca il quadrante di diagonale (x1,y1)-(x2,y2), dove (x1,y1) e' l'angolo di x,y minime e (x2,y2) e' l'angolo di x,y massime.


corrisponde

public boolean corrisponde(java.lang.String nomeVia)
Controlla se il nome della via di questo segmento e' quello dato.


corrisponde

public boolean corrisponde(java.lang.String nomeVia,
                           int n)
Controlla se il nome della via corrisponde e se questo segmento contiene il numero civico voluto.