// Last edited on 2000-09-05 03:00:40 by stolfi // Um elemento do mapa (Trecho, Servico, Esquina, etc.) import Ponto; import Escala; import Bairro; public abstract class Elemento { public abstract int id(); // Índice identificador do elemento. // Sequencial a partir de 0 para os elementos da mesma // classe no mesmo mapa. public abstract String nome(); // Nome externo do elemento public abstract Bairro bairro(); // Bairro ao qual pertence este elemento (ou null). public abstract Ponto centro(); // Coordenadas nominais (centro) do elemento public abstract void insere(Retangulo r); // Expande o retângulo de modo a incluir o elemento public abstract boolean intercepta(Retangulo r); // TRUE se alguma parte do elemento pode entrar em "r" public abstract double distancia(Ponto p); // Distancia do elemento ao ponto dado. }