@@ -17,6 +17,7 @@ def test_units_1d():
1717 mesh .update_units ()
1818
1919 assert mesh .areas == 0
20+ assert numpy .allclose (mesh .centroids , [[1 , 0 , 0 ]])
2021 utils .array_equals (mesh .normals , [0 , 0 , 0 ])
2122 utils .array_equals (mesh .units , [0 , 0 , 0 ])
2223 utils .array_equals (mesh .get_unit_normals (), [0 , 0 , 0 ])
@@ -35,6 +36,9 @@ def test_units_2d():
3536 mesh .update_units ()
3637
3738 assert numpy .allclose (mesh .areas , [0.5 , 0.5 ])
39+ assert numpy .allclose (mesh .centroids , [
40+ [1 / 3 , 1 / 3 , 0 ],
41+ [2 / 3 , 2 / 3 , 0 ]])
3842 assert numpy .allclose (mesh .normals , [
3943 [0.0 , 0.0 , 1.0 ],
4044 [0.0 , 0.0 , - 1.0 ]])
@@ -54,6 +58,7 @@ def test_units_3d():
5458 mesh .update_units ()
5559
5660 assert (mesh .areas - 2 ** .5 ) < 0.0001
61+ assert numpy .allclose (mesh .centroids , [1 / 3 , 1 / 3 , 1 / 3 ])
5762 assert numpy .allclose (mesh .normals , [0.0 , - 1.0 , 1.0 ])
5863 assert numpy .allclose (mesh .units [0 ], [0.0 , - 0.70710677 , 0.70710677 ])
5964 assert numpy .allclose (numpy .linalg .norm (mesh .units , axis = - 1 ), 1 )
@@ -183,11 +188,23 @@ def test_empty_areas():
183188 mesh .areas [2 ] = 2
184189 assert numpy .allclose (mesh .areas , [[0.5 ], [1.0 ], [2.0 ]])
185190
186- mesh .update_normals (update_areas = False )
191+ mesh .centroids [1 ] = [1 , 2 , 3 ]
192+ mesh .centroids [2 ] = [4 , 5 , 6 ]
193+ assert numpy .allclose (mesh .centroids , [[1 / 3 , 1 / 3 , 0 ],
194+ [1 , 2 , 3 ],
195+ [4 , 5 , 6 ]])
196+
197+ mesh .update_normals (update_areas = False , update_centroids = False )
187198 assert numpy .allclose (mesh .areas , [[0.5 ], [1.0 ], [2.0 ]])
199+ assert numpy .allclose (mesh .centroids , [[1 / 3 , 1 / 3 , 0 ],
200+ [1 , 2 , 3 ],
201+ [4 , 5 , 6 ]])
188202
189- mesh .update_normals (update_areas = True )
203+ mesh .update_normals (update_areas = True , update_centroids = True )
190204 assert numpy .allclose (mesh .areas , [[0.5 ], [0.0 ], [0.0 ]])
205+ assert numpy .allclose (mesh .centroids , [[1 / 3 , 1 / 3 , 0 ],
206+ [2 / 3 , 1 / 3 , 0 ],
207+ [2 / 3 , 1 / 3 , 0 ]])
191208
192209 mesh = Mesh (data , remove_empty_areas = True )
193210 assert mesh .data .size == 1
0 commit comments