1 |
""" |
2 |
@author: John NGUI |
3 |
""" |
4 |
|
5 |
import vtk |
6 |
|
7 |
class Arrow2D: |
8 |
""" |
9 |
Class that defines 2D arrow. |
10 |
""" |
11 |
|
12 |
def __init__(self): |
13 |
""" |
14 |
Initialise the 2D arrow. |
15 |
""" |
16 |
|
17 |
self.__vtk_arrow2D = vtk.vtkGlyphSource2D() |
18 |
self.__setupArrow2D() |
19 |
|
20 |
def __setupArrow2D(self): |
21 |
""" |
22 |
Setup the 2D arrow. |
23 |
""" |
24 |
|
25 |
# Use arrow instead of cone or sphere. |
26 |
self.__vtk_arrow2D.SetGlyphTypeToArrow() |
27 |
# Fill the inside of the arrow. |
28 |
self.__vtk_arrow2D.SetFilled(0) |
29 |
|
30 |
def _getOutput(self): |
31 |
""" |
32 |
Return the output of the 2D arrow. |
33 |
|
34 |
@rtype: vtkPolyData |
35 |
@return: Polygonal data |
36 |
""" |
37 |
|
38 |
return self.__vtk_arrow2D.GetOutput() |
39 |
|
40 |
|
41 |
############################################################################### |
42 |
|
43 |
|
44 |
class Arrow3D: |
45 |
""" |
46 |
Class that defines 3D arrow. |
47 |
""" |
48 |
|
49 |
def __init__(self): |
50 |
""" |
51 |
Initialise the 3D arrow. |
52 |
""" |
53 |
|
54 |
self.__vtk_arrow3D = vtk.vtkArrowSource() |
55 |
|
56 |
def _getOutput(self): |
57 |
""" |
58 |
Return the output of the 3D arrow. |
59 |
|
60 |
@rtype: vtkPolyData |
61 |
@return Polygonal data |
62 |
""" |
63 |
|
64 |
return self.__vtk_arrow3D.GetOutput() |
65 |
|