VTK cu Visual Studio 2017 (C ++)

x

Confidențialitate și cookie-uri

Acest site utilizează cookie-uri. Continuând, acceptați utilizarea dvs. Obțineți mai multe informații; De exemplu, despre cum să controlați cookie-urile.

div>

VTK (setul de vizualizare ) Este o excelentă bibliotecă multiplaformă a sursei deschise, axată pe implementarea datelor științifice 2D și 3D. Miezul VTK este dezvoltat în C ++, dar conține interfețe pentru a utiliza TCL / TK, Java, Python, (Activiz.net pentru C #). VTK conține algoritmi pentru a vizualiza textele scalare, vectoriale, tensoriale, texturi, precum și un set de widget-uri, procesare paralelă sau suport din alte instrumente cum ar fi QT sau TK. De asemenea, implementează algoritmi pentru înmuierea ochiurilor geometrice, reducerea poligonului, triangularea de delaunay, tăierea poligonului, printre altele. VTK este dezvoltat de Kitware, care este o companie de lider în domeniul cercetării și dezvoltării în domenii precum viziunea computerului, vizualizarea medicală.

În acest post, vom vedea cum să executăm primul nostru program în VTK utilizând Visual Studio 2017 sub un mediu Windows în limba C ++. Pentru aceasta, trebuie să instalăm mai întâi și să configuram VTK. Apoi rulați un cod simplu de probă care este găzduit pe acest depozit GitHub.

Configurare și compilați VTK

Primul pas este de a descărca VTK de pe pagina dvs. web ivid id = „D3F36FA448 ”

Vom folosi versiunea 8 (în special versiunea 8.1.0), descărcând fișierul. ZIP Surse (sursă). Apoi, vă recomandăm să plasați dosarul nezipped la orice locație „globală”, cum ar fi C: /vtk/vtk-8.1.0, în viitor, putem avea mai multe versiuni VTK instalate în ceva de genul C: /vtk/vtk-9.0

Ideea de a avea sursa VTK este capabilă să o compileze pe computerul dvs. și să genereze .lib și .dll din compilatorul dvs., care în acest caz este Visual Studio 2017 în Windows 10. Pentru acest lucru, un apel numit Cmake care vă permite să generați automat codul în funcție de configurația calculatorului (multiplatform). Nu voi fi extins în avantajele extinse ale CMAKE, abrevierea de platformă încrucișată, dar este foarte util când tu Aveți o mulțime de biblioteci. Pentru a descărca CMAKE în Windows în https://cmake.org/download/ folosind instalatorul sau .ZIP, oricine va fi bine.

Odată ce CMAKE este instalat, noi Continuați să executați și plasați locația codului sursă VTK descărcat anterior și locația unde va fi compilată:

Pentru acest exemplu, vom crea folderul X64 / care este locul în care versiunea compilată a VTK va fi cazată. Puteți să plasați cu adevărat orice nume, construiți, ASDF, compilați sau oricine :-). Apoi, trebuie să facem clic pe Configure:

CMAKECOMPLER

O dialog va apărea pentru a selecta compilatorul de utilizat, Visual Studio, Mingw , etc de fapt, dacă aveți mai multe versiuni ale Studioului Visual, apar toate. Voi selecta Visual Studio 15 2017 Win64, ceea ce înseamnă versiunea compilatorului pentru VS17 (deși pare rară, versiunea VS2017 este de 15, setul de instrumente este V141 și compilatorul C ++ probabil 19.x, dar acesta este un alt subiect de a vorbi). Lăsăm opțiunea de utilizare a compilatoarelor native implicite și faceți clic pe Finish. Acest proces explorează despre fișierele necesare pentru a compila corect VTK și poate dura câteva minute.

Acum, este posibilă selectarea opțiunilor de compilare pentru VTK (Utilizarea Python, Qt, Webviews, Generați documentația , exemplele, construi înfășurări pentru Java / Python, printre altele). Acest lucru poate schimba mai multe aspecte ale procesului, dar pentru moment nu vor exista schimbări semnificative în rezultatul aruncat. Faceți clic pe încă o dată pe Configurare și ar trebui să apară pe consola Cmake Gui, mesajul Configurare efectuat și, în final, faceți clic pe Generați. Când apare pe consola de generare, CMAKE poate fi acum închisă și \ vtk \ vtk-8.1.0 \ vtk \ vtk-8.1.0 \ x64.

Acolo, fișierul VTK.SLN va Fiți soluția care corespunde cu Visual Studio 2017, pe care le deschidem în IDE unde vom vedea multe proiecte asociate pe care trebuie să le compilam. Un punct important este că compilarea poate fi făcută pentru diferite moduri: Debug, Minsizerel, eliberare, Relwithdebinfo. Pentru moment, să o facem pentru depanare, care este selectată implicit, apăsând F7 sau opțiunea de construire care apare atunci când faceți clic pe Dreptul de pe proiectul All_build. Acest proces durează un timp (mai mult timp decât camake) și va construi o serie de .libs și .dlls care sunt baza pentru utilizarea VTK.

VSVTK.JPG la sfârșit, în interiorul C: \ VTK \ VTK-8.1.0 \ x64 Vor fi multe foldere (corespunzătoare fiecărui proiect inclus în soluția VTK.SLN), în plus față de folderul BIN / (conținând VTK) și folderul LIB / LIB (care conține toate proiectele). Deoarece compilația a fost făcută în modul Debug, dosarul care va avea în cadrul acestora va fi depanat / și, dacă este compilat, de exemplu, eliberarea, va fi adăugată eliberarea / interiorul lib / și bin /.

