VTK con Visual Studio 2017 (C ++)

x

Privacy e cookie

Questo sito utilizza i cookie. Continuando, accetti il tuo uso. Ottieni maggiori informazioni; Ad esempio, su come controllare i cookie.

capito

annunci

vtk (il toolkit di visualizzazione ) è un’ottima libreria multipiattaforma di open source focalizzata sulla distribuzione di dati scientifici 2D e 3D. Il nucleo VTK è sviluppato in C ++, ma contiene interfacce per utilizzare TCL / TK, Java, Python, (Attiviz.net per C #). VTK contiene algoritmi per visualizzare i valori scalari, vettoriali, tensori, trame, nonché un set di widget, elaborazione parallela o supporto da altri strumenti come QT o TK. Implementa anche algoritmi per l’ammorbidimento di maglie geometriche, riduzione del poligono, triangolazione del delaunay, taglio poligono, tra gli altri. VTK è sviluppato da KitWare che è una società leader in ricerca e sviluppo in campi come la visione informatica, la visualizzazione medica.

In questo post, vedremo come eseguire il nostro primo programma in VTK utilizzando Visual Studio 2017 con un ambiente Windows nella lingua C ++. Per questo, dobbiamo prima installare e configurare VTK. E quindi eseguire un semplice codice di esempio che è ospitato su questo repository GitHub.

Configura e compilare VTK

Il primo passo è scaricare VTK dalla pagina Web

Utilizzeremo la versione 8 (specificamente la versione 8.1.0), scaricando il file. zip Fonti (fonte). Quindi, consiglio di posizionare la cartella decompressa in qualsiasi posizione “globale” come C: /vtk/vtk-8.1.0, in futuro, potremmo avere più versioni VTK installate in qualcosa come C: /vtk/vtk-9.0

L’idea di avere la sorgente VTK, è in grado di compilare il tuo computer e generare il .lib e .dll del tuo compilatore, che in questo caso è Visual Studio 2017 in Windows 10. per Questo, una chiamata chiamata cmake che consente di generare automaticamente il codice in base alla configurazione del computer (multiplatform). Non sarò esteso negli ampi vantaggi della cmake, l’abbreviazione della piattaforma trasversale fa, ma è davvero molto utile quando sei molto utile avere molte biblioteche. Per scaricare cmake su Windows in https://cmake.org/download/ utilizzando il programma di installazione o .zip, chiunque sta bene.

Una volta installato Cmake, noi Procedere per eseguire e posizionare la posizione del codice sorgente VTK precedentemente scaricato e la posizione in cui verrà compilato:

Per questo esempio, creeremo la cartella X64 / che è dove verrà sistemata la versione compilata di VTK. Puoi davvero mettere qualsiasi nome, costruire, asdf, compilato o chiunque :-). Quindi, dobbiamo fare clic su Configura:

cmakecommipiler

Una finestra di dialogo apparirà per selezionare il compilatore da utilizzare, Visual Studio, MINGW , ecc. In effetti, se hai diverse versioni di Visual Studio, appaiono tutti. Seletterò Visual Studio 15 2017 Win64, il che significa la versione del compilatore per VS17 (anche se sembra raro, la versione del VS2017 è 15, il set di strumenti è V141 e il compilatore C ++ forse 19.x, ma questo è un altro argomento per parlare). Lasciamo la possibilità di utilizzare i compilatori nativi predefiniti e fare clic su Fine. Questo processo esplora i file necessari per compilare correttamente VTK e può richiedere alcuni minuti.

Ora, è possibile selezionare le opzioni di compilazione per VTK (uso di Python, Qt, Webviews, generare la documentazione , gli esempi, costruire impacchi per Java / Python, tra gli altri). Questo può cambiare diversi aspetti del processo, ma per ora non ci saranno cambiamenti significativi nel risultato lanciato. Fare clic su Ancora una volta su Configura, e dovresti apparire sulla console GUI cmake, il messaggio di configurazione DONE e finalmente fare clic su Genera. Quando appare sulla console di produzione di generazione, cmake può ora essere chiuso e ~ \ vtk \ vtk-8.1.0 \ vtk \ vtk-8.1.0 \ vtk \ vtk-8.1.0 \ x64.

Lì, il file vtk.sln lo farà Sii la soluzione che corrisponde a Visual Studio 2017, che apriamo nell’IDE dove vedremo molti progetti associati che dobbiamo compilare. Un punto importante è che la compilazione può essere fatta per varie modalità: debug, minsizerel, rilascio, relwithdebinfo. Per ora, facciamolo per il debug che è selezionato per impostazione predefinita, premendo F7 o l’opzione Build che appare quando si fa clic subito sul progetto ALL_Build. Questo processo richiede un po ‘di tempo (più tempo di cmake), e costruirà una serie di .libs e .dlls che sono la base per l’utilizzo di VTK.

VSVTK.jpg Alla fine, all’interno C: \ VTK \ VTK-8.1.0 \ X64 Ci saranno molte cartelle (corrispondenti a ciascun progetto incluso nella soluzione VTK.SLN), oltre alla cartella Bin / (contenente VTK) e alla librezione LIB / FOLD (contenente tutto il .lib dei progetti). Poiché la compilazione è stata effettuata in modalità debug, la cartella che avverrà all’interno di questi sarà debug /, e se compilata per esempio, verrà aggiunta versione / all’interno di lib / e bin /.equing / P>

È importante Evidenziare che questo processo viene eseguito solo una volta finchè non ci sono cambiamenti nella configurazione VTK. Se si desidera aggiungere un’opzione che cmake è stata configurata, il processo deve essere ripetuto. Inoltre, è possibile non build_all, ma solo per i progetti che verranno effettivamente utilizzati. Ogni progetto della soluzione VTK rappresenta una serie di funzionalità come VTKCommonCore, VTKPNG, ecc., Quindi se sei a conoscenza dei progetti che userai da VTK, non dovresti compilare tutto, risparmiando un po ‘di tempo. Tuttavia, per questo post, aspetteremo semplicemente per finire la compilazione: D.

il mio primo programma con VTK

L’uso di cmake in VTK era possibile perché c’era un file chiamato cmakelist .txt che è un file di configurazione del progetto. Questo è il punto di ingresso cmake in cui vengono indicati tutti i parametri associati a un progetto e quindi essere in grado di renderlo un multipiattante in modo indipendente della posizione delle librerie necessarie per la sua esecuzione.

per il nostro primo programma in VTK , Faremo quel file cmakelists.txt per generare automaticamente le impostazioni VTK rendendolo compatibile su un’altra piattaforma in cui VTK è installato. La pagina VTK ufficiale offre molti esempi, https://lorensen.github.io/VTKExamples/site/Cxx/ e tutti contengono la descrizione del file cmakelists.txt.

Non iniziare da zero, useremo a Codice base in https://github.com/esmitt/FirstVTK contenente il file cmakelists.txt e il file donendering.cpp. Il nostro cmakelists.txt contiene quanto segue:

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 esploreremo nella formazione di un file cmakelists.txt, tuttavia, è possibile identificare determinati parametri Come il nome del progetto che verrà generato in Visual Studio o il nome del file .cpp che contiene il principale.

Una volta scaricato il codice (o clonato con GIT), facciamo lo stesso processo è stato realizzato per la compilazione VTK: useremo CMAKE. Pertanto, dobbiamo posizionare sia la posizione della nostra cartella di FirstVtk, e la cartella di uscita, dove costruire i binari, che sarà firstvk / x64 / (ricorda che il nome X64 / può essere). Facciamo clic su Configura e prenderemo qualcosa come:

firstvkjpg

Se sei a questo punto, tutto va bene! Dobbiamo indicare cmake la posizione di .lib e .dll di VTK, in questo caso, per la variabile VTK_DIR che abbiamo posizionato C: \ VTK \ VTK-8.1.0 \ X64. E clicziamo su Configura e poi generare. Apriamo il file di FirstVtk / X64 / Condering.sln con Visual Studio 2017, dove troveremo 3 progetti: AL_BUILD, DONSORING e ZERO_Check.

  • ALL_BUILD costruisce tutti i progetti della soluzione (come ad esempio A Rendi tutto)
  • zero_check viene utilizzato per eseguire di nuovo cmake quando viene eseguita una modifica al file cmakelists.txt
  • è il progetto che contiene il codice in C ++ della distribuzione con VTK

Allora ci costruiremo sul progetto Build_ALL e ci troviamo nel progetto Condering (ad esempio utilizzando il progetto SET come StartUp facendo clic sul nome del progetto). Se proviamo a correre senza essere situato in Condering, otterremo un errore, ecco perché è importante essere posizionato in quel progetto all’interno della soluzione.

Ora puoi eseguire il codice! Se viene visualizzato un messaggio come questo:

errorvtk

Sei sulla strada giusta 😊 cosa succede? Dato che siamo in Windows, è necessario aggiungere le DLL al percorso del sistema in modo che Windows sappia dove trovarli. Tuttavia, si dispone di diverse opzioni come aggiungerla come variabili di sistema o copiando le DLL nella cartella Folder (Debug /) eseguibile o utilizzando una funzionalità di Visual Studio.

Utilizzando Visual Studio, dobbiamo fare clic su Destinazione Nel conndering del progetto – > proprietà, e ci troviamo al debug – > Ambiente:

AddPath

Lì, aggiungere il percorso in cui si trovano i DLL VTK, nel nostro caso si trovano in c: \ VTK \ VTK-8.1.0 \ x64 \ bin \ Debug. Ciò fa sì che sia posizionato come parte del percorso di Windows, ma solo per l’esecuzione del progetto, è equivalente a posizionarlo su una console di Windows, che è stata chiusa, detta configurazione è persa. Forse non è il modo efficiente, ma è un progetto dipendente dal progetto.È importante notare che se esiste una variabile di ambiente per VTK, ad esempio VTK_DIR, quindi l’istruzione di Exchange per percorso =% PATH%;% VTK_DIR%.

Ora, eseguire nuovamente il codice:

CONIENDERING

Sebbene sia un processo lungo, ciò consente una maggiore maggiore portabilità del tuo codice, sia a Linux o con un altro compilatore. Inoltre, una volta che hai la configurazione iniziale, rimane solo per scrivere il codice in VTK. VTK è abbastanza ampio nei suoi algoritmi e nelle strutture dati disponibili, per il rendering dei dati, infatti, c’è anche una versione web.

In un altro post esploreremo un po ‘di più in VTK, per ora, siamo Già completato un passo importante per continuare a scrivere codice.

ha spiegato bene i passaggi? Non esitate a chiedere.

Summary: Se ti trovi nell’area della vista scientifica, devi sapere VTK!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *