Privacidade e cookies
Este sitio usa cookies. Continuando, acepta o seu uso. Obteña máis información; Por exemplo, sobre como controlar as cookies.
VTK (o kit de ferramentas de visualización ) é unha excelente biblioteca multiplataforma de código aberto enfocada na implantación de datos científicos de 2D e 3D. O Core de VTK está desenvolvido en C ++, pero contén interfaces para usar TCL / TK, Java, Python (Activiz.net para C #). VTK contén algoritmos para visualizar escalar, vector, valores tensoriales, texturas, así como un conxunto de widgets, procesamento paralelo ou soporte doutras ferramentas como Qt ou TK. Tamén implementa algoritmos para o ablandamento das mallas xeométricas, a redución do polígono, a triangulación de Delaunay, o polígono cortado, entre outros. VTK é desenvolvido por Kitware que é unha empresa líder en investigación e desenvolvemento en campos como a visión informática, a visualización médica.
Neste post, veremos como executar o noso primeiro programa en VTK usando Visual Studio 2017 baixo un ambiente de Windows no idioma C ++. Para iso, primeiro debemos instalar e configurar VTK. E, a continuación, realizar un código de exemplo simple que está aloxado este repositorio GitHub.
configurar e compilar VTK
O primeiro paso é baixar VTK da súa páxina web https://www.vtk.org/download/
Usaremos a versión 8 (especificamente a versión 8.1.0), descargando o ficheiro. Zip Fontes (fonte). Entón, recomendo poñer o cartafol descomprimido en calquera lugar “global” como C: /vtk/vtk-8.1.0, no futuro, podemos ter máis versións VTK instaladas en algo así como c: /vtk/vtk-9.0
A idea de ter a fonte VTK, é capaz de compilar no seu computador e xerar o .lib e .dll do seu compilador, que neste caso é Visual Studio 2017 en Windows 10. Para Isto, unha chamada chamada CMake que permite xerar código automaticamente segundo a configuración da computadora (multiplataforma). Non me estenderé nas extensas vantaxes da cmake, a abreviatura da plataforma cruzada, pero é moi útil cando vostede ten moitas bibliotecas. Para descargar CMake a Windows en https://cmake.org/download/ usando o instalador ou o .zip, calquera estará ben.
Unha vez que está instalado CMake, nós Proceda a executar e colocar a localización do código fonte VTK anteriormente descargado e a localización onde se compilará:
Para este exemplo, crearemos o cartafol X64 / que é onde se acomodará a versión compilada de VTK. Realmente podes colocar calquera nome, compilación, ASDF, compilado ou calquera :-). A continuación, debemos facer clic en Configurar:
Un diálogo aparecerá para seleccionar o compilador a empregar, Visual Studio, Mingw , etc. De feito, se ten varias versións de Visual Studio, todos aparecen. Vou seleccionar Visual Studio 15 2017 Win64, o que significa a versión do compilador para VS17 (aínda que parece raro, a versión do VS2017 é de 15 anos, a ferramenta é V141 eo compilador C ++ quizais 19.x, pero iso é outro tema para falar). Deixamos a opción de utilizar compiladores nativos predeterminados e facer clic en Finalizar. Este proceso explora sobre os ficheiros necesarios para compilar correctamente VTK e pode levar uns minutos.
Agora, é posible seleccionar as opcións de compilación para VTK (uso de Python, Qt, webviews, xerar a documentación , os exemplos, constrúen envoltos por Java / Python, entre outros). Isto pode cambiar varios aspectos do proceso, pero por agora non haberá cambios significativos no resultado lanzado. Faga clic nunha vez máis en configurar e debería aparecer na consola GUI de CMake, a configuración da mensaxe feita e, finalmente, fai clic en Xerar. Cando aparece na consola xeradora, CMake pode ser agora pechada e ~ vtk \ vtk-8.1.0 \ vtk \ vtk-8.1.0 \ x64.
alí, o ficheiro VTK.SLN fará Sexa esa é a solución que corresponde ao Visual Studio 2017, que abrimos no IDE onde veremos moitos proxectos asociados que debemos compilar. Un punto importante é que a compilación pode facerse para varios modos: depuración, minsigerel, lanzamento, relwithdebinfo. Por agora, imos facelo por depuración que está seleccionado por defecto, premendo F7 ou a opción de compilación que aparece cando fai clic no proxecto All_Build. Este proceso leva un tempo (máis tempo que CMake) e construirá unha serie de .Libs e .dlls que son a base para usar VTK
Ao final, dentro de C: \ VTK \ VTK-8.1.0 \ x64 Haberá moitos cartafoles (correspondentes a cada proxecto incluído na solución VTK.SLN), ademais do cartafol BIN / (que contén VTK) e a lib / cartafol (que contén todos os .Lib dos proxectos). A medida que a compilación foi feita en modo de depuración, o cartafol que terá dentro destes será de depurar /, e se se compila, por exemplo, serán engadidos a liberación / dentro lib / e bin /.
é importante para Resalte que este proceso só se fai unha vez sempre que non haxa cambios na configuración VTK. Se queres engadir unha opción que a CMake foi configurada, o proceso debe repetirse. Ademais, é posible non construír_all, senón só para os proxectos que realmente se usarán. Cada proxecto da solución VTK representa un conxunto de funcionalidades como VTKCommoncore, VTKPNG, etc., entón se está consciente dos proxectos que usará desde VTK, non debe compilar todo, aforrando un pouco de tempo. Non obstante, para esta publicación, simplemente agardaremos que termine de compilar: d.
O meu primeiro programa con VTK
O uso de CMAke en VTK foi posible porque había un ficheiro chamados cmakelists .txt que é un ficheiro de configuración do proxecto. Este é o punto de entrada de CMake onde están indicados todos os parámetros asociados a un proxecto e así poder facelo un multiplataforma independentemente da localización das bibliotecas necesarias para a súa execución.
Para o noso primeiro programa en VTK , imos facer ese ficheiro cmakelists.txt para xerar automaticamente as configuracións de VTK que o fai compatible noutra plataforma onde se instala VTK. A páxina oficial de VTK ofrece moitos exemplos, https://lorensen.github.io/VTKExamples/site/Cxx/ e todos conteñen a descrición do ficheiro CMAKelists.txt.
Non comezar desde cero, usaremos un código base que está en https://github.com/esmitt/FirstVTK que contén o ficheiro CMAKelists.txt e o ficheiro Donendering.cpp. Os nosos cmakelists.txt contén 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})
Non imos explorar na formación dun ficheiro cmakelists.txt, con todo, é posible identificar certos parámetros como o nome do proxecto que se xerará en Visual Studio ou o nome do ficheiro .cpp que contén o principal.
Unha vez que se descarga o código (ou clonado con GIT), facemos o mesmo proceso que Foi feito para compilar VTK: Usaremos CMake. Deste xeito, debemos poñer tanto a localización do noso cartafol de FirstVTK como o cartafol de saída, onde construír os binarios, que serán FirstVtk / x64 / (Lembre que o nome X64 / pode ser). Facemos clic en Configurar e obteremos algo así como:
Se estás neste momento, todo está ben. Debemos indicar a CMake a localización do .lib e .dll de VTK, neste caso, para a variable VTK_DIR que colocamos c: \ vtk \ vtk-8.1.0 \ x64. E facemos clic en Configurar e despois xerar. Abrimos o FirstVTK / x64 / Conendering.sln Ficheiro con Visual Studio 2017, onde atoparemos 3 proxectos: Al_Build, Donendering e Zero_check.
- All_Build constrúe todos os proxectos da solución (como a facer todo)
- cero_check úsase para executar a CMake de novo cando se realiza un cambio no ficheiro CMAKelists.txt
- é o proxecto que contén o código en C ++ de implantación con Vtk
Entón nós construímos no proxecto BUCK_ALL, e estamos situados no proxecto de conexión (por exemplo, usando conxunto como proxecto de inicio premendo directamente sobre o nome do proxecto). Se tratamos de correr sen estar situado na consitoría, obteremos un erro, por iso é importante estar situado nese proxecto dentro da solución.
Agora agora pode executar o código! Se aparece unha mensaxe como esta:
Estás no camiño correcto 😊 Que pasa? Dado que estamos en Windows, é necesario engadir as DLL ao camiño do sistema para que Windows saiba onde atopalos. Non obstante, ten varias opcións como engadirla como variables do sistema ou copiando as DLL no cartafol executable (depuración /) ou usando unha funcionalidade de Visual Studio.
Usando Visual Studio, debemos facer clic ben No proxecto CONEANTING – > e estamos situados na depuración – > Ambiente:
Alí, engade a ruta onde se atopan as DLLS VTK, no noso caso están situadas en C: \ VTK \ VTK-8.1.0 \ x64 \ bin \ Depuración. Isto fai que sexa colocado como parte do camiño de Windows pero só para a execución do proxecto, é equivalente a colocalo nunha consola de Windows, que foi pechada, a devandita configuración está perdida. Quizais non sexa o xeito eficiente, pero é un proxecto dependente do proxecto.É importante notar que se hai unha variable de ambiente para VTK, por exemplo VTK_DIR, entón a instrución de intercambio a PATH =% PATH%;% VTK_DIR%.
Agora, executa de novo o código:
Aínda que parece un longo proceso, isto permite unha maior portabilidade do seu código, xa sexa para Linux ou con outro compilador. Ademais, unha vez que teña a configuración inicial, só queda escribir o código en VTK. VTK é bastante amplo nos seus algoritmos e estruturas de datos dispoñibles, para a renderización de datos, de feito, hai ata unha versión web.
Noutro post imos explorar un pouco máis en VTK, por agora, estamos Xa completou un importante paso para seguir escribindo o código.
Os pasos explicáronse ben? Non dubide en preguntar.