/[escript]/trunk/pyvisi/test/python/run_streamline.py
ViewVC logotype

Contents of /trunk/pyvisi/test/python/run_streamline.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1070 - (show annotations)
Thu Mar 29 04:20:50 2007 UTC (15 years, 11 months ago) by jongui
File MIME type: text/x-python
File size: 3722 byte(s)
Added tests for the camera, carpet, contouir, ellipsoid, light, streamline and velocity modules.
1 from esys.pyvisi import DataCollector, Scene, StreamLine, GlobalPosition
2 from esys.pyvisi.constant import *
3 import unittest, os
4 from stat import ST_SIZE
5
6 PYVISI_TEST_MESHES_PATH = "data_meshes/"
7 PYVISI_TEST_STREAMLINE_IMAGES_PATH = "data_sample_images/streamline/"
8 MIN_IMAGE_SIZE = 100
9 FILE_3D = "interior_3D.xml"
10
11 X_SIZE = 400
12 Y_SIZE = 400
13
14 JPG_RENDERER = Renderer.OFFLINE_JPG
15
16 class TestStreamLine:
17 def tearDown(self):
18 self.scene
19 self.data_collector
20 self.streamline
21
22 def render(self, file):
23 self.scene.render(image_name = \
24 PYVISI_TEST_STREAMLINE_IMAGES_PATH + file)
25
26 self.failUnless(os.stat(PYVISI_TEST_STREAMLINE_IMAGES_PATH + \
27 file)[ST_SIZE] > MIN_IMAGE_SIZE)
28
29 class TestStreamLinePointSource(unittest.TestCase, TestStreamLine):
30 def setUp(self):
31 self.scene = \
32 Scene(renderer = JPG_RENDERER, num_viewport = 1,
33 x_size = X_SIZE, y_size = Y_SIZE)
34
35 self.data_collector = DataCollector(source = Source.XML)
36 self.data_collector.setFileName(file_name = \
37 PYVISI_TEST_MESHES_PATH + FILE_3D)
38
39 self.streamline = StreamLine(scene = self.scene,
40 data_collector = self.data_collector,
41 viewport = Viewport.SOUTH_WEST, color_mode = ColorMode.VECTOR,
42 lut = Lut.COLOR, cell_to_point = False, outline = True)
43
44 def testPointSource(self):
45 self.streamline.setPointSourceRadius(0.3)
46 self.streamline.setPointSourceCenter(GlobalPosition(1.3, 1.3, 0.4))
47 self.streamline.setPointSourceNumberOfPoints(5)
48 self.render("TestStreamLinePointSource.jpg")
49
50 class TestStreamLineModule(unittest.TestCase, TestStreamLine):
51 def setUp(self):
52 self.scene = \
53 Scene(renderer = JPG_RENDERER, num_viewport = 1,
54 x_size = X_SIZE, y_size = Y_SIZE)
55
56 self.data_collector = DataCollector(source = Source.XML)
57 self.data_collector.setFileName(file_name = \
58 PYVISI_TEST_MESHES_PATH + FILE_3D)
59
60 self.streamline = StreamLine(scene = self.scene,
61 data_collector = self.data_collector,
62 viewport = Viewport.SOUTH_WEST, color_mode = ColorMode.VECTOR,
63 lut = Lut.COLOR, cell_to_point = False, outline = True)
64
65 def testStreamLineModule(self):
66 self.streamline.setMaximumPropagationTime(20)
67 self.streamline.setStepLength(0.1)
68 self.streamline.setIntegrationStepLength(0.1)
69 self.streamline.setIntegrationToBothDirections()
70 self.render("TestStreamLineModule.jpg")
71
72 class TestStreamLineTube(unittest.TestCase, TestStreamLine):
73 def setUp(self):
74 self.scene = \
75 Scene(renderer = JPG_RENDERER, num_viewport = 1,
76 x_size = X_SIZE, y_size = Y_SIZE)
77
78 self.data_collector = DataCollector(source = Source.XML)
79 self.data_collector.setFileName(file_name = \
80 PYVISI_TEST_MESHES_PATH + FILE_3D)
81
82 self.streamline = StreamLine(scene = self.scene,
83 data_collector = self.data_collector,
84 viewport = Viewport.SOUTH_WEST, color_mode = ColorMode.VECTOR,
85 lut = Lut.COLOR, cell_to_point = False, outline = True)
86
87 def testSetTubeRadiusToVaryByVector(self):
88 self.streamline.setTubeRadius(0.05)
89 self.streamline.setTubeNumberOfSides(3)
90 self.streamline.setTubeRadiusToVaryByVector()
91 self.render("TestStreamLineTube_testSetTubeRadiusToVaryByVector.jpg")
92
93 def testSetTubeRadiusToVaryBeScalar(self):
94 self.streamline.setTubeRadiusToVaryByScalar()
95 self.render("TestStreamLineTube_testSetTubeRadiusToVaryByScalar.jpg")
96
97
98 ##############################################################################
99
100
101 if __name__ == '__main__':
102 suite = unittest.TestSuite()
103 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(TestStreamLinePointSource))
104 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(TestStreamLineModule))
105 suite.addTest(unittest.TestLoader().loadTestsFromTestCase(TestStreamLineTube))
106 unittest.TextTestRunner(verbosity=2).run(suite)
107

  ViewVC Help
Powered by ViewVC 1.1.26