1#!/usr/bin/env python 2import vtk 3from vtk.test import Testing 4from vtk.util.misc import vtkGetDataRoot 5VTK_DATA_ROOT = vtkGetDataRoot() 6 7from vtk.test import Testing 8 9class TestCommand(Testing.vtkTest): 10 def _test(self, fname): 11 reader = vtk.vtkXMLUnstructuredGridReader() 12 reader.SetFileName(VTK_DATA_ROOT + fname) 13 14 elev = vtk.vtkElevationFilter() 15 elev.SetInputConnection(reader.GetOutputPort()) 16 elev.SetLowPoint(-0.05, 0.05, 0) 17 elev.SetHighPoint(0.05, 0.05, 0) 18 19 grad = vtk.vtkGradientFilter() 20 grad.SetInputConnection(elev.GetOutputPort()) 21 grad.SetInputArrayToProcess(0, 0, 0, vtk.vtkDataObject.FIELD_ASSOCIATION_POINTS, "Elevation") 22 23 grad.Update() 24 25 vals = (10, 0, 0) 26 27 for i in range(3): 28 r = grad.GetOutput().GetPointData().GetArray("Gradients").GetRange(i) 29 30 self.assertTrue(abs(r[0] - vals[i]) < 1E-4) 31 self.assertTrue(abs(r[1] - vals[i]) < 1E-4) 32 33 elev.SetLowPoint(0.05, -0.05, 0) 34 elev.SetHighPoint(0.05, 0.05, 0) 35 grad.Update() 36 37 vals = (0, 10, 0) 38 39 for i in range(3): 40 r = grad.GetOutput().GetPointData().GetArray("Gradients").GetRange(i) 41 42 self.assertTrue(abs(r[0] - vals[i]) < 1E-4) 43 self.assertTrue(abs(r[1] - vals[i]) < 1E-4) 44 45 def testQuadraticQuad(self): 46 self._test("/Data/Disc_QuadraticQuads_0_0.vtu") 47 48 def testBiQuadraticQuad(self): 49 self._test("/Data/Disc_BiQuadraticQuads_0_0.vtu") 50 51if __name__ == "__main__": 52 Testing.main([(TestCommand, 'test')]) 53