objreader.py 1001 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/usr/bin/env python
  2. import vtk
  3. def read_obj(filename):
  4. reader = vtk.vtkOBJReader()
  5. reader.SetFileName(filename)
  6. mapper = vtk.vtkPolyDataMapper()
  7. mapper.SetInput(reader.GetOutput())
  8. del reader
  9. return mapper
  10. def main():
  11. # Create render window and interactor
  12. ren = vtk.vtkRenderer()
  13. win = vtk.vtkRenderWindow()
  14. win.AddRenderer(ren)
  15. #iren = vtk.vtkRenderWindowInteractor()
  16. #iren.SetRenderWindow(win)
  17. # Read OBJ file
  18. cubemapper = read_obj('cube.obj')
  19. # Create actor
  20. cubeactor = vtk.vtkActor()
  21. cubeactor.SetMapper(cubemapper)
  22. ren.AddActor(cubeactor)
  23. #iren.Initialize()
  24. win.Render()
  25. #iren.Start()
  26. try:
  27. cam = ren.GetActiveCamera()
  28. while True:
  29. win.Render()
  30. # Rotate
  31. cam.Roll(.01)
  32. # Horizontal drag
  33. cam.Azimuth(.01)
  34. #cam.Elevation(.01)
  35. except KeyboardInterrupt:
  36. return
  37. if __name__ == '__main__':
  38. main()