Clicando no ícone de traçar tubos.

3
Clicando no ícone : 1. Antes de clicar em qualquer ponto do MapControl: É preciso, antes de tudo, possuir um fácil acesso à layer ‘Default_UFC_12’, que contém todas as informações do traçado, previamente escolhidas pelo usuário através da caixa de diálogo Default. Capturamos então essa layer. Feito isso, é preciso criar a layer ‘rede_ufc_12’, criando também a layer auxiliar que conterá as setas dos tubos, apenas para efeito de ilustração (essa layer auxiliar nem deverá aparecer na TOC – Table of Contents). Nessa etapa, já definimos as propriedades dessas layers, como cores, espessura da linha, etc., assim como todos os campos de atributos que a rede de tubos deverá conter (são 35 campos). Além de criar as layers, elas deverão ser adicionadas e “setadas” como visíveis. 2. Ao clicar em um ponto qualquer do MapControl: Quando clicarmos no MapControl (área da vista em que estarão imagens ou desenhos), deveremos incrementar o contador auxCount e identificar o tipo do clique do mouse: 2.1. Clique com o botão esquerdo: Tem a finalidade de inserir os tubos para traçar a rede. Devemos analisar o valor do contador auxCount, para sabermos se o ponto clicado será o início de um trecho (auxCount=1) ou o fim de um trecho (auxCount=2). 2.1.1. auxCount=1: Início de um trecho: Devemos primeiramente fazer uma busca em redor do ponto clicado, para identificar se o usuário está pretendendo fazer uma continuação de um coletor (simulando a ação da ferramenta ‘OSNAP-Endpoint’ do AutoCAD) ou apenas traçando um novo coletor. O resultado dessa busca pode ser: 2.1.1.1. Encontrou-se um tubo próximo ao ponto clicado: O usuário pretende fazer a continuação de um coletor: Devemos identificar o ponto final deste tubo e sua cota, pois este ponto será o ponto inicial do novo trecho (p1) e a cota também será a mesma (z1) .

description

gvsig

Transcript of Clicando no ícone de traçar tubos.

Page 1: Clicando no ícone de traçar tubos.

Clicando no ícone :

1. Antes de clicar em qualquer ponto do MapControl:É preciso, antes de tudo, possuir um fácil acesso à layer ‘Default_UFC_12’, que contém todas as informações do traçado, previamente escolhidas pelo usuário através da caixa de diálogo Default. Capturamos então essa layer. Feito isso, é preciso criar a layer ‘rede_ufc_12’, criando também a layer auxiliar que conterá as setas dos tubos, apenas para efeito de ilustração (essa layer auxiliar nem deverá aparecer na TOC – Table of Contents). Nessa etapa, já definimos as propriedades dessas layers, como cores, espessura da linha, etc., assim como todos os campos de atributos que a rede de tubos deverá conter (são 35 campos). Além de criar as layers, elas deverão ser adicionadas e “setadas” como visíveis.

2. Ao clicar em um ponto qualquer do MapControl:Quando clicarmos no MapControl (área da vista em que estarão imagens ou desenhos), deveremos incrementar o contador auxCount e identificar o tipo do clique do mouse:

2.1.Clique com o botão esquerdo:Tem a finalidade de inserir os tubos para traçar a rede. Devemos analisar o valor do contador auxCount, para sabermos se o ponto clicado será o início de um trecho (auxCount=1) ou o fim de um trecho (auxCount=2).

2.1.1. auxCount=1: Início de um trecho:Devemos primeiramente fazer uma busca em redor do ponto clicado, para identificar se o usuário está pretendendo fazer uma continuação de um coletor (simulando a ação da ferramenta ‘OSNAP-Endpoint’ do AutoCAD) ou apenas traçando um novo coletor. O resultado dessa busca pode ser:2.1.1.1. Encontrou-se um tubo próximo ao ponto clicado: O usuário

pretende fazer a continuação de um coletor:Devemos identificar o ponto final deste tubo e sua cota, pois este ponto será o ponto inicial do novo trecho (p1) e a cota também será a mesma (z1) .

2.1.1.2. Não se encontrou tubo próximo ao ponto clicado:Devemos apenas armazenar a posição deste ponto (p1) e calcular a cota deste ponto e armazená-la (z1).

2.1.2. auxCount=2: Fim de um trecho:Novamente fazemos uma busca em torno do ponto clicado, pois o usuário pode estar pretendendo finalizar seu trecho “ligando-o” a outro coletor ou não. Assim, novamente teremos duas possibilidades:2.1.2.1. Encontrou-se um tubo próximo ao ponto clicado: O usuário

pretende finalizar seu trecho em um coletor.Devemos identificar o ponto final do trecho do tubo encontrado e sua cota, pois estes serão o ponto final do novo trecho (p2) e sua cota final (z2). Devemos inserir a caixa de diálogo de Características do Trecho, e quando o usuário clicar em ‘OK’ devemos coletar as informações inseridas e armazená-las na

Page 2: Clicando no ícone de traçar tubos.

tabela de atributos. Devemos calcular o comprimento do trecho, a declividade, etc., e coletar as informações da layer ‘Default_UFC_12’ para preencher a tabela de atributos da layer ‘rede_ufc_12’. De posse de todos os atributos, desenhar o tubo com a referida legenda.

2.1.2.2. Não se encontrou tubo próximo ao ponto clicado:Deve-se realizar duas tarefas (threads) ao mesmo tempo: inserir a caixa de diálogo de Características do Trecho e calcular a cota do ponto clicado (z2), tomando o cuidado de sincronizá-las para que funcionem corretamente. Após o usuário clicar em ‘OK’, coletar as informações inseridas, calcular comprimento, declividade, etc., e coletar as informações da layer ‘Default_UFC_12’ para preencher a tabela de atributos da layer ‘rede_ufc_12’. Por fim, desenhar o tubo com a referida legenda.

2.2.Clique com o botão direito:Indica que o usuário deseja encerrar a ferramenta. Devemos apenas exibir uma caixa de diálogo básica (uma JOptionPane), perguntando se o usuário deseja encerrar a ferramenta. Para isso, duas possibilidades surgem:

2.2.1. Sim, encerrar a ferramenta.Devemos anular as variáveis p1 e p2, atribuir o valor 0 (zero) ao contador auxCount e “setar” a ferramenta ‘zoomIn’ para o MapControl, apemas para termos certeza de que a ferramenta de traçar tubos foi encerrada.

2.2.2. Não, desejo continuar.Não executar nenhuma ação.