1"""this is python equivalent of ./Wrapping/Tcl/vtktesting/backdrop.tcl
2This script is used while running python tests translated from Tcl."""
3
4import vtk
5
6basePlane = None
7baseMapper = None
8base = None
9
10backPlane = None
11backMapper = None
12back = None
13
14leftPlane = None
15leftMapper = None
16left = None
17
18def BuildBackdrop (minX, maxX, minY, maxY, minZ, maxZ, thickness):
19    global basePlane
20    global baseMapper
21    global base
22    global backPlane
23    global backMapper
24    global back
25    global left
26    global leftPlane
27    global leftMapper
28
29    if not basePlane:
30        basePlane = vtk.vtkCubeSource()
31    basePlane.SetCenter( (maxX + minX)/2.0, minY, (maxZ + minZ)/2.0)
32    basePlane.SetXLength(maxX-minX)
33    basePlane.SetYLength(thickness)
34    basePlane.SetZLength(maxZ - minZ)
35
36    if not baseMapper:
37        baseMapper = vtk.vtkPolyDataMapper()
38    baseMapper.SetInputConnection(basePlane.GetOutputPort())
39
40    if not base:
41        base = vtk.vtkActor()
42    base.SetMapper(baseMapper)
43
44    if not backPlane:
45        backPlane = vtk.vtkCubeSource()
46    backPlane.SetCenter( (maxX + minX)/2.0, (maxY + minY)/2.0, minZ)
47    backPlane.SetXLength(maxX-minX)
48    backPlane.SetYLength(maxY - minY)
49    backPlane.SetZLength(thickness)
50
51    if not backMapper:
52        backMapper = vtk.vtkPolyDataMapper()
53    backMapper.SetInputConnection(backPlane.GetOutputPort())
54
55    if not back:
56        back = vtk.vtkActor()
57    back.SetMapper(backMapper)
58
59    if not leftPlane:
60        leftPlane = vtk.vtkCubeSource()
61    leftPlane.SetCenter( minX, (maxY+minY)/2.0, (maxZ+minZ)/2.0)
62    leftPlane.SetXLength(thickness)
63    leftPlane.SetYLength(maxY-minY)
64    leftPlane.SetZLength(maxZ-minZ)
65
66    if not leftMapper:
67        leftMapper = vtk.vtkPolyDataMapper()
68    leftMapper.SetInputConnection(leftPlane.GetOutputPort())
69
70    if not left:
71        left = vtk.vtkActor()
72    left.SetMapper(leftMapper)
73
74    return [base, back, left]
75