Developments

Developments/VTK

[Vtk.Python] Vtk in Python

python example 에서 vtk renderwindow 를 qt에 embeding 하여 실행 할 수 있는 예제를 제공하고 있다. 하지만, 모듈의 업데이트로 인하여 작동하지 않음. 기존 예제파일은 다음과 같이 변경해야 한다. https://www.vtk.org/Wiki/VTK/Examples/Python/Widgets/EmbedPyQt #!/usr/bin/env python import sys import vtk from PyQt5 import QtCore, QtGui from PyQt5 import Qt from vtk.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor class MainWindow(Qt.QMainWindow): de..

Developments/VTK

[Acitivz.Net] vtkTransformData

PolyData의 위치 및 회전을 제어하기 위해서 Transformfilter 를 사용한다. 우선 적용할 vtkTransform을 이용해 transformation matrix 를 생성한다. 변환할 객체 정보를 vtkTransformPolyDataFilter 에 입력하고 polydata 값을 연결한다. filter를 mapper에 연결하고 최종적으로 actor에 연결하면된다. vtkFloatArray Scalars = vtkFloatArray.New(); Scalars.InsertNextTuple1(1.0); Scalars.InsertNextTuple1(0.0); Scalars.InsertNextTuple1(0.0); Scalars.InsertNextTuple1(1.0); Scalars.InsertNex..

Developments/VTK

[Activiz.Net] vtkScalarBar 사용하기

Color range를 표시하는 bar를 사용하는 방법 // 기본 Lut 생성 var lut = vtkLookupTable.New(); lut.Build(); vtkScalarBarActor scalarBar = vtkScalarBarActor.New(); scalarBar.SetLookupTable(lut); // 출력 위치 설정 scalarBar.GetPositionCoordinate().SetCoordinateSystemToNormalizedViewport(); scalarBar.GetPositionCoordinate().SetValue(0.1, 0.1); // 크기 설정 scalarBar.SetWidth(0.8); scalarBar.SetHeight(0.17); // Orient 설정 scalar..

Developments/VTK

[Activiz.Net] vtkFollower

Camera 의 viewport 에 따라서 움직이는 3D text 를 만든다. vtkAxes axes = vtkAxes.New(); axes.SetOrigin(0, 0, 0); vtkPolyDataMapper axesMapper = vtkPolyDataMapper.New(); axesMapper.SetInputConnection(axes.GetOutputPort()); vtkActor axesActor = vtkActor.New(); axesActor.SetMapper(axesMapper); ren1.AddActor(axesActor); vtkVectorText atext = vtkVectorText.New(); atext.SetText("Origin"); vtkPolyDataMapper textMapp..

Developments/VTK

[Activiz.Net] Text Actor 사용하기

화면에 Text를 표시하기 위해 적용할 수 있는 두가지 방법별로 설명한다. 1. vtkActor2D 를 사용하는 방법 vtkTextMapper singlineMapper = vtkTextMapper.New(); // 문자열을 mapper 에 입력한다. singlineMapper.SetInput("Single line"); tprop = singlineMapper.GetTextProperty(); tprop.ShallowCopy(commonProp); tprop.SetVerticalJustificationToCentered(); tprop.SetJustificationToCentered(); tprop.SetColor(colors.GetColor3d("Peacock").GetCppThis().Handle)..

Developments/VTK

[Activiz.Net] vtkNamedColors 사용법

vtk에 property 객체에 색상을 적용할 때에 매번 color 값을 입력하지 않고 vtkColors.h 에 정의되어 있는 색상을 사용하기 위해서 vtkNamedColors 를 사용한다. vtkNamedColors 클래스에서 색상 값을 string으로 받아 올 수 있으나, return 값이 vtkColor3d 로 들어온다. vtkColor3d 는 double을 3개를 갖는 tuple 구조이다. .Net에서 쉽게 사용하기 위해서는 아래의 예제와 같이 vtkColor3d의 cpp handle을 바로 property 에 입력할 수 있다. // Method 1 vtkColor3d cc1 = colors.GetColor3d("DimGray"); vtkTextProperty prop = vtkTextProper..

Developments/VTK

VTK Picker Event 등록 및 Event 사용 주의점

VTK addobserver의 기능을 Activiz.Net을 이용할 때에는 event delegate를 사용하면 쉽게 구현할 수 있다. 다만, event 를 수행하는데 있어서 내부에서 사용하는 객체의 접근에 대한 참조 정보가 에러가 발생하는 경우가 있다. 그럴경우에는 아래와 같은 에러 메시지가 발생한다. 관련 thread 는 다음과 같다. VTK - Users - c# custom interactor exception "could not get registered type - mteIndex='4294967295' " (nabble.com) VTK - Users - c# custom interactor exception "could not get registered type - mteIndex='4294..

Developments/VTK

VTK Texture

namespace vtkTextureTest { class Program { static string VTKDATA = @"D:\Library\vtkdata-5.8.0\"; static void Main(string[] args) { vtkBMPReader bmpRedaer = vtkBMPReader.New(); bmpRedaer.SetFileName(VTKDATA + @"Data\masonry.bmp"); vtkTexture atext = vtkTexture.New(); atext.SetInputConnection(bmpRedaer.GetOutputPort()); atext.InterpolateOn(); /// Create a plane source and actor vtkPlaneSource plan..

Developments/VTK

VTK Assembly

class Program { static vtkRenderer ren; static vtkRenderWindow renWin; static vtkRenderWindowInteractor iren; static void Main(string[] args) { vtkSphereSource sphere = vtkSphereSource.New(); vtkPolyDataMapper sphereMapper = vtkPolyDataMapper.New(); sphereMapper.SetInputConnection(sphere.GetOutputPort()); vtkActor sphereActor = vtkActor.New(); sphereActor .SetMapper( sphereMapper); sphereActor ...

Developments/VTK

VTK Actor & Property

namespace vtkPropTest { class Program { static vtkConeSource cone; static vtkActor anActor; static vtkProperty prop; static vtkRenderer ren; static vtkRenderWindow renWin; static vtkRenderWindowInteractor iren; static vtkPolyDataMapper coneMapper; static void Main(string[] args) { cone = vtkConeSource.New(); cone.SetHeight(3.0); cone.SetRadius(1.0); cone.SetResolution(10); coneMapper = vtkPolyDa..

RichardBang
'Developments' 카테고리의 글 목록 (7 Page)