instalacao, Compilacao e Utilizacao do VTK -...

42
Visualização Científica – Instalação, Compilação e Utilização do VTK J. Tavares / J. Barbosa MMCCE - 2004/2005 1 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 J. Tavares / J. Barbosa Visualização Científica – Instalação, Compilação e Utilização do VTK 2 Sumário 1. Bibliografia 2. Arquitectura do VTK 3. Ficheiros a obter 1. Instalação binária (Microsoft Windows) 2. Interfaces para as linguagens interpretadas 3. Compilação da biblioteca 4. Instalação binária 5. Compilação da biblioteca 6. Utilização da biblioteca 1. Estrutura dos directórios 2. Utilizando a linguagem Tcl 3. Utilizando a linguagem C ++ 4. Utilizando num projecto MFC 5. Classes predefinidas: Sources, Filtros e Mappers

Transcript of instalacao, Compilacao e Utilizacao do VTK -...

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 1

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

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 2

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

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

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.

C++

core

Interpreter

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

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 3

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

Arquitectura do VTK

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

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)

Estrutura Multi-plataforma

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

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

Ficheiros a obter

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 4

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

• 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).

Ficheiros a obter

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

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 5

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:

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.

Directório vtk42

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 6

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++.

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 7

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.

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 8

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

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 9

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

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 10

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:

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 11

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.

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 12

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.

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 13

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.

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 14

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++:

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 15

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– ...

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 16

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

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 17

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

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 18

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.):

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 19

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.

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 20

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.

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 21

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...;• ...

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 22

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

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 23

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

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 24

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.

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 25

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;

• ...

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 26

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)

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 27

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

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 28

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.

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 29

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.

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 30

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.

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 31

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)

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 32

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;

– ...

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 33

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.

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 34

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;

• ...

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 35

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.

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 36

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

• ...

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 37

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

– ...

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 38

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.

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 39

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• …

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 40

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

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 41

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

Classes predefinidas: Filtros (3)

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

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

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

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

J. Tavares / J. Barbosa

MMCCE - 2004/2005 42

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

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

• vtkPNMWriter• vtkTIFFWriter• …

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