@@ -17,6 +17,7 @@ def test_units_1d():
17
17
mesh .update_units ()
18
18
19
19
assert mesh .areas == 0
20
+ assert numpy .allclose (mesh .centroids , [[1 , 0 , 0 ]])
20
21
utils .array_equals (mesh .normals , [0 , 0 , 0 ])
21
22
utils .array_equals (mesh .units , [0 , 0 , 0 ])
22
23
utils .array_equals (mesh .get_unit_normals (), [0 , 0 , 0 ])
@@ -35,6 +36,9 @@ def test_units_2d():
35
36
mesh .update_units ()
36
37
37
38
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 ]])
38
42
assert numpy .allclose (mesh .normals , [
39
43
[0.0 , 0.0 , 1.0 ],
40
44
[0.0 , 0.0 , - 1.0 ]])
@@ -54,6 +58,7 @@ def test_units_3d():
54
58
mesh .update_units ()
55
59
56
60
assert (mesh .areas - 2 ** .5 ) < 0.0001
61
+ assert numpy .allclose (mesh .centroids , [1 / 3 , 1 / 3 , 1 / 3 ])
57
62
assert numpy .allclose (mesh .normals , [0.0 , - 1.0 , 1.0 ])
58
63
assert numpy .allclose (mesh .units [0 ], [0.0 , - 0.70710677 , 0.70710677 ])
59
64
assert numpy .allclose (numpy .linalg .norm (mesh .units , axis = - 1 ), 1 )
@@ -183,11 +188,23 @@ def test_empty_areas():
183
188
mesh .areas [2 ] = 2
184
189
assert numpy .allclose (mesh .areas , [[0.5 ], [1.0 ], [2.0 ]])
185
190
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 )
187
198
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 ]])
188
202
189
- mesh .update_normals (update_areas = True )
203
+ mesh .update_normals (update_areas = True , update_centroids = True )
190
204
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 ]])
191
208
192
209
mesh = Mesh (data , remove_empty_areas = True )
193
210
assert mesh .data .size == 1
0 commit comments