# Class Hierarchy

- `prisma.analysis.overlay_analysis.OverlayAnalisys` - Classe utilizada para verificar quais áreas possuem sobreposição entre input de entrada e camadas de comparação.
- `prisma.controllers.operation_controller.OperationController` - Classe utilizada para criar um dicionário com especificações da operação que será feita. Dentre as especificações estão: tipo de operação (shapefile, ponto, endereço, feição selecionada), arquivos shapefile e bases de dados de bancos de dados selecionados para comparação.
- `prisma.controllers.screen_controller.Controller` - Classe que faz o controle das telas.
- `prisma.databases.db_connection.DbConnection` - No class docstring; 0/6 instance variable, 1/16 method documented
- `prisma.databases.shp_handle.ShpHandle` - Classe para leitura e manipulação de arquivos shapefile.
- `prisma.prisma.Prisma` - QGIS Plugin Implementation.
- `prisma.prisma_dialog.FORM_CLASS`
  - `prisma.prisma_dialog.PrismaDialog` - No class docstring; 1/1 method documented
- `prisma.qgis.layout_manager.LayoutManager` - Classe responsável por fazer a manipulação do Layout de impressão. Contém métodos para fazer o controle das feições carregadas para impressão, manipular textos e também algumas operações com dados que serão plotados ou utilizados para gerar relatórios PDF.
- `prisma.qgis.map_canvas.MapCanvas` - Classe responsável por gerenciar o mostrador do QGIS. Utilizada somente para os dois botões presentes na tela de resultados do PRISMA. Botões para mostrar todas as camadas comparadas e mostrar somente camadas sobrepostas.
- `prisma.settings.env_tools.EnvTools` - Classe repsonsavel por manipular informações salva na cache do QGIS
- `prisma.settings.json_tools.JsonTools` - Classe para Manipular o arquivo de configuração.
- `prisma.utils.data_processing.DataProcessing` - No class docstring; 0/2 instance variable, 3/6 methods documented
- `prisma.utils.utils.Utils` - No class docstring; 5/5 methods documented
- `PyQt5.QtWidgets.QDialog`
  - `prisma.screens.main_window.MainWindow` - Classe que manipula a tela principal do Prisma.
  - `prisma.screens.overlay_feature.OverlayFeature` - Classe que manipula a tela de teste de sobreposição através de uma feição selecionada do Prisma.
  - `prisma.screens.overlay_point.OverlayPoint` - Classe que manipula a tela de teste de sobreposição utilizando um ponto (lat e long) ou endereço inserido.
  - `prisma.screens.overlay_shapefile.OverlayShapefile` - No class docstring; 0/3 instance variable, 0/2 class variable, 4/4 methods documented
  - `prisma.screens.report_generator.ReportGenerator` - Undocumented
  - `prisma.screens.result_window.ResultWindow` - Classe responsável por fazer o backend da tela de resultados, que exibe a quatidade de sobreposição que aconteceu entre a camada de input e camadas de comparação; Da ao usuário opção para mostrar as camadas no mostrador do QGIS e também gerar os relatórios PDF.
  - `prisma.screens.select_databases.SelectDatabases` - Classe responsável por fazer o back-end da tela onde o usuário seleciona as bases de dados. A partir dela, duas funções são chamadas: função da classe OperationController, que serve para montar um dicionário contendo as configurações da busca configurada pelo usuário, e a função da classe OverlayAnalisys, que em geral, serve para contar quantas sobreposições aconteceram com cada camada e também eliminar áreas de comparação que estão distântes das feições de input.
  - `prisma.settings.config_layers.ConfigLayers` - No class docstring; 0/17 instance variable, 0/2 class variable, 13/21 methods documented
  - `prisma.settings.config_window.ConfigWindow` - Classe reponsavel por manipular a janela de configuração principal
- `qgis.PyQt.QtCore.QObject`
  - `prisma.test.qgis_interface.QgisInterface` - Class to expose QGIS objects and functions to plugins.
- `qgis.PyQt.QtWidgets.QDialog`
  - `prisma.prisma_dialog.PrismaDialog` - No class docstring; 1/1 method documented
- `unittest.TestCase`
  - `prisma.test.test_init.TestInit` - Test that the plugin init is usable for QGIS.
  - `prisma.test.test_prisma_dialog.PrismaDialogTest` - Test dialog works.
  - `prisma.test.test_qgis_environment.QGISTest` - Test the QGIS Environment
  - `prisma.test.test_resources.PrismaDialogTest` - Test rerources work.
  - `prisma.test.test_translations.SafeTranslationsTest` - Test translations work.