1 |
from esys.pyvisi import Scene, DataCollector, MapOnPlaneCut, Camera |
2 |
from esys.pyvisi.constant import * |
3 |
|
4 |
s = Scene(renderer = Renderer.ONLINE, num_viewport = 4, x_size = 1152, |
5 |
y_size = 864) |
6 |
|
7 |
# Create two data collector instances for two different sources. |
8 |
dc1 = DataCollector(source = Source.XML) |
9 |
dc1.setFileName(file_name = |
10 |
"/home/jongui/trunk/pyvisi/test/python/data_data/interior_3D.xml") |
11 |
|
12 |
dc2 = DataCollector(source = Source.XML) |
13 |
dc2.setFileName(file_name = |
14 |
"/home/jongui/data/laurent/subduction/source/function.0001.vtk") |
15 |
|
16 |
# NOTE: There is a difference between (1) performing rotation followed by |
17 |
# translation and (2) performing translation followed by rotation. |
18 |
|
19 |
# Create a map on plane cut instance for the first viewport. |
20 |
mopc1 = MapOnPlaneCut(scene = s, data_collector = dc1, |
21 |
viewport = Viewport.SOUTH_WEST) |
22 |
mopc1.setPlaneToYZ(offset = 1.5) |
23 |
|
24 |
c1 = Camera(scene = s, data_collector = dc1, viewport = Viewport.SOUTH_WEST) |
25 |
c1.isometricView() |
26 |
|
27 |
# Create three map on plane cut instances for the second viewport. |
28 |
mopc2_1 = MapOnPlaneCut(scene = s, data_collector = dc1, |
29 |
viewport = Viewport.NORTH_WEST) |
30 |
mopc2_1.setPlaneToYZ(offset = 1.5) |
31 |
|
32 |
mopc2_2 = MapOnPlaneCut(scene = s, data_collector = dc1, |
33 |
viewport = Viewport.NORTH_WEST) |
34 |
mopc2_2.setPlaneToXZ(offset = 1.5) |
35 |
|
36 |
mopc2_3 = MapOnPlaneCut(scene = s, data_collector = dc1, |
37 |
viewport = Viewport.NORTH_WEST) |
38 |
mopc2_3.setPlaneToXY() |
39 |
mopc2_3.translate(0,0,0.5) |
40 |
|
41 |
c2 = Camera(scene = s, data_collector = dc2, viewport = Viewport.NORTH_WEST) |
42 |
c2.isometricView() |
43 |
|
44 |
# Create a map on plane cut instance for the third viewport. |
45 |
mopc3 = MapOnPlaneCut(scene = s, data_collector = dc2, |
46 |
viewport = Viewport.NORTH_EAST) |
47 |
mopc3.setPlaneToXY() |
48 |
mopc3.rotateX(angle = 89.9) |
49 |
|
50 |
c3 = Camera(scene = s, data_collector = dc2, viewport = Viewport.NORTH_EAST) |
51 |
c3.bottomView() |
52 |
c3.azimuth(angle = -40) |
53 |
|
54 |
# Create two map on plance cut instances for the fourth viewport. |
55 |
mopc4_1 = MapOnPlaneCut(scene = s, data_collector = dc2, |
56 |
viewport = Viewport.SOUTH_EAST) |
57 |
mopc4_1.setPlaneToXZ() |
58 |
mopc4_1.rotateZ(angle = -20) |
59 |
mopc4_1.setOpacity(opacity = 0.8) |
60 |
|
61 |
mopc4_2 = MapOnPlaneCut(scene = s, data_collector = dc2, |
62 |
viewport = Viewport.SOUTH_EAST) |
63 |
mopc4_2.setPlaneToXY() |
64 |
mopc4_2.rotateY(angle = 20) |
65 |
mopc4_2.setOpacity(opacity = 0.8) |
66 |
|
67 |
c4 = Camera(scene = s, data_collector = dc2, viewport = Viewport.SOUTH_EAST) |
68 |
c4.elevation(angle = -30) |
69 |
|
70 |
s.render() |