Visualização Científica – Instalação, Compilação e...

84
url: http://www.fe.up.pt/~tavares/ensino/VISCI/visci.html Visualização Científica – Instalação, Compilação e Utilização do VTK João Manuel R. S. Tavares Jorge Gomes Barbosa

Transcript of Visualização Científica – Instalação, Compilação e...

url: http://www.fe.up.pt/~tavares/ensino/VISCI/visci.html

Visualização Científica – Instalação, Compilação e Utilização do VTK

João Manuel R. S. TavaresJorge Gomes Barbosa

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 2

Sumário1. Bibliografia2. Arquitectura do VTK3. Ficheiros a obter

1. Instalação binária (Microsoft Windows)2. Interfaces para as linguagens interpretadas3. Compilação da biblioteca

4. Instalação binária5. Compilação da biblioteca6. Utilização da biblioteca

1. Estrutura dos directórios2. Utilizando a linguagem Tcl3. Utilizando a linguagem C++

4. Utilizando num projecto MFC5. Classes predefinidas: Sources, Filtros e Mappers

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 3

Bibliografia• The Visualization Toolkit (3rd Edition)

Will Schroeder, Ken Martin, Bill LorensenISBN 1-930934-07-6Kitware, Inc. publishers

• VTK User’s Guide (VTK 4.2)Will Schroeder, Ken MartinISBN 1-930934-08-4Kitware, Inc publishers

• Mastering CMake (CMake 1.8)Ken Martin, Bill HoffmanISBN 1-930934-09-2Kitware, Inc publishers

http://www.vtk.org/buy-books.phpDisponíveis para compra on-line em:

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 4

Arquitectura do VTK• O VTK é composto por um núcleo (core) compilado (escrito

em linguagem C++) com as devidas interfaces para várias linguagens interpretadas.

Interpreted Wrapper (Tcl, Java, Python)

Núcleo C++

Instalação Binária: para utilizaras classes no desenvolvimentode uma aplicação

Instalação do código fonte: para estender o VTK

•Fonte Tcl/Tk•Java JDK•Fonte Python

Código fonte de todasas classes (pode levarhoras a compilar)

Bibliotecas e includes(ficheiros dll, bin e .h)ou(ficheiros .a e .h)

•Tcl/Tk shell•Interpretador Java•Interpretador Python

C++

core

Interpreter

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 5

Arquitectura do VTKEstrutura Multi-plataforma

Aspectoscomputacionais

Bibliotecagráfica 3D Interface gráfica

para o utilizador (GUI)

Programa próprios em C++

Open GL

VTK

Tcl / Tk(ou Python/Tk

ou Java)

Programa próprios em Tcl/Tk (ou Python, Java)

Camada do Hardware (Windows/Linux/Unix/Mac OS X)

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 6

Ficheiros a obter• Como obter:

– A partir dos CD’s que acompanham os livros da Kitware sobre o VTK;

– Fazendo o download:• http://public.kitware.com/VTK/index.php• ftp://public.kitware.com/pub/vtk• http://public.kitware.com/VTK/files/

– Existem diferentes versões disponíveis:» VTK 4.X (versão oficial);» VTK Nightly Release (versão diária – não oficial)» VTK CVS (últimas modificações – não oficial,

verificar o estado da versão – estável ou não)

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 7

Ficheiros a obter• Ficheiros (sistemas Windows):

– Instalação da biblioteca executável (Binary)• Descarregar a versão executável do núcleo da biblioteca VTK:

vtkXXCore.exe;• Executar vtkXXCore.exe para instalar a biblioteca.

– Instalação dos includes e das bibliotecas necessárias para o desenvolvimento utilizando a linguagem C++

• Descarregar o ficheiro: vtkXXCpp.exe;• Executar vtkXXCpp.exe para instalar.

– As duas instalações anteriores podem ser conseguidas de uma só vez através da obtenção do ficheiro vtkXX-LatestRelease.exe, ou do ficheiro vtkXXX.exe, e sua execução.

