VTK Python Wrapper — Экспорт поверхностного участка

Я использую VTK 8.0.1 и python 3.5, и я новичок в VTK. Я пытаюсь экспортировать поверхностный график, используя vtkPlotSurface.

Путем ссылки TestSurfacePlot.cxx Я успешно создал поверхностный график и смог отобразить его на python (даже если он не очень похож на поверхностный график).

import vtk
import math as m
import numpy as np

## Set things up
chart = vtk.vtkChartXYZ()
view = vtk.vtkContextView()
view.GetRenderWindow().SetSize(800,800)
view.GetScene().AddItem(chart)

## Create a surface
table = vtk.vtkTable()
numPoints = 70;
inc = 9.424778 / (numPoints - 1);
for i in range(0,numPoints):
arr = vtk.vtkFloatArray()
table.AddColumn(arr)

table.SetNumberOfRows(numPoints)
for i in range(0,numPoints):
x = i * inc;
for j in range(0,numPoints):
y  = j * inc;
table.SetValue(i, j, m.sin(m.sqrt(x*x + y*y)))

# Using table, create a surface plot
test = vtk.vtkPlotSurface()
test.SetXRange(0,9.424778)
test.SetYRange(0,9.424778)
test.SetInputData(table)

# Start visualizing the surface plot
chart.AddPlot(test)
view.GetRenderWindow().SetMultiSamples(0)
view.GetInteractor().Initialize()
view.GetRenderWindow().Render()

out = vtk.vtkOBJExporter()
out.SetFilePrefix("test")
out.SetInput(chart)
out.Write()view.GetInteractor().Start()

Чтобы лучше визуализировать то, что я сделал, я хотел попробовать экспортировать его, а затем визуализировать с помощью Paraview / Visit. Тем не менее, я изо всех сил пытаюсь найти конкретные примеры, где этот тип объекта vtk экспортируется …

Я попытался добавить следующее:

out = vtk.vtkOBJExporter()
out.SetFilePrefix("test")
out.SetInput(chart)
out.Write()

Но в конечном итоге со следующей ошибкой типа:

TypeError: SetInput argument 1: method requires a vtkRenderWindow, a vtkContextView was provided.

Кто-нибудь может оказать помощь? Заранее спасибо.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]