### 3.5 Usando o Mouse para Controlar Objetos

Geomview permite a você controlar objetos com o mouse. Existem seis diferentes modos de movimento do mouse: rotação (Rotate), translação (Translate), vôo da câmera (Cam Fly), zoom da câmera (Cam Zoom), homotetia de um objeto geométrico (Geom Scale), e órbita de câmera (Cam Orbit). O painel de ferramentas tem um botão para cada um desses modos; para trocar os modos, clique sobre o botão correspondente. você pode também selecionar um novo modo através do navegador de modos de movimento (Motion Mode) no painel principal (Main).

Essa seção descreve a interação básica com o mouse. Para detalhes, veja Comandos.

Figura 3.4: O Painel de Ferramentas.

Cada um dos modos de movimento usa um paradigma comum para como o movimento é aplicado. Em particular, cada modo de movimento depende do objeto alvo (target) atual e do atual objeto do centro (center). O objeto alvo atual e o atual objeto do centro são explicados nos parágrafos seguintes.

O objeto alvo atual é mostrado no campo Target no painel de ferramentas (Tools). Isso é o mesmo que o objeto selecionado no navegador de alvos (Targets) no painel principal (Main), e você pode mudar o alvo ou selecionando um novo objeto no navegador, digitando uma nova entrada no campo, ou selecionando um objeto na janela de câmera duplo-clicando no botão direito do mouse com o cursor sobre o objeto.

O atual objeto do centro é mostrado no campo Center no painel de ferramentas(Tools). Seu valor padrão é a palavra especial "target", que significa que o objeto do centro é o objeto que estiver designado como objeto alvo. Você pode mudar o objeto atual do centro para qualquer objeto digitando seu nome no campo Center. A orígem do objeto do centro é mantida fixa no modo rotação Rotate e no modo Orbit. Normalmente o objeto do centro é um dos objetos geométricos (geoms) existentes listados no navegador de alvos (Targets), o centro atual das rotações é a orígem daquele sistema de coordenadas daquele objeto. É possível, todavia, selecionar um ponto arbitrário de interesse sobre um objeto como o centro. Para detalhes, veja Ponto de Interesse.

Isso também é possível mudando o botão BBox Center para escolher o centro de movimento como sendo o centro do objeto atual da caixa associada. Uma vez modificado o centro da caixa geométrica ativa associada irá tornar-se o centro do movimento, se você selecionar outro objeto, então o centro do movimento irá tornar-se o centro da caixa associada à aquele objeto. Nenhuma modificação ocorrerá quando uma câmera ou o objeto mundo (World) for selecionado; você tem que digitar a palavra `target` no campo Center para retornar ao valor padrão.

Você aplica um movimento de mouse pressionando ou o botão esquerdo ou o botão do meio do mouse com o cursor em uma janela de câmera e movendo o mouse. A maioria dos modos de movimento possui inércia (inertia), que significa que se você soltar o botão enquanto move o mouse, o movimento irá continuar. Para imaginar a inércia pode ser útil imaginar o cursor do mouse como sendo uma alça; quando você pressiona um botão do mouse para baixo, o mouse agarra firmemente no objeto alvo e você pode mover esse objeto. Quando você libera o botão do mouse, a alça libera o objeto. Liberando o botão do mouse enquanto move o mesmo funciona como abandonar o objeto — o objeto continua movendo-se independentemente do mouse. Inércia pode ser desligada; veja o menu de movimento (Motion) no painel principal (Main), descrito abaixo.

Geralmente, o botão esquerdo do mouse controla movimento no plano da tela, enquanto o botão médio do mouse controla movimento ao longo ou em torno da direção de avanço.

Pressionando o tecla "shift" enquanto arrasta com o botão esquerdo ou médio do mouse na maioria dos modos de movimento fornece movimentos de baixa velocidade , útil para ajustes finos.

Você pode selecionar qualquer ponto sobre um objeto (não apenas sua orígem) como centro do movimento pressionando a tecla "shift" enquanto clica no botão direito do mouse; isso escolhe o ponto de interesse.

Rotate
  No modo rotação (Rotate), pressione o botão esquerdo do mouse para rotacionar o objeto alvo en torno do objeto do centro. A rotação ocorre na direção que você move o mouse. Especificamente, o eixo de rotação passa através da orígem do objeto do centro, é paralelo ao plano de visão da câmera, e é perpendicular à direção do movimento do mouse. Quando o centro for o alvo ("target"), isso significa que o objeto alvo rotaciona em torno de sua própria orígem.

  O botã do meio do mouse no modo de movimento tipo rotação (Rotate) rotaciona o objeto alvo em torno de um eixo perpendicular ao plano de visão.

Translate
  No modo translação (Translate), mantenha pressionado o botão esquerdo do mouse para transladar o objeto alvo na direção do movimento do mouse. O botão do meio do mouse translada o alvo ao longo de um eixo perpendicular ao plano de visualização.

  No espaço Euclideano, o objeto do centro é essencialmente irrelevante para translações. Nos espaços hiperbólicos e esféricos, onde translações possuem um único eixo, esse eixo é escolhido para ir através da orígem do objeto do centro.

