A biblioteca ARToolkit, que é usada para efectuar o alinhamento (registo) entre os objectos virtuais com os marcadores no mundo real, por si só permite usufruir de uma experiência de RA. No entanto, qualquer adição e remoção de modelos tridimensionais, associação dos mesmos a marcadores ou qualquer outra forma de gestão é necessariamente feita alterando manualmente os ficheiros de configuração do ARToolkit. O GERA é um \emph{backoffice} que permite realizar tais operações sem ter de interagir directamente com os ficheiros e registos do ARToolkit, facilitando assim a gestão de exposições e tornando-a mais eficiente, intuitiva e acessível a qualquer pessoa. Uma vez que o GERA acede e edita as bases de dados e ficheiros de configuração do ARToolkit, este é parcialmente integrado na arquitectura do Gestor, como se pode observar na Fig.1.

Fig.1 - Arquitectura do GERA.

O GERA acede às bases de dados Marcadores e Modelos que são partilhadas com o módulo Visualizador. Além dessas bases de dados acede também a uma afecta exclusivamente a si, a base de dados de Exposições. As bases de dados são acedidas pela Interface, a qual disponibiliza ao utilizador a listagem de marcadores e modelos disponíveis para associação, como também permite guardar essas associações numa nova exposição ou então aceder a exposições já existentes. O GERA é responsável, através da sua Interface, por gerir o conjunto de associações de modelos com marcadores, como também pela actualização do ficheiro de configuração que será usado pelo módulo Visualizador. Na Interface é possível executar o módulo Visualizador, o qual será executado numa aplicação paralela, tornando o GERA uma ferramenta completa, simples e intuitiva de gestão e acesso à aplicação de RA.

A Interface, foi desenvolvida na linguagem de programação orientada a objectos C\# (C Sharp) em Microsoft Visual Studio 2008 a qual, como é possível verificar na Fig.2, é uma típica aplicação para Windows. A Interface é constituída de forma genérica como outras aplicações por um menuStrip que contém todas as funções e opções relativamente à aplicação e por um toolStrip com as funções e opções mais relevantes identificadas por ícones para uma navegação mais intuitiva. Num aspecto mais particular, a aplicação será uma treeView que associa através dos seus nós pais e filhos, respectivamente, os marcadores e modelos.

Fig.2 - Interface do GERA.

Uma típica gestão de uma nova exposição passa, então, por adicionar um novo marcador à treeView. Essa adição pode ser feita por três meios distintos: pelo menuStrip, pelo toolStrip ou então por um contexMenuStrip acedido pelo clique direito do rato. Ao escolher uma dessas opções será dado ao utilizador a possiblidade de seleccionar um dos marcadores incluídos na base de dados Marcadores, o qual será adicionado ao nó pai da treeView. Seleccionando um nó pai é possível deste modo associar um modelo ao dado marcador por meios idênticos à adição de marcadores. Da mesma forma, é possível remover marcadores e modelos.

Quando se selecciona um nó (pai ou filho) na treeView, uma imagem identificativa do marcador associado é representada numa PictureBox para melhor gestão da exposição por parte do utilizador. Do mesmo modo ao seleccionar um nó, caso este seja um nó filho ou um nó pai com um nó filho, um conjunto de características são disponibilizadas na Interface relativamente ao modelo. Essas características são a sua translação, rotação e escala do registo relativamente ao eixo de origem do marcador. O utilizador pode definir cada uma delas individualmente, podendo atribuir valores de translação para o eixo do X,Y e Z através de textbox numéricas. O valor de rotação é escolhido por uma numericupdown, com os eixos de rotação seleccionados por uma CheckBox. Os valores de escala também são definidos por textbox numéricas para cada um dos seus eixos, sendo possível trancar a proporcionalidade de escala por meio de uma CheckBox. Existe ainda um botão no conjunto de opções que permite gravar todas as alterações num ficheiro de configuração .

Uma vez terminada a configuração da exposição é possível gravá-la. Existe também, a possibilidade de abrir uma exposição e actualizá-la no Visualizador. As duas primeiras são simples funções de leitura e escrita de um ficheiro txt para a treview do Interface e vice-versa. A leitura e escrita são feitas na base dados Exposições que contém os vários conjuntos de associações geridas por meio do GERA. A função “actualizar exposição” no Visualizador faz uma cópia da exposição actualmente seleccionada no Interface indo substituir o ficheiro de configuração no Artoolkit.