CompassWidget
VTKEx/Python/Widgets/CompassWidget
Description¶
Draws an interactive compass.
- Contributed by Jothy
Question
If you have a simple question about this example contact us at VTKExProject If your question is more complex and may require extended discussion, please use the VTK Discourse Forum
Code¶
CompassWidget.py
#!/usr/bin/env python
import vtk
def main():
colors = vtk.vtkNamedColors()
colors.SetColor('bkg', [0.2, 0.3, 0.7, 1.0])
# sphere
sphereSource = vtk.vtkSphereSource()
sphereSource.SetCenter(0.0, 0.0, 0.0)
sphereSource.SetRadius(4.0)
mapper = vtk.vtkPolyDataMapper()
mapper.SetInputConnection(sphereSource.GetOutputPort())
actor = vtk.vtkActor()
actor.SetMapper(mapper)
actor.GetProperty().SetColor(colors.GetColor3d("BurlyWood"))
# a renderer and render window
renderer = vtk.vtkRenderer()
renderWindow = vtk.vtkRenderWindow()
renderWindow.AddRenderer(renderer)
# an interactor
renderWindowInteractor = vtk.vtkRenderWindowInteractor()
renderWindowInteractor.SetRenderWindow(renderWindow)
# Create the widget and its representation
compassRepresentation = vtk.vtkCompassRepresentation()
compassWidget = vtk.vtkCompassWidget()
compassWidget.SetInteractor(renderWindowInteractor)
compassWidget.SetRepresentation(compassRepresentation)
# add the actors to the scene
renderer.AddActor(actor)
renderer.SetBackground(colors.GetColor3d('bkg'))
renderWindow.Render()
compassWidget.EnabledOn()
style = vtk.vtkInteractorStyleTrackballCamera()
renderWindowInteractor.SetInteractorStyle(style)
# begin interaction
renderWindowInteractor.Initialize()
renderWindow.Render()
renderWindowInteractor.Start()
if __name__ == '__main__':
main()