리눅스에서 VTK를 빌드해보도록 하겠습니다. CMake가 설치되어 있어야 하는데, CMake 설치 방법은 2020/07/24 – [VTK] – VTK 설치하기 (Ubuntu)를 참고하시기 바랍니다.
1. 프로젝트 폴더 생성
프로젝트 소스코드 및 CMakeLists.txt를 보관할 폴더를 생성합니다. 여기서는 Project 이름을 Cone으로 정했습니다. 저는 home/{username}/workspace/vtk 안에 프로젝트 폴더를 생성하도록 하겠습니다.
$ mkdir Cone
2. 프로젝트 폴더 구성
아래 CMakeLists.txt 파일과 Cone.cxx을 Cone 디렉토리에 넣습니다.
CMakeLists.txt
cmake_minimum_required(VERSION 2.8.0)
project(Cone)
find_package(VTK REQUIRED)
include(${VTK_USE_FILE})
add_executable(Cone Cone.cxx)
target_link_libraries(Cone ${VTK_LIBRARIES})
Cone.cxx
#include "vtkConeSource.h"
#include "vtkPolyDataMapper.h"
#include "vtkRenderWindow.h"
#include "vtkCamera.h"
#include "vtkActor.h"
#include "vtkRenderer.h"
int main( int argc, char *argv[] )
{
vtkConeSource *cone = vtkConeSource::New();
cone->SetHeight( 3.0 );
cone->SetRadius( 1.0 );
cone->SetResolution( 10 );
vtkPolyDataMapper *coneMapper = vtkPolyDataMapper::New();
coneMapper->SetInputConnection( cone->GetOutputPort() );
vtkActor *coneActor = vtkActor::New();
coneActor->SetMapper( coneMapper );
vtkRenderer *ren1= vtkRenderer::New();
ren1->AddActor( coneActor );
ren1->SetBackground( 0.1, 0.2, 0.4 );
vtkRenderWindow *renWin = vtkRenderWindow::New();
renWin->AddRenderer( ren1 );
renWin->SetSize( 300, 300 );
int i;
for (i = 0; i < 360; ++i)
{
// render the image
renWin->Render();
// rotate the active camera by one degree
ren1->GetActiveCamera()->Azimuth( 1 );
}
cone->Delete();
coneMapper->Delete();
coneActor->Delete();
ren1->Delete();
renWin->Delete();
return 0;
}
3. CMake 실행-Makefile 생성
Cone-build 폴더를 만듭니다. 그러면 아래와 같이 Cone과 Cone-build 폴더가 2개 생깁니다.
Cone-build 폴더에 진입 후, CMake를 실행합니다.
$ cd Cone-build
$ ccmake ../Cone
‘c‘를 눌러 configure를 실행합니다. 아마 VTK path때문에 오류가 날 것입니다.
VTK_REQUIRED_DIR에 vtk 빌드경로를 입력합니다. 2020/07/24 – [VTK] – VTK 설치하기 (Ubuntu)를 따라 하셨다면, /home/username/projects/VTK/VTK-build 가 빌드 경로가 됩니다.
다시 ‘c‘를 누르면 아래와 같이 경로가 잡히게 됩니다.
‘g(generate)’를 눌러 Makefile을 생성합니다.
4. 프로젝트 빌드 및 실행
make를 입력하여 프로젝트를 빌드합니다.
실행파일 Cone을 실행하면 아래와 같이 빙글빙글 도는 콘이 등장합니다.