Cam Fly
  O Vôo de Câmera (Cam Fly) é um simulador de vôo muito simples que permite a você voar em torno da cena. Cam Fly trabalha através do movimento da câmera. Movimente o mouse enquanto mantém pressionado o botão esquerdo do mouse para posicionar a câmera em uma direção diferente. Para mover adiante ou para trás, mantenha pressionado o botã do meio e mova o mouse verticalmente. Os dois movimentos aqui descritos possuem inércia; tipicamente o caminho mais fácil para voar em torno de uma cena é fornecer a câmera um passo adiante pressionando o botã do meio enquanto move-se o mouse para cima, e então usar o botão esquerdo para pilotar.

  Cam Fly afeta a janela de câmera onde o mouse está correntemente posicionado; Cam Fly ignora o objeto alvo e o objeto do centro.

Cam Orbit
  O modo órbita de Câmera (Cam Orbit) permite a você rotacionar a câmera atual em torno do centro atual. O botão esquerdo do mouse faz essa rotação. O botão do do meio do mouse no modo Cam Orbit atua da mesma forma que no modo Cam Fly: O botão do do meio do mouse move a câmera para adiante e para trás.

  Em geral Cam Orbit não move o objeto alvo, embora se a câmera atual for selecionada como o alvo e o centro for também o alvo, Cam Orbit irá apenas pivotar aquela câmera sobre sí mesma como no modo Cam Fly.

Cam Zoom
  O modo Zoom de Câmera (Cam Zoom) permite a você modificar o campo atual de visão com o mouse; mantenha pressionado o botão esquerdo do mouse e mova o mouse para modificar o campo de visão. O valor numérico do campo de visão é mostrado no campo FOV (field of view) no painel de câmera (Camera).
Geom Scale
  O modo Geom Scale permite a você ampliar ou diminuir um objeto geométrico (geom). Geom Scale atua sobre o objeto alvo se aquele objeto for um geom. Se o alvo for uma câmera, Geom Scale atual sobre o geom que foi o objeto alvo mais recentemente. Movendo o mouse enquanto mantem-se pressionado o botão esquerdo do mouse homotetiza-se o objeto ou ampliando ou reduzindo o mesmo, dependendo da direção do movimento do mouse. o centro da transformação homotética aplicada é o objeto do centro.

  Homotetia possui significado somente no espaço Euclideano; tentativas do palicar homotetia são ignoradas em outros espaços.

  O modo Geom Scale não possui inércia.

Os botões Stop, Look At, Center, e Reset no painel de ferramentas (Tools) executam ações relacionadas a movimentos mas não modificam o modo atual de movimento (nota do tradutor: de rotação para translação por exemplo).

Stop
  O botão Stop faz com que cessem todos os movimentos. O botão Stop afeta todos os objetos em movimento, não apenas o objeto alvo. Sua tecla de atalho é `H`.

  O comando de teclado `h`, que não corresponde a um botão do painel, cessa o movimento atual para o objeto alvo somente.

Look At
  O botão Look At faz com que a câmera atual seja movida para uma posição tal que a referida câmera esteja olhando para o objeto alvo, e de forma que o objeto alvo mais ou menos ajuste-se à janela.

  O comando Look At não funciona perfeitamente em espaços não Euclideanos.

Center
  O botão Center desfaz transformação do objeto alvo, movendo o objeto alvo de volta à sua posição inicial padrão, que é onde ele estava quando você originalmente o chamou a partir do Geomview.
Reset
  O botão Reset cessa todo movimento e faz com que todos os objetos sejam movidos de vota às suas posições iniciais padrão.

O painel de ferramentas (Tools) possui um botão Main, para invocar o painel principal no caso de esse painel ter sido dispensado ou sepultado, e um botão Done para fechar o painel de ferramentas Tools.

O painel principal do menu de movimento (Motion) tem controles especiais que afetam como movimentos do mouse são interpretados; as modificações são também acessíveis através de comandos GCL. See `(ui-motion ...)`.

[ui] Inertia
  Normalmente, ao mover objetos tem-se inércia: se o mouse estiver ainda se movendo quando o botão for liberado, o objeto selecionado continua a mover-se. Quando a inércia (Inertia) for desabilitada, objetos cessam seu movimento no momento em que você libera o mouse.
[uc] Constrain Motion
  É necessário algumas vezes ter ao alcance da mão o movimento de um objeto em uma direção alinhada com um eixo coordenado: exatamente na horizontal ou na vertical. Selecionando restringir movimento (Constrain Motion) a interpretação de movimentos do mouse é modificada para permitir isso; arrastros de mouse aproximadamente horizontais ou aproximadamente verticais transformam-se em movimentos exatamente horizontais ou exatamente verticais. Note que o movimento é ainda ao longo dos eixos X ou Y da câmera na qual você move o mouse, não necessáriamente no sistema de coordenadas do objeto.
[uo] Own Coordinates
  É necessário algumas vezes ter ao alcance da mão o movimento de objetos objetos com relação ao sistema de coordenadas onde o referido objeto foi definido, em lugar de com relação ao sistema de coordenadas da câmera através da qual esse objeto está sendo visto. Enquanto Own Coordinates estiver selecionado, todos os movimentos são interpretados da forma citada nesse item: arrastando o mouse para a direita no modo translação corresponde a mover o objeto em sua própria direção +X, e assim por diante. Pode ser especialmente útil conjuntamente com o botão Restringir Movimento (Constrain Motion).