Este important să Evidențiați că acest proces se face numai o dată atâta timp cât nu există modificări în configurația VTK. Dacă doriți să adăugați o opțiune pe care CMASE a fost configurată, procesul trebuie repetat. De asemenea, este posibil să nu construiți_all, ci numai la proiectele care vor fi utilizate efectiv. Fiecare proiect al soluției VTK reprezintă un set de funcționalități cum ar fi VTKCommoncore, Vtkpng, etc., atunci dacă știți proiectele pe care le veți folosi de la VTK, nu trebuie să compilați totul, economisiți puțin timp. Cu toate acestea, pentru acest post, vom aștepta pur și simplu să terminăm compila: d.

primul meu program cu VTK

Utilizarea CMAKE în VTK a fost posibilă deoarece a fost un fișier Chemat Cmakelists .txt care este un fișier de configurare a proiectului. Acesta este punctul de intrare Cmake, unde sunt indicate toți parametrii asociați cu un proiect și, astfel, să fie capabili să o facă independent de locația bibliotecilor necesare pentru execuția sa.

pentru primul nostru program în VTK , vom face fișierul Cmakelists.txt pentru a genera automat setările VTK care fac compatibil pe o altă platformă unde este instalat VTK. Pagina oficială VTK oferă multe exemple, https://lorensen.github.io/VTKExamples/site/Cxx/, și toate conțin descrierea fișierului Cmakelists.txt.

Nu pentru a începe de la zero, vom folosi a Codul de bază care este în https://github.com/esmitt/FirstVTK care conține fișierul Cmakelists.txt și fișierul de dondering.cpp. Cmakelists.txt conține următoarele:

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})

Nu vom explora în formarea unui fișier Cmakelists.txt, cu toate acestea, este posibil să se identifice anumiți parametri Ca nume de proiect care va fi generat în Visual Studio sau numele fișierului .cpp care conține principalul.

Odată ce codul (sau clonat cu git) este descărcat, facem același proces care a fost făcută pentru compilarea VTK: vom folosi Cmakake. Astfel, trebuie să plasăm atât locația dosarului nostru FirstVTK, cât și dosarul de ieșire, unde să construim binarele, care vor fi FirstVTK / X64 / (Amintiți-vă că numele x64 / poate fi fie). Faceți clic pe Configure și vom obține ceva de genul:

Firstvtkjpg

Dacă sunteți în acest moment, totul este bine! Trebuie să indicam să crimăm locația lui .lib și .dll din VTK, în acest caz, pentru variabila VTK_DIR pe care am plasat-o C: \ VTK \ VTK-8.1.0 \ x64. Și facem clic pe configurare și apoi în generare. Deschidem fișierul FirstVTK / X64 / Conderdering.sln cu Visual Studio 2017, unde vom găsi 3 proiecte: Al_building, Doneding și Zero_Check.

  • All_build construiește toate proiectele soluției (cum ar fi un make tot)
  • zero_check este folosit pentru a rula din nou Cmake când se face o schimbare la cmakelists.txt
  • fișier este proiectul care conține codul în C ++ de implementare VTK

Apoi, ne bazăm pe proiectul Build_all și suntem situați în proiectul Convender (de exemplu, utilizând proiectul setat ca pornire făcând clic pe numele proiectului). Dacă încercăm să fugim fără a fi localizați în Concerning, vom obține o eroare, de aceea este important să se afle în acest proiect în cadrul soluției.

Acum acum puteți rula codul! Dacă apare un mesaj:

Errorvtk

Sunteți pe piesa dreaptă 😊 Ce se întâmplă? Deoarece suntem în Windows, este necesar să adăugați DLL-urile pe calea sistemului, astfel încât ferestrele să știe unde să le găsească. Cu toate acestea, aveți mai multe opțiuni cum ar fi adăugarea acesteia ca variabile de sistem sau prin copierea DLL-urilor din dosarul director executabil (Debug /) sau folosind o funcționalitate a studioului vizual.

Utilizarea Visual Studio, trebuie să faceți clic pe dreapta În proiectul concerning – iv id = „1c65b20a75” proprietăți și suntem situați la depanare – > mediu:

Addpath

acolo, adăugați traseul în care se află Dlls VTK, în cazul nostru sunt situate în C: \ VTK \ VTK-8.1.0 \ x64 \ bin \ Debug. Acest lucru îi determină ca să fie plasat ca parte a căii ferestrelor, dar numai pentru executarea proiectului, este echivalentă să o plasați pe o consolă de ferestre, care a fost închisă, respectiva configurație este pierdută. Poate că nu este o modalitate eficientă, dar este un proiect dependent de proiect.Este important să rețineți că dacă există o variabilă de mediu pentru VTK, de exemplu VTK_DIR, atunci instrucțiunea de schimb la traseul =% calea%;% vtk_dir%.

Acum, rulați din nou codul:

Conventerring

Deși pare a fi un proces lung, aceasta permite o mai mare portabilitate a codului dvs., fie la Linux, fie cu un alt compilator. De asemenea, odată ce aveți configurația inițială, rămâneți doar să scrieți codul în VTK. VTK este destul de largă în algoritmii și structurile de date disponibile, pentru redarea datelor, de fapt, există chiar o versiune web.

într-un alt post vom explora un pic mai mult în VTK, deocamdată, suntem Deja a completat un pas important pentru a continua codul de scriere

Pașii au explicat bine? Nu ezitați să întrebați.

Rezumat: Dacă vă aflați în zona științifică, trebuie să știți VTK!

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *