我有两个vtkSplineRepresentation()和两个视口。我想用Spline绑定一个视图。我知道为了做到这一点,我必须创建一个Actor。但问题是我不知道怎么做。我尝试了VtkActor命令,但我只显示一个球,而不是一组点,我也试过LineActor但是我得到了一个错误。有谁能够帮我?
功能如下:
def Spline(self,crv,ren,iren):
extract = vtk.vtkExtractVOI()
puntosVTK=dental_curve.puntos_vtk(crv)
spline = vtk.vtkSplineWidget()
spline.InitializeHandles(puntosVTK) #insertamos los puntos
spline.SetCurrentRenderer(ren)
spline.SetDefaultRenderer(ren)
spline.SetInputConnection(extract.GetOutputPort())
spline.SetInteractor(iren)
spline.ProjectToPlaneOn()
spline.SetProjectionNormalToXAxes()
spline.On()
return spline
你需要从你的vtkSplineRepresenatation(通过GetPolyData())获取polydata并将其传递给vtkPolyDataMapper,然后使用vtkPolyDataMapper到你的actor。你没有发布代码,所以没有什么我无法解决,但给你一个想法:
mapper = vtk.vtkPolyDataMapper()
geometry = vtk.vtkPolyData()
spline.GetPolyData(geometry))
mapper.SetInputData(geometry)
mapper.Update()
actor = vtk.vtkActor()
actor.SetMapper(mapper)