我在SolidWorks中創建了一個立方體並將其導出到STL文件中(Te立方體位於原點右側50毫米處)然後我使用VTK類vtkSTLReader讀取該文件並將其渲染到渲染窗口中。在VTK中,如何獲取Prop的世界座標?
然而,當我調用的函數爲getPosition(),它總是返回(0,0,0)。在我看來,它應該是(50,0,0)。 The VTK class reference解釋此功能是「以世界座標獲取Prop3D的位置」。這讓我感到困惑。我不知道問題出在哪裏。
import vtk
sr = vtk.vtkSTLReader()
sr.SetFileName("cube.stl")
stlMapper = vtk.vtkPolyDataMapper()
stlMapper.SetInputConnection(sr.GetOutputPort())
stlActor = vtk.vtkLODActor()
stlActor.SetMapper(stlMapper)
# Create the Renderer, RenderWindow, and RenderWindowInteractor
ren = vtk.vtkRenderer()
renWin = vtk.vtkRenderWindow()
renWin.AddRenderer(ren)
iren = vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)
# Add the actors to the render; set the background and size
ren.AddActor(stlActor)
ren.SetBackground(0.1, 0.1, 0.1)
renWin.SetSize(500, 500)
print stlActor.GetPosition()
iren.Initialize()
renWin.Render()
iren.Start()