O atributo ID identifica unicamente uma rota, o atributo Conduits armazena a seq¨uencia de cargas, duas a duas (destino ← origem), de maneira que o sistema consiga estabelecer uma rota a partir de uma dada carga. O m´etodo addConduit() adiciona tais cargas.
Classe Architecture
A classe Architecture modela os dados de arquitetura da planta baixa atrav´es da propriedade listVertices. A especifica¸c˜ao b´asica desta classe ´e mostrada na Figura 5.8.
Architecture #ID
#listVertices
+draw2D() +draw3D()
Figura 5.8: Especifica¸c˜ao da Classe Architecture.
O atributo ID identifica unicamente uma arquitetura (parede ou obst´aculo). Os m´etodos virtuais Draw2D()e Draw3D() s˜ao executados conforme o objeto, na seq¨uˆencia da lista, a ser desenhado.
5.5
Arquitetura do Sistema
A arquitetura b´asica do sistema ´e apresentada na Figura 5.9. Ela ´e composta pela GUI (Graphical User Interface - Interface Gr´afica para o Usu´ario) com acesso `as bibliotecas OpenGL [Angel 2000] e o Gerenciador de Restri¸c˜oes.
Grafo Restrições
Gerenciador de Restrições
Atualiza a cena Ação do usuário
Lista Arquitetônica
GUI
OpenGL
2D 3D
5.5 Arquitetura do Sistema 68
Atrav´es da GUI, o usu´ario pode visualizar e manipular os objetos 2D e 3D durante a constru¸c˜ao do projeto, estas a¸c˜oes s˜ao controladas pelo Gerenciador de Restri¸c˜oes que atualiza o Grafo de Restri¸c˜oes e a Lista Arquitetˆonica. A seguir, cada um destes m´odulos ´e explicado detalhadamente.
5.5.1
A Interface Gr´afica com o Usu´ario
A Figura 5.10 mostra a GUI do sistema proposto com um projeto 2D/3D gerado a partir da leitura de um arquivo com informa¸c˜oes de dados arquitetˆonicos (paredes e colunas). A GUI ´e composta de controles como a barra de menu, a barra de bot˜oes, a tela de desenhos (com viewports 2D e 3D) e o Volante de Navega¸c˜ao cujas fun¸c˜oes s˜ao apresentadas a seguir.
Figura 5.10: Sistema com um projeto arquitetˆonico.
A GUI permite ao usu´ario criar e manipular objetos el´etricos como lˆampadas e tomadas, al´em de oferecer suporte para opera¸c˜oes de navega¸c˜ao. O projeto pode ser visualizado em 2D, em 3D ou em ambos ao mesmo tempo. Isto possibilita um compre- endimento mais natural do projetista e de outras pessoas envolvidas no projeto (por exemplo o cliente). Tal caracter´ıstica n˜ao ´e comum na maioria dos sistemas CAD/CAE para Instala¸c˜oes El´etricas [Moreira 2003].
5.5 Arquitetura do Sistema 69
Barra de Bot˜oes
A Figura 5.11 mostra a barra de bot˜oes para diversas tarefas do sistema juntamente com a Tabela 5.1 com os ´ıcones correspondentes .
Figura 5.11: Barra de bot˜oes. Tabela 5.1: ´Icones da barra de bot˜oes
´Icone Fun¸c˜ao
Abrir/Salvar arquivos do projeto em formato xml.
Lâmpada Tomada QD Obstáculo
Inserindo: lˆampada, tomada, QD e identifica¸c˜ao de obst´aculo.
Carga QD Escala
Movendo: carga (lˆampada ou tomada) e QD . Definindo escala. Identifica¸c˜ao de sa´ıdas do QD.
Escolha da Rota para ser visualizada no desenho. Gera o memorial descritivo do projeto atual. Altera as Viewports de Visualiza¸c˜ao 2D-3D,2D e 3D.
Volante de Navega¸c˜ao
A Figura 5.12 mostra o volante de navega¸c˜ao que na realidade possibilita as diversas transforma¸c˜oes geom´etricas nos desenhos do sistema.
5.5 Arquitetura do Sistema 70
Figura 5.12: Volante de navega¸c˜ao.
O volante permite ao usu´ario selecionar o modo de navega¸c˜ao no ambiente tridi- mensional que pode ser evolu´ıdo para um ambiente virtual. A defini¸c˜ao de Realidade Virtual (RV) como uma interface que simula um ambiente real e permite aos participan- tes interagirem com o mesmo [Latta e Oberg 1994, Aukstakalnis e Blatner 1992] pode vir a ser aplicado a este sistema, onde o ambiente real seria a instala¸c˜ao el´etrica em uma edifica¸c˜ao e os participantes seriam, por exemplo, o engenheiro e o cliente que interagi- riam com o ambiente ajustando as lˆampadas, visualizando os condutores que interligam aparelhos, inclusive podendo simular o aquecimento destes condutores e o consumo de energia dos diversos aparelhos eletro-eletrˆonicos [Cardoso, Faria e Lamounier 2002, Cardoso, Bissochi e Lamounier 2003]. Um exemplo de aplica¸c˜ao do volante para uma instala¸c˜ao virtual seria na imers˜ao do usu´ario ao longo da instala¸c˜ao, onde o usu´ario controlaria a velocidade e a dire¸c˜ao (direita e esquerda) de sua viagem.
Barra de Comando
A Figura 5.13 mostra a caixa de comando juntamente com a barra de status. O sistema responde a certos comandos como importar, salvar, mover etc. Enquanto a barra de status mostra a a¸c˜ao corrente para o usu´ario.
5.5 Arquitetura do Sistema 71
Barra de Menu
A Figura 5.14 mostra a barra de menu do sistema.
Figura 5.14: Barra de menu.
O significado de cada item ´e: File:
New: Inicia um novo projeto; Open: Abre um projeto existente; Save: Salva o projeto corrente;
Edit: Altera valores de cores de objetos como lˆampa- das, paredes, cor de fundo etc
View: Altera entre a visualiza¸c˜ao dos desenhos 2D, 3D e ambos simultaneamente
Tools:
Pan: Permite deslocar o desenho verticalmente e ho- rizontalmente;
Zoom: Permite aproximar ou afastar do desenho; Scale: Permite tomar alguma medida em mm a fim de
ajustar a escala de projeto;
Select: Permite selecionar um objeto do desenho; Save: Permite salvar o desenho no formato bmp. Windows: Permite alterar entre os projetos abertos. Help: Auxilia o usu´ario com quest˜oes mais comuns e
um tutorial para o entendimento do sistema.
5.5.2
O Gerenciador de Restri¸c˜oes
O Gerenciador de restri¸c˜oes controla as a¸c˜oes do usu´ario, atrav´es da GUI, relacio- nadas `as restri¸c˜oes de projeto. Ele atualiza o Grafo de Restri¸c˜oes de acordo com essas a¸c˜oes.
O Gerenciador de Restri¸c˜oes, durante a finaliza¸c˜ao da malha de teto, executa o m´etodo para detectar intersec¸c˜oes entre eletrodutos da malha e obst´aculos. Uma vez identificado colis˜oes, o Gerenciador de Restri¸c˜oes marca cada eletroduto interceptado.