package pckMapa; import java.util.*; /** * Representa uma conexao do mapa, ou seja, um local * onde diversos trechos se encontram. Pode ser * relacionado a um ponto de intersecção de trechos * no mapa. * @author Priscilla Regina de Andrade RA 971412 */ public class Conexao { private Vector vTrecho = new Vector(); private Ponto p = null; /** * construtor. Cria uma nova conexao * a partir de um ponto (x,y) indicado. */ public Conexao(double x, double y) { p = new Ponto(); p.setX(x); p.setY(y); } /** * Devolve o ponto (x,y) correspondente a conexao. */ public Ponto getPonto() { return p; } /** * Assinala o ponto (x,y) correspondente a conexao. */ public void setPonto(Ponto val) { p = val; } /** * Adiciona um trecho que passa por essa conexao, e acerta * a informacao referente ao ponto inicial ou final do próprio * trecho. */ public void adicionarTrecho(Trecho t, boolean pontoDeChegada) { if (pontoDeChegada) { t.setInicio (this); } else { t.setFim (this ); vTrecho.addElement( t ); } } /** * Devolve todos os trechos que cruzam/passam por esse ponto. * O ponto é uma unidade de conexão no mapa, composta por informações * de posição (x, y) e pelos trechos que cruzam. */ public Trecho[] getTrechos() { // PRESERVE:BEGIN // Insert your preservable code here... Trecho t[] = new Trecho[ vTrecho.size() ]; vTrecho.copyInto( t ); return t; // PRESERVE:END } /** * Devolve uma representacao das informacoes existentes * no objeto Conexao criado. */ public String toString() { StringBuffer sb = new StringBuffer("(" + p.getX() + "," + p.getY() + ")"); for (int i=0; i < vTrecho.size(); i++) { sb.append( "{" + ((Trecho)vTrecho.elementAt(i)).getId() + "}"); } return sb.toString(); } }