示例#1
0
 def test_evaluate_cartesian_no_verify(self):
     s_t_vals = (0.25, 1.0)
     nodes = np.asfortranarray([[1.0, 2.0, 1.0], [1.0, 1.5, 2.75]])
     surface = self._make_one(nodes, 1)
     expected = np.asfortranarray([[1.25], [2.875]])
     result = surface.evaluate_cartesian(*s_t_vals, _verify=False)
     self.assertEqual(result, expected)
示例#2
0
 def test_evaluate_cartesian(self):
     s_t_vals = (0.125, 0.125)
     nodes = np.asfortranarray([[1.0, 2.0, 1.0], [1.0, 1.5, 2.75]])
     surface = self._make_one(nodes, 1)
     expected = np.asfortranarray([[1.125], [1.28125]])
     result = surface.evaluate_cartesian(*s_t_vals)
     self.assertEqual(result, expected)
示例#3
0
 def test_locate_no_verify(self):
     surface = self._make_one(self.QUADRATIC, 2)
     s = 0.125
     t = 0.125
     x_val, y_val = surface.evaluate_cartesian(s, t).flatten()
     point = np.asfortranarray([[x_val, np.nan], [y_val, np.nan]])
     # Make sure it fails.
     with self.assertRaises(ValueError):
         surface.locate(point)
     # Will only use the first row if _verify=False.
     computed_s, computed_t = surface.locate(point, _verify=False)
     self.assertEqual(s, computed_s)
     self.assertEqual(t, computed_t)
示例#4
0
 def test_evaluate_cartesian_calls_helper(self):
     nodes = self.ZEROS
     surface = self._make_one_no_slots(nodes, 1, _copy=False)
     patch = unittest.mock.patch(
         "bezier._surface_helpers.evaluate_barycentric",
         return_value=unittest.mock.sentinel.point,
     )
     s_val = 0.25
     t_val = 0.25
     with patch as mocked:
         result = surface.evaluate_cartesian(s_val, t_val)
         self.assertIs(result, unittest.mock.sentinel.point)
         mocked.assert_called_once_with(nodes, 1, 0.5, s_val, t_val)
示例#5
0
 def test_locate(self):
     surface = self._make_one(self.QUADRATIC, 2)
     point = surface.evaluate_cartesian(0.5, 0.25)
     s, t = surface.locate(point)
     self.assertEqual(s, 0.5)
     self.assertEqual(t, 0.25)