-
Notifications
You must be signed in to change notification settings - Fork 157
Expand file tree
/
Copy pathDijkstraGraphGeodesicPath.py
More file actions
52 lines (40 loc) · 1.39 KB
/
DijkstraGraphGeodesicPath.py
File metadata and controls
52 lines (40 loc) · 1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import vtk
def main():
# Create a sphere
sphereSource = vtk.vtkSphereSource()
sphereSource.Update()
dijkstra = vtk.vtkDijkstraGraphGeodesicPath()
dijkstra.SetInputConnection(sphereSource.GetOutputPort())
dijkstra.SetStartVertex(0)
dijkstra.SetEndVertex(10)
dijkstra.Update()
# Create a mapper and actor
pathMapper = vtk.vtkPolyDataMapper()
pathMapper.SetInputConnection(dijkstra.GetOutputPort())
pathActor = vtk.vtkActor()
pathActor.SetMapper(pathMapper)
pathActor.GetProperty().SetColor(1,0,0) # Red
pathActor.GetProperty().SetLineWidth(4)
# Create a mapper and actor
mapper = vtk.vtkPolyDataMapper()
mapper.SetInputConnection(sphereSource.GetOutputPort())
actor = vtk.vtkActor()
actor.SetMapper(mapper)
# Create a renderer, render window, and interactor
renderer = vtk.vtkRenderer()
renderWindow = vtk.vtkRenderWindow()
renderWindow.AddRenderer(renderer)
renderWindowInteractor = vtk.vtkRenderWindowInteractor()
renderWindowInteractor.SetRenderWindow(renderWindow)
# Add the actor to the scene
renderer.AddActor(actor)
renderer.AddActor(pathActor)
renderer.SetBackground(.3, .6, .3) # Background color green
# Render and interact
renderWindow.Render()
renderWindowInteractor.Start()
return 1
if __name__ == "__main__":
main()