Как изменить размер «контура» в питоне VTK? - PullRequest
0 голосов
/ 29 сентября 2018

Я сделал куб, используя vtkOutlineFilter, чтобы добавить сферы внутри.Но я хочу, чтобы размеры куба были 20x20x20, а диаметр сферы был равен 1. Следующий код рисует мне куб и сферу внутри.Что мне нужно, чтобы изменить их размер?

import vtk

# create a rendering window and renderer
ren = vtk.vtkRenderer()
renWin = vtk.vtkRenderWindow()
renWin.AddRenderer(ren)

# create a renderwindowinteractor
iren = vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)

# create source
source = vtk.vtkSphereSource()
source.SetCenter(0,0,0)
source.SetPhiResolution(100)
source.SetThetaResolution(100)

# mapper
mapper = vtk.vtkPolyDataMapper()
if vtk.VTK_MAJOR_VERSION <= 5:
    mapper.SetInput(source.GetOutput())
else:
    mapper.SetInputConnection(source.GetOutputPort())

# actor
actor1 = vtk.vtkActor()
actor1.SetMapper(mapper)

# outline
outline = vtk.vtkOutlineFilter()
if vtk.VTK_MAJOR_VERSION <= 5:
    outline.SetInputData(source.GetOutput())
else:
    outline.SetInputConnection(source.GetOutputPort())
mapper2 = vtk.vtkPolyDataMapper()
if vtk.VTK_MAJOR_VERSION <= 5:
    mapper2.SetInput(outline.GetOutput())
else:
    mapper2.SetInputConnection(outline.GetOutputPort())

actor2 = vtk.vtkActor()
actor2.SetMapper(mapper2)

# assign actor to the renderer
#ren.AddActor(actor1)
ren.AddActor(actor2)

# enable user interface interactor
iren.Initialize()
renWin.Render()
iren.Start()
...