def test_reverse(self): basis1 = BSplineBasis(4, [2, 2, 2, 2, 3, 6, 7, 7, 7, 7]) basis2 = BSplineBasis(3, [-3, -3, -3, 20, 30, 31, 31, 31]) surf = Surface(basis1, basis2) surf2 = Surface(basis1, basis2) surf3 = Surface(basis1, basis2) surf2.reverse('v') surf3.reverse('u') for i in range(6): # loop over surf forward, and surf2 backward (in 'v'-direction) for (cp1, cp2) in zip(surf[i, :, :], surf2[i, ::-1, :]): self.assertAlmostEqual(cp1[0], cp2[0]) self.assertAlmostEqual(cp1[1], cp2[1]) for j in range(5): # loop over surf forward, and surf3 backward (in 'u'-direction) for (cp1, cp2) in zip(surf[:, j, :], surf3[::-1, j, :]): self.assertAlmostEqual(cp1[0], cp2[0]) self.assertAlmostEqual(cp1[1], cp2[1])