// Last edited on 2001-05-15 22:17:37 by mc726 import Grafo; import NodoTrecho; import Trecho; import Ponto; public class NodoTrechoMeio extends NodoTrecho // Nodo que representa o meio de um trecho // Sucessores: fim do mesmo trecho, e servicos com entrada no trecho. { public NodoTrechoMeio(Grafo gr, Trecho tr) { this.grafo = gr; this.trecho = tr; } public final void inicializa() { Servico[] s = trecho.entradasDeServicos(); int ns = s.length; Nodo[] pr = new Nodo[ns + 1]; double[] ct = new double[ns + 1]; for (int i = 0; i < ns; i++) { pr[i] = grafo.svEnt[s[i].id()]; ct[i] = Grafo.CUSTO_EPSILON; } pr[ns] = grafo.trFim[trecho.id()]; ct[ns] = trecho.pcusto()/2; this.Prox = pr; this.Custo = ct; Ponto a = trecho.origPos(); Ponto b = trecho.destPos(); this.Posicao = new Ponto((a.x+b.x)/2, (a.y+b.y)/2); } public final String toString() { return "(tr" + trecho.id() + ":m)"; } }