– Instalação das interfaces para linguagens interpretadas• Descarregar as versões executáveis para suporte das linguagens

interpretadas: vtkXXTcl.exe, vtkXXJava.exe, vtkXXPython.exe;• Executar o executável da interface desejada: vtkXXTcl.exe, ...

– Instalação do código fonte• Descarregar as fontes do VTK: vtkXXSrc.zip (ou VTK-X.X-

LatestRelease.zip);• Descomprimir as fontes;• Descarregar o CMake: CMSetupXXX.exe;• Executar o CMake para configurar o projecto VTK;• Compilar o projecto (compilador necessário, por exemplo o

Microsoft VC++ 6.0).

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 8

Instalação da biblioteca executável • Com este tipo de instalação pode-se executar, após a

respectiva compilação, os programas exemplo em C++

incluídos com o VTK, desenvolver programas em C++

e liga-los à biblioteca VTK.

• O tipo de instalação mais fácil e recomendado para utilizadores principiantes.

• Obter os ficheiros vtkXXCore.exe e vtkXXCpp.exe(para C++) e executa-los (ou obter o ficheiro vtkXX-LatestRelease.exe, ou vtkXXX.exe, e executa-lo).

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 9

Instalação da biblioteca executável • Execução do ficheiro vtk423.exe:

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 10

Instalação da biblioteca executável • Estrutura dos directórios da biblioteca após

instalação do ficheiro vtk423.exe:

Directório vtk42

Estão incluídos: os binários, as bibliotecas, exemplos (em C++, Java, Phyton e Tcl), os includes (C++), e as interfaces para as linguagens interpretadas.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 11

Instalação da biblioteca executável • Estrutura dos directórios da biblioteca após

instalação do ficheiro vtk423.exe:Directório vtk42\bin

Inclui as dll’s (bibliotecas dinâmicas) para a ligação aos programas desenvolvidos e os executáveis das interfaces para as linguagens interpretadas .

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 12

Instalação da biblioteca executável • Estrutura dos directórios da biblioteca após

instalação do ficheiro vtk423.exe:Directório vtk42\Examples

Inclui vários exemplos em Java, Phyton, Tcl e C++.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 13

Instalação da biblioteca executável • Estrutura dos directórios da biblioteca após

instalação do ficheiro vtk423.exe:Directório vtk42\include

Inclui os header’s para o desenvolvimento usando a linguagem C++.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 14

Instalação da biblioteca executável • Estrutura dos directórios da biblioteca após

instalação do ficheiro vtk423.exe:Directório vtk42\lib

Inclui as lib’s (bibliotecas estáticas) para ligar a biblioteca VTK aos programas desenvolvidos e para as interfaces das linguagens interpretadas.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 15

Instalação da biblioteca executável • Estrutura dos directórios da biblioteca após

instalação do ficheiro vtk423.exe:Directório vtk42\Wrapping

Ficheiros de interface para as linguagens interpretadas.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 16

Instalação da biblioteca de desenvolvimento em Tcl/Tk• Obter e executar o ficheiro tcl832.exe para a

instalação (necessária para desenvolver programas em Tcl/Tk):

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 17

Instalação da biblioteca de desenvolvimento em Python• Obter e executar o ficheiro

Python-2.1.1.exe para a instalação (necessária para desenvolver programas em Python):

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 18

Instalação da biblioteca de desenvolvimento em Java• Obter e executar o ficheiro

j2sdk-1_3_1_07-windows-i586.exe para a instalação (necessária para desenvolver programas em Java):

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 19

Instalação de dados exemplo• Obter e descomprimir o ficheiro

VTKData-4.2.zip:Directório vtk42\VTKData-release-4-2

Inclui vários ficheiros de dados de exemplo (de diferentes tipos – incluindo imagens).

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 20

Instalação dos sistemas de ajuda• Obter e descomprimir o ficheiro

VTKDocHtml-4.2.tar.gz:

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 21

Instalação dos sistemas de ajuda• Obter o ficheiro VTKDoc-4.2.chm:

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 22

Compilação da biblioteca• Pré-requisitos:

– Compilador instalado (por exemplo o Microsoft Visual Studio C++ 6.0);

– Descompactador instalado (por exemplo o winzip);

– Instalação prévia do VTK completamente removida: fazer uma busca completa por vtk*.dll e apagar todas as dll’s encontradas.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 23

Compilação da biblioteca• Obter e descomprimir o ficheiro VTK-4.2-

LatestRelease.zip

Directórios resultantes da descompressão: (sources dabiblioteca + exemplos)

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 24

Compilação da biblioteca• Verificar o ficheiro README.html (existente

no directório raiz dassources): introdução,copyright, organização,documentação,instalação, resolução de problemas, informações.

Instruções para compilar a biblioteca VTK em sistemas Unix, Cygwin e MS Windows.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 25

Compilação da biblioteca• Obter e instalar o CMake (download em

http://www.cmake.org/HTML/Download.html).• O CMake é uma ferramenta multi-plataforma aberta

(Windows, Unix, ...) para configurar e gerir o processo de compilação de sistemas (aplicações).

• Ficheiros simples e independentes da plataforma (CMakeLists.txt) são utilizados para descrever o processo de compilação e resolver as dependências.

• Quando o CMake é executado, gere ficheiros nativos de compilação para o sistema de desenvolvimento (compilador) em causa.– Por exemplo, para o Microsoft Visual C++ são criados os

devidos workspaces.• O CMake tem uma interface gráfica para configurar a

compilação pretendida.• Deve ser utilizado para configurar a compilação da

biblioteca e também dos exemplos incluídos no vtk.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 26

Compilação da biblioteca• Exemplo de um ficheiro CMakeLists.txt:

• Instalação do CMake:Executar o ficheiroCMSetupXXX.exe.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 27

Compilação da biblioteca• Utilizar o CMake para configurar o projecto

da biblioteca VTK para o Microsoft Visual C++:1. Executar o CMake (Grupo CMake, Programa

CMakeSetup);2. Definir o directório com os ficheiros fonte (as

sources), o directório para os binários e seleccionar o compilador a utilizar;

3. Clicar no botão Configure;4. Seleccionar as opções de compilação;5. Clicar novamente no botão Configure;6. Repetir 4 e 5 até o processo estar totalmente

configurado;7. Clicar no botão OK para terminar.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 28

Compilação da biblioteca• Utilizar o CMake para configurar o projecto da

biblioteca VTK para o MS VC++:

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 29

Compilação da biblioteca• Exemplo de configuração pelo CMake do

projecto da biblioteca VTK para o MS VC++:– Where is the source code: C:\VTK\– Where to build the binaries: C:\vtkbin\– VTK WRAP TCL EXE=C:/vtkbin/bin/$(IntDir)/vtkWrapTcl.exe– VTK WRAP HINTS=C:/VTK/Wrapping/hints– VTK USE 64BIT IDS=OFF– VTK MANGLE MESA=OFF– VTK DISPLAY WIN32 WARNINGS=OFF– VTK DEBUG LEAKS=OFF– TK XLIB PATH=C:/Tcl/include– TK WISH=C:/Tcl/bin/wish83.exe– TK LIBRARY=C:/Tcl/lib/tk83.lib– TK INTERNAL PATH=C:/VTK/Rendering/tkInternals/tk83– TK INCLUDE PATH=C:/Tcl/include– TCL TCLSH=C:/Tcl/bin/tclsh83.exe– TCL LIBRARY=C:/Tcl/lib/tcl83.lib– TCL INCLUDE PATH=C:/Tcl/include– ...

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 30

Compilação da biblioteca• Exemplo de configuração pelo CMake do

projecto da biblioteca VTK para o MS VC++:– ...– LIBRARY OUTPUT PATH=C:/vtkbin/bin– EXECUTABLE OUTPUT PATH=C:/vtkbin/bin– CMAKE USE WIN32 THREADS=ON– CMAKE MAKE PROGRAM=msdev– CMAKE EXTRA LINK FLAGS=/STACK:10000000– CMAKE CXX FLAGS RELWITHDEBINFO=/MD /Zi /O2– CMAKE CXX FLAGS RELEASE=/MD /O2– CMAKE CXX FLAGS MINSIZEREL=/MD /O1– CMAKE CXX FLAGS DEBUG=/MDd /Zi /Od /GZ– CMAKE CXX COMPILER=cl– CMAKETEST COMMAND=NOTFOUND– BUILD DOCUMENTATION=OFF– BUILD EXAMPLES=ON– BUILD SHARED LIBS=ON (para criar as dll’s)– BUILD TESTING=ON– ...

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 31

Compilação da biblioteca• Exemplo de configuração pelo CMake do

projecto da biblioteca VTK para o MS VC++:– ...– CMAKE CXX FLAGS=/W3 /Zm1000 /GX /GR– DART ROOT=NOTFOUND– OPENGL LIBRARY=opengl32– VTK DATA ROOT=C:/VTKData– VTK USE ANSI STDLIB=OFF– VTK USE HYBRID=ON– VTK USE MATROX IMAGING=OFF– VTK USE PARALLEL=OFF– VTK USE PATENTED=ON– VTK USE RENDERING=ON– VTK USE VIDEO FOR WINDOWS=OFF– VTK USE VOLUMEPRO=OFF– VTK WRAP JAVA=OFF– VTK WRAP PYTHON=OFF– VTK WRAP TCL=ON

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 32

Compilação da biblioteca• Utilizar o CMake para configurar o projecto da

biblioteca VTK em Unix:Interface gráfica do CMake em Unix

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 33

Compilação da biblioteca• Compilar a biblioteca VTK utilizando o

Microsoft Visual C++:1.Executar o Microsoft Visual C++;2.Abrir o workspace

VTK.dsw existentena pasta seleccionadano CMake para osbinários;

3.Compilar a bibliotecanos modos Releasee Debug (opção Build,do menu Build).

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 34

Compilação da biblioteca• Acrescentar os directórios dos binários na

path do sistema operativo (necessário para executar os programas desenvolvidos).Por exemplo:– C:/vtkbin/bin/release– C:/vtkbin/bin/debug

• Acrescentar TCLLIBPATH=c:/vtk/wrapping/tclcomo uma variável do ambiente do sistema operativo (necessário para a interface Tcl).

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 35

Compilação da biblioteca• Configurar o ambiente do sistema operativo MS

Windows XP:

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 36

Compilação da biblioteca• Configurar o ambiente do sistema operativo MS

Windows XP (cont.):

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 37

Editar e executar um programa em Tcl• Via Microsoft Explorer:

– Procurar o ficheiro fonte do programa pretendido; por exemplo C:\ProgramFiles\vtk42\Examples\GUI\Tcl\MaceTk.tcl

– ...

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 38

Editar e executar um programa em Tcl• Via Microsoft Explorer:

– ...– Seleccionar o ficheiro

pretendido e clicar nobotão direito do rato;

– Seleccionar Edit paraeditar o ficheiro;

– Seleccionar Open Withe depois vtk para oexecutar.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 39

Editar e executar um programa em Tcl• Via Microsoft Explorer:

– Seleccionando Edit paraeditar o ficheiro.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 40

Editar e executar um programa em Tcl• Via Microsoft Explorer:

– Seleccionando Open With e depois vtk para oexecutar.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 41

Editar e executar um programa em Tcl• Via Microsoft Explorer:

– Caso o vtk não esteja presente na lista de OpenWith (1ª vez):

• Seleccionar Choose Program ...;• ...

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 42

Editar e executar um programa em Tcl• Via Microsoft Explorer:

– Caso o vtk não esteja presente na lista de OpenWith (1ª vez):

• ...• Clicar em Browse...;• ...

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 43

Editar e executar um programa em Tcl• Via Microsoft Explorer:

– Caso o vtk não esteja presente na lista de OpenWith (1ª vez):

• ...• Procurar o ficheiro vtk.exe (em C:\Program

Files\vtk42\bin);• Seleccionar o

ficheiro vtk.exe;• Clicar em Open.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 44

Editar e executar um programa em Tcl• Via Consola Tcl:

– Executar o programa wish83.exe (Grupo Tclopção Wish);

– Na consola Tcl fazer o comando cd para mudar para o directório do ficheiro pretendido;

– Escrever vtk e o nome do ficheiro a executar.

Executar

Listar directório

Mudar de directório

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 45

Configurar o Microsoft Visual C++

• Adicionar os directórios de includes do VTK (apenas necessário realizar uma vez):– No menu Tools do Microsoft Visual C++

seleccionar a opção Options;– Na caixa de diálogo Options seleccionar a aba

Directories;– ...

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 46

Configurar o Microsoft Visual C++

• Adicionar os directórios de includes do VTK (apenas necessário realizar uma vez):– ...– Adicionar os directórios das sources:

• ...\Common• ...\Filtering• ...\VTK\Graphics• ...\Hybrid• ...\Imaging• ...\IO• ...\Parallel• ...\Patented• ...\Rendering• ...\vtkbin

– Clicar no botão OK para terminar.

adicionar removerordem

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 47

Configurar o Microsoft Visual C++

• Adicionar os directórios de includes do VTK (apenas necessário realizar uma vez):– ...– No caso da instalação binária, basta

acrescentar o directórioC:\Program Files\vtk42\include\vtk.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 48

Configurar o Microsoft Visual C++

• Adicionar os directórios das bibliotecas do VTK (apenas necessário realizar uma vez):– No menu Tools do Microsoft Visual C++

seleccionar a opção Options;– Na caixa de diálogo Options seleccionar a aba

Directories;– Adicionar os directórios

das bibliotecas;– Clicar no botão OK

para terminar.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 49

Configurar o Microsoft Visual C++

• Adicionar os directórios das bibliotecas do VTK (apenas necessário realizar uma vez):– ...– No caso da instalação binária, basta

acrescentar o directórioC:\Program Files\vtk42\lib\vtk.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 50

Compilar um ficheiro Cxx exemplo doVTK no Microsoft Visual C++

• Iniciar o Microsoft Visual C++;• Iniciar um novo projecto do tipo Win32

Console Application (opção New... do menu File);

• Definir o nomedo projecto;

• Definir o directóriopara o projecto;

• Clicar no botãoOK para terminar;

• ...

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 51

Compilar um ficheiro Cxx exemplo doVTK no Microsoft Visual C++

• ...• Optar por um projecto vazio;• Clicar no botão

Finish;• Verificar as propriedades

do projecto;• Clicar no botão OK;• ...

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 52

Compilar um ficheiro Cxx exemplo doVTK no Microsoft Visual C++

• ...• Adicionar o ficheiro source pretendido (clicar

no botão direito do ratosobre a pasta source e seleccionarAdd Files to Folder..., escolher oficheiro pretendido, clicar nobotão OK);

• ...

(C:\ProgramFiles\vtk42\Examples\Rendering\Cxx)

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 53

Compilar um ficheiro Cxx exemplo doVTK no Microsoft Visual C++

• ...• Editar o ficheiro source: duplo clique sobre o

nome do ficheiro no explorer do projecto;• ...

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 54

Compilar um ficheiro Cxx exemplo doVTK no Microsoft Visual C++

• ...• Adicionar as bibliotecas do VTK ao projecto:

– no menu Project seleccionar a opção Settings...;

– Adicionar (para a versão em causa –Debug/Release) as bibliotecas (só as necessárias):

• vtkCommon.lib vtkexpat.lib vtkFiltering.libvtkfreetype.lib vtkGraphics.lib vtkftgl.lib vtkHybrid.libvtkImaging.lib vtkIO.lib vtkjpeg.lib vtkpng.libvtkRendering.lib vtktiff.lib vtkzlib.lib vtkPatented.lib(só disponível na versão de compilação da biblioteca)

• Clicar no botão OK;• ...As dll’s e as bin’s da biblioteca VTK compiladas em modo debugestão disponíveis para download emhttp://www.fe.up.pt/~tavares/ensino/VISCI/visci.html

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 55

Compilar um ficheiro Cxx exemplo doVTK no Microsoft Visual C++

• ...• Adicionar as bibliotecas do VTK ao projecto:

Bibliotecas necessárias:

vtkCommon.libvtkFiltering.libvtkGraphics.libvtkRendering.lib

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 56

Compilar um ficheiro Cxx exemplo doVTK no Microsoft Visual C++

• ...• Compilar o ficheiro source pretendido: menu

Build opção Compile xxxx.xx;• Criar o projecto: menu Build opção Build

xxxx.xx;• Executar o projecto: menu Build opção

Execute xxxx.xx.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 57

Compilar um ficheiro Cxx exemplo doVTK no Microsoft Visual C++

• Utilizando o CMake para configurar o projecto exemplo para o Microsoft Visual C++: – Executar o programa CMakeSetup;– Configurar adequadamente o CMake:

• Seleccionar o directório das sources, por exemplo C:\Program Files\vtk42\Examples\DataManipulation\Cxx;

• Escolher o directório dos binários pretendido;• Clicar no botão Configure;• Clicar novamente no botão Configure;• Clicar no botão OK para terminar;

– ...

Quando se utiliza o CMake para configurar o projecto pretendido, não é necessária realizar nenhuma configuração adicional no Microsoft Visual C++ (includes, libs ...). Todas as configurações necessárias são realizadas pelo CMake. Nota: É necessário existir o devido ficheiro CMakeLists.txt no directório das sources.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 58

Compilar um ficheiro Cxx exemplo doVTK no Microsoft Visual C++

• Utilizando o CMake para configurar o projecto para o Microsoft Visual C++:

D:\Aulas\Visualizacao\Acetatos\VTK\Exemplos\Cxx CMake

C:\Program Files\vtk42\Examples\DataManipulation\Cxx

MS VC++

Clicar no botão Configure.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 59

Compilar um ficheiro Cxx exemplo doVTK no Microsoft Visual C++

• Utilizando o CMake para configurar o projecto para o Microsoft Visual C++:

Clicar no botão Configure.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 60

Compilar um ficheiro Cxx exemplo doVTK no Microsoft Visual C++

• Utilizando o CMake para configurar o projecto para o Microsoft Visual C++:

Clicar no botão OK.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 61

Compilar um ficheiro Cxx exemplo doVTK no Microsoft Visual C++

• Iniciar o Microsoft Visual VC++;• Abrir o projecto em causa: no menu File

escolher a opção Open Workspace...;• Escolher o ficheiro

do projecto napasta dos bináriosespecificada noCMake;

• Clicar nobotão Open;

• ...

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 62

Compilar um ficheiro Cxx exemplo doVTK no Microsoft Visual C++

• ...• Compilar o projecto:

opção Build do menuBuild;

• ...(Os subprojectosnão desejados podem ser retirados)

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 63

Compilar um ficheiro Cxx exemplo doVTK no Microsoft Visual C++

• ...• Executar o projecto:

opção Execute do menuBuild (pode ser necessário seleccionar o executável desejado – existente na pasta debug ou release do projecto).

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 64

Compilar um projecto MFC exemplo doVTK no Microsoft Visual C++

• Utilizar o CMake para criar o projecto pretendido para o MS VC++:– Executar o programa CMakeSetup;– Configurar adequadamente o CMake:

• Seleccionar o directório das sources C:\ProgramFiles\vtk42\Examples\GUI\Win32\SampleMFC;

• Escolher o directório dos binários pretendido;• Clicar no botão Configure;• Clicar novamente no botão Configure;• Clicar no botão OK para terminar;

– ...

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 65

Compilar um projecto MFC exemplo doVTK no Microsoft Visual C++

• Utilizar o CMake para criar o projecto pretendido para o MS VC++:– ...

D:\Aulas\Visualizacao\Acetatos\VTK\Exemplos\MFC_1

C:\Program Files\vtk42\Examples\GUI\Win32\SampleMFC

MS VC++

Clicar no botão Configure.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 66

Compilar um projecto MFC exemplo doVTK no Microsoft Visual C++

• Utilizar o CMake para criar o projecto pretendido para o MS VC++:– ...

Clicar no botão Configure.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 67

Compilar um projecto MFC exemplo doVTK no Microsoft Visual C++

• Utilizar o CMake para criar o projecto pretendido para o MS VC++:– ...

Clicar no botão OK.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 68

Compilar um projecto MFC exemplo doVTK no Microsoft Visual C++

• Iniciar o Microsoft Visual VC++;• Abrir o projecto em causa: no menu File

escolher a opção Open Workspace...;• Escolher o ficheiro

do projecto napasta dos bináriosespecificada noCMake;

• Clicar nobotão Open;

• ...

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 69

Compilar um projecto MFC exemplo doVTK no Microsoft Visual C++

• ...• Compilar o projecto:

opção Build do menuBuild;

• ...(Este subprojectopode ser retirado)

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 70

Compilar um projecto MFC exemplo doVTK no Microsoft Visual C++

• ...• Executar o projecto:

opção Execute do menuBuild.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 71

Ficheiros do exemplo MFC Win32SampleMFC

• Sample.h e Sample.cpp ficheiros da classe CSampleApp: classe de controlo da aplicação (standard);

• MainFrm.h e MainFrm.cpp ficheiros da classe CMainFrame: classe de controlo da mainframe (standard);

• ChildFrm.h e ChildFrm.cpp ficheiros da classe CChildFrame: classe de controlo das janelas descendentes da mainframe (standard);

• ...

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 72

Ficheiros do exemplo MFC Win32SampleMFC

• vtkMFCDocument.h e vtkMFCDocument.cppficheiros da classe vtkMFCDocument: classe de base para os documentos VTK (vtk);

• SampleDoc.h e SampleDoc.cpp ficheiros da classe CSampleDoc: classe de controlo dos documentos (standard/vtk);

• vtkMFCRenderView.h e vtkMFCRenderView.cppficheiros da classe vtkMFCRenderView: classe de controlo da renderização (vtk);

• ...

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 73

Ficheiros do exemplo MFC Win32SampleMFC

• vtkMFCView.h e vtkMFCView.cpp ficheiros da classe vtkMFCView: classe de base para as vistas VTK (vtk);

• SampleView.h e SampleView.cpp ficheiros da classe SampleView: classe de controlo das vistas dos documentos (standard/vtk).

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 74

Ficheiros do exemplo MFC Win32SampleMFC

• Sugestões:– Abrir com a aplicação MFC Win32SampleMFC

alguns dos ficheiros de dados incluídos com o VTK (em C:\Program Files\vtk42\VTKData-release-4-2\Data);

– ...

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 75

Ficheiros do exemplo MFC Win32SampleMFC

• Sugestões:– ...– Fazer com que a aplicação deixe de

representar em cada janela o texto Hello World;– ...

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 76

Ficheiros do exemplo MFC Win32SampleMFC

• Sugestões:– ...– Fazer com que a aplicação deixe de apresentar

no seu inicio um documento vazio.

Uma aplicação para visualizar objectos poligonais definidos em ficheiros Vtk.

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 77

Classes predefinidas: Sources

Readers• vtkOBJReader• vtkBYUReader• vtkCyberReader• vtkDataSetReader• vtkMCubesReader• vtkPLOT3DReader• vtkPolyDataReader• vtkRectilinearGridReader

• vtkSLCReader• vtkSTLReader• vtkStructuredGridReader• vtkStructuredPointsReader• vtkUnstructuredGridReader• vtkVolume16Reader• vtkFieldDataReader• vtkBMPReader• vtkPNMReader• vtkTIFFReader• …

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 78

Classes predefinidas: Sources

Procedural Sources• vtkEarthSource• vtkConeSource• vtkCylinderSource• vtkDiskSource• vtkLineSource• vtkOutlineSource• vtkPlaneSource• vtkPointSource• vtkTextSource• vtkVectorText

• vtkSphereSource• vtkTexturedSphereSource• vtkAxes• vtkCursor3D• vtkProgrammableSource• vtkPointLoad• …

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 79

Classes predefinidas: Filtros

Filters• vtkAppendFilter• vtkAppendPolyData• vtkBooleanTexture• vtkBrownianPoints• vtkCastToConcrete• vtkCellCenters• vtkCellDataToPointData• vtkCullVisiblePoints• vtkCleanPolyData• vtkClipPolyData

• vtkClipVolume• vtkConnectivityFilter• vtkContourFilter• vtkCutter• vtkDashedStreamLine• vtkDecimate• vtkDecimatePro• vtkDelaunay2D• vtkDelaunay3D• vtkDicers

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 80

Classes predefinidas: Filtros (2)

Filters (2)• vtkEdgePoints• vtkElevationFilter• vtkExtractEdges• vtkExtractGeometry• vtkExtractGrid• vtkExtractTensorComponents• vtkExtractUnstructuredGrid• vtkExtractVOI• vtkExtractVectorComponents• vtkFeatureEdges

• vtkGaussianSplatter• vtkGeometryFilter• vtkGlyph3D• vtkHedgeHog• vtkHyperStreamline• vtkIdFilter• vtkLinearExtrusionFilter• vtkMaskPolyData• vtkOutlineFilter• vtkPointDataToCellData

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 81

Classes predefinidas: Filtros (3)

Filters (3)• vtkProgrammableFilter• vtkProjectedTexture• vtkRecursiveDividingCubes• vtkReverseSense• vtkRibbonFilter• vtkRotationalExtrusionFilter• vtkShepardMethod• vtkShrinkFilter• vtkShrinkPolyData• vtkSmoothPolyDataFilter

• vtkMaskPoints• vtkMaskPolyData• vtkMergeFilter• vtkMergePoints• vtkPolyDataNormals• vtkProbeFilter• vtkProgrammableAttributeDataFilter• vtkSelectVisiblePoints• vtkSpatialRepresentationFilter• vtkStreamLine

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 82

Classes predefinidas: Filtros (4)

Filters (4)• vtkStreamPoints• vtkStripper• vtkStructuredGridGeometryFilter• vtkStructuredGridOutlineFilter• vtkStructuredPointsGeometryFilter• vtkTensorGlyph• vtkTextureMapToBox• vtkTextureMapToCylinder• vtkTextureMapToPlane• vtkTextureMapToSphere

• vtkTexturedSphereSource• vtkThreshold• vtkThresholdPoints• vtkThresholdTextureCoords• vtkTransformFilter• vtkTransformPolyDataFilter• vtkTransformTextureCoords• vtkTriangleFilter• vtkTriangularTCoords• vtkTriangularTexture

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 83

Classes predefinidas: Filtros (5)

Filters (5)• vtkTubeFilter• vtkVectorDot• vtkVectorNorm• vtkVectorTopology• vtkVoxelModeller• vtkWarpScalar• vtkWarpTo• vtkWarpVector• …

J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 84

Classes predefinidas: Mappers

• vtkPNMWriter• vtkTIFFWriter• …

Graphics Mappers• vtkPolyDataMapper• vtkDataSetMapper• vtkVolumeMapper• vtkImageMapper• …

Writers• vtkIVWriter• vtkBYUWriter• vtkSTLWriter• vtkMCubesWriter• vtkPolyDataWriter• vtkRectilinearGridWriter• vtkStructuredGridWriter• vtkStructuredPointsWriter• vtkUnstructuredGridWriter• vtkFieldDataWriter• vtkBMPWriter