Privacidade e cookies
Este site usa cookies. Continuando, você aceita seu uso. Consiga mais informação; Por exemplo, sobre como controlar cookies.
anúncios
vtk (o kit de ferramentas de visualização ) é uma excelente biblioteca multiplataforma de código aberto focada na implantação de dados científicos 2D e 3D. O núcleo VTK é desenvolvido em C ++, mas contém interfaces para usar TCL / TK, Java, Python, (Activiz.net for C #). VTK contém algoritmos para visualizar valores escalares, vetoriais, tensoriais, texturas, bem como um conjunto de widgets, processamento paralelo ou suporte de outras ferramentas, como QT ou TK. Também implementa algoritmos para o amolecimento de malhas geométricas, redução de polígono, triangulação de Delaunay, polígono corte, entre outros. O VTK é desenvolvido por kitware que é uma empresa líder em pesquisa e desenvolvimento em áreas como visão de computador, visualização médica.
Neste post, veremos como executar nosso primeiro programa em VTK usando o Visual Studio 2017 em um ambiente Windows no idioma C ++. Para isso, devemos primeiro instalar e configurar o VTK. E, em seguida, executar um código de amostra simples que está hospedado neste repositório github.
Configurar e compilar VTK
A primeira etapa é baixar o VTK da sua página da Web https://www.vtk.org/download/
Vamos usar a versão 8 (especificamente versão 8.1.0), baixando o arquivo. Zip Fontes (fonte). Então, eu recomendo colocar a pasta descompactada em qualquer local “global”, como C: /vtk/vtk-8.1.0, no futuro, podemos ter mais versões VTK instaladas em algo como c: /vtk/vtk-9.0
A ideia de ter a fonte do VTK, é capaz de compilá-lo no seu computador e gerar o .lib e .dll do seu compilador, que neste caso é o Visual Studio 2017 no Windows 10. para isso, uma chamada chamada CMAKE que permite gerar código automaticamente de acordo com a configuração do computador (multiplataforma). Eu não serei estendido nas vantagens extensas do CMAke, a abreviação da plataforma cruzada, mas é realmente muito útil quando você tenha muitas bibliotecas. Para baixar o CMAke para Windows em https://cmake.org/download/ Usando o instalador ou o .zip, qualquer um ficará bem.
Uma vez cmake é instalado, nós Prossiga a executar e coloque a localização do código-fonte do VTK baixado anteriormente, e o local onde será compilado:
Para este exemplo, vamos criar a pasta x64 / que é onde a versão compilada do VTK será acomodada. Você pode realmente colocar nenhum nome, construir, asdf, compilado ou qualquer um :-). Em seguida, devemos clicar em configurar:
Uma caixa de diálogo parecerá selecionar o compilador para usar, Visual Studio, Mingw , Etc. De fato, se você tiver várias versões do Visual Studio, todos aparecem. Vou selecionar o Visual Studio 15 2017 Win64, o que significa que a versão do compilador para vs17 (embora parece rara, a versão do VS2017 é 15, o conjunto de ferramentas é v141 e o compilador C ++ talvez 19.x, mas isso é outro tópico para falar). Deixamos a opção de usar compiladores nativos padrão e clicar em Concluir. Esse processo explora sobre os arquivos necessários para compilar corretamente o VTK, e pode levar alguns minutos.
Agora, é possível selecionar as opções de compilação para VTK (uso de Python, Qt, WebViews, gerar a documentação , os exemplos, construir envoltórios para Java / Python, entre outros). Isso pode mudar vários aspectos do processo, mas por enquanto não haverá alterações significativas no resultado lançado. Clicamos mais uma vez na configuração, e você deve aparecer no console da GUI da CMAKE, a mensagem Configurando Feito e, finalmente, clique em Gerar. Quando aparece no console feito gerador, o CMAKE agora pode ser fechado e \ vtk \ vtk-8.1.0 \ vtk \ vtk-8.1.0 \ vtk-8.1.0 \ x64.
lá, o arquivo vtk.sln Seja essa é a solução que corresponde ao Visual Studio 2017, que abrimos no IDE onde veremos muitos projetos associados que devemos compilar. Um ponto importante é que a compilação pode ser feita para vários modos: Depurar, Minsizerel, Liberação, RelwithDebinfo. Por enquanto, vamos fazer isso por depuração que é selecionado por padrão, pressionando F7 ou a opção de compilação que aparece quando você clica no projeto All_Build. Esse processo leva um tempo (mais tempo que o cmake) e construirá uma série de .libs e .dlls que são a base para usar o VTK.
No final, dentro C: \ vtk \ vtk-8.1.0 \ x64 Haverá muitas pastas (correspondendo a cada projeto incluído na solução VTK.SLN), além da pasta BIN / (contendo VTK) e a lib / pasta (contendo todos os .lib dos projetos). À medida que a compilação foi feita no modo de depuração, a pasta que terá dentro desses será depurada /, e se compilada, por exemplo, será adicionada Liberação / Interior Lib / e Bin /.
É importante Destacar que este processo é feito apenas uma vez, desde que não haja alterações na configuração do VTK. Se você quiser adicionar uma opção que o CMake foi configurado, o processo deve ser repetido. Além disso, é possível não construir_all, mas apenas para os projetos que serão realmente usados. Cada projeto da solução VTK representa um conjunto de funcionalidades como VTKCommoncore, VTKPNG, etc., então, se você está ciente dos projetos que você usará do VTK, você não deve compilar tudo, economizando um pouco de tempo. No entanto, para este post, nós simplesmente esperamos que ele termine com o compilação: d.
Meu primeiro programa com VTK
O uso de cmake no VTK foi possível porque houve um arquivo Chamado Cmakelists .txt que é um arquivo de configuração do projeto. Este é o ponto de entrada cmake em que todos os parâmetros associados a um projeto são indicados e, portanto, podem torná-lo uma multiplataforma independentemente do local das bibliotecas necessárias para sua execução.
para o nosso primeiro programa em VTK , vamos fazer isso arquivo cmakelists.txt para gerar automaticamente as configurações do VTK, tornando-se compatível em outra plataforma onde o VTK está instalado. A página do VTK oficial oferece muitos exemplos, https://lorensen.github.io/VTKExamples/site/Cxx/ e todos contêm a descrição do arquivo Cmakelists.txt.
Não começar a partir do zero, vamos usar um Código base que está em https://github.com/esmitt/FirstVTK contendo o arquivo Cmakelists.txt e o arquivo Donending.cpp. Nosso cmakelists.txt contém o seguinte:
cmake_minimum_required(VERSION 2.8)PROJECT(ConeRendering)find_package(VTK 8.0.0 REQUIRED)include(${VTK_USE_FILE})file(GLOB SOURCES src/ConeRendering.cpp)add_executable(ConeRendering MACOSX_BUNDLE src/ConeRendering.cpp)target_link_libraries(ConeRendering ${VTK_LIBRARIES})
Não vamos explorar na formação de um arquivo Cmakelists.txt, no entanto, é possível identificar determinados parâmetros Como o nome do projeto que será gerado no Visual Studio, ou o nome do arquivo .cpp que contém o principal.
Uma vez que o código (ou clonado com Git) seja baixado, fazemos o mesmo processo que foi feito para compilar VTK: vamos usar o CMake. Assim, devemos colocar tanto o local da nossa pasta FirstVTK, quanto a pasta de saída, onde construir os binários, que será firstvtk / x64 / (lembre-se que o nome x64 / pode ser). Clique em Configurar e nós receberemos algo como:
Se você está neste momento, tudo está bem! Devemos indicar para cmake a localização do .lib e .dll de VTK, neste caso, para a variável vtk_dir, colocamos C: \ vtk \ vtk-8.1.0 \ x64. E clicamos em configurar e depois geramos. Abrindo o arquivo FirstVTK / X64 / CONRONTERING.SLN com o Visual Studio 2017, onde encontraremos 3 projetos: Al_Build, Donending e Zero_Check.
- All_Build constrói todos os projetos da solução (como uma factura de todos)
- zero_check é usado para executar o CMake novamente quando uma alteração é feita no arquivo cmakelists.txt
- é o projeto que contém o código em C ++ da implantação com VTK
Em seguida, nós construímos no projeto Build_all, e estamos localizados no projeto de concorrência (por exemplo, usando definido como projeto de inicialização clicando no nome do projeto). Se tentarmos correr sem estar localizado em concorrência, obteremos um erro, é por isso que é importante estar localizado nesse projeto dentro da solução.
Agora você pode executar o código! Se uma mensagem como esta aparecer:
Você está no caminho certo 😊 O que acontece? Como estamos no Windows, é necessário adicionar as DLLs ao caminho do sistema para que o Windows saiba onde encontrá-los. No entanto, você tem várias opções como adicioná-la como variáveis do sistema, ou copiando as DLLs na pasta Executable (Debug /), ou usando uma funcionalidade do Visual Studio.
Usando o Visual Studio, devemos clicar em Direto Na concorrência do projeto – > propriedades, e estamos localizados na depuração – > Ambiente:
Adicione a rota onde as dlls VTK estão localizadas, no nosso caso estão localizadas em C: \ vtk \ vtk-8.1.0 \ x64 \ bin \ Depurar. Isso faz com que ele seja colocado como parte do caminho do Windows, mas apenas para a execução do projeto, é equivalente colocando-o em um console do Windows, que foi fechado, a referida configuração é perdida. Talvez não seja a maneira eficiente, mas é um projeto dependente do projeto.É importante notar que, se houver uma variável de ambiente para o VTK, por exemplo, vtk_dir, então a instrução de troca para o caminho =% path%;% vtk_dir%.
Agora, execute novamente o código:
Embora pareça um processo longo, isso permite uma maior portabilidade do seu código, seja para Linux ou com outro compilador. Além disso, depois de ter a configuração inicial, você só resta escrever o código no VTK. O VTK é bastante amplo em seus algoritmos e estruturas de dados disponíveis, para renderização de dados, na verdade, há até uma versão da web.
em outro post nós exploraremos um pouco mais no VTK, por enquanto, somos já completou um passo importante para continuar a escrever código.
As etapas explicaram bem? Não hesite em perguntar.