// Responsável: Juliano Pastorelli Dutra - RA: 981449 package pckInterface; import pckMapa.Ponto; import pckMapa.Trecho; import pckMapa.Conexao; import pckDemanda.Encomenda; /** * A classe Localizador eh responsavel pela localizacao de * trechos e conexoes dentro de um Mapa * Responsavel pelo Modulo: Juliano Pastorelli Dutra * 981449 */ public abstract class Localizador { /** * Retorna o Trecho mais proximo do ponto dado * Entrada: Ponto * Saida: O trecho mais proximo do ponto p. * 981449 */ public abstract Trecho trechoMaisProximo(Ponto p); /** * Retorna os Trechos que interceptam uma area retangular * Entrada: um objeto do tipo Retangulo * Saida: Um vetor com todos os Trechos interceptados por r. * 981449 */ public abstract Trecho[] todosTrechosDentro(Retangulo r); /** * Retorna as Conexoes que interceptam uma area retangular * Entrada: um objeto do tipo Retangulo * Saida: um vetor das Conexoes englobadas pelo retangulo * 981449 */ public abstract Conexao[] todasConexoesDentro(Retangulo r); /** * Retorna a distancia Euclidiana entre dois pontos (que limitam * um trecho) e um terceiro ponto. * Entrada: dois pontos (extremos de um mesmo trecho) e um outro * ponto. * Saida: a distancia Euclidiana entre este segmento e o ponto * 981449 */ public abstract double distanciaASegmento(Ponto p, Ponto u, Ponto v); /** * Determina se um segmento intercepta os limites de um retangulo * Entrada: dois pontos (extremos de um segmento) e um retangulo * Saida: true (caso o segmento intercepte ou esteja contido dentro * do rentangulo r em questao. * 981449 */ public abstract boolean intercepta(Ponto ponto1, Ponto ponto2, Retangulo r); } // Fim da Classe abstrata Localizador