// Last edited on 2000-09-01 04:29:50 by stolfi // Trecho de via trafegável entre duas esquinas, em um só sentido import Esquina; import Logradouro; import Bairro; import Escala; import Servico; import Ponto; public abstract class Trecho extends Elemento { public final static double LARGURA_NOMINAL = 2.0; public abstract Logradouro logradouro(); // O logradouro "pai" deste trecho. public abstract Esquina orig(); // A esquina de onde este trecho "sai" public abstract Esquina dest(); // A esquina para onde este trecho "vai" public abstract int numeroDePistas(); // Número de pistas neste trecho public abstract int numeracaoInicial(); // Número do primeiro imóvel neste trecho public abstract int numeracaoFinal(); // Número do último imóvel neste trecho public abstract String codPostal(); // Número do CEP deste trecho public abstract boolean podeEstacionar(); // TRUE se é permitido estacionar neste trecho. public abstract Trecho oposto(); // Trecho adjacente a este trecho, em direção oposta. public abstract Ponto origPos(); public abstract Ponto destPos(); // Pontos de início e fim do trecho (em metros) já deslocados de // modo a diferenciar pistas de sentidos diferentes. public abstract double pcusto(); // Custo da travessia public abstract Servico[] entradasDeServicos(); public abstract Servico[] saidasDeServicos(); // Servicos com entradas e saídas neste trecho. }