@@ -28,96 +28,6 @@ def test_regular_grid_preparation(simple_grid_3d_more_points_grid):
28
28
np .testing .assert_almost_equal (engine_grid .dense_grid_values [45 , 2 , 4 , 2 ], .295 , 6 )
29
29
30
30
31
- def test_octree_root (simple_model , simple_grid_3d_octree ):
32
- spi , ori_i , options , data_shape = simple_model
33
- options .number_octree_levels = 2
34
- options .evaluation_options .curvature_threshold = - 1
35
- ids = np .array ([1 , 2 ])
36
- grid_0_centers = simple_grid_3d_octree
37
-
38
- interpolation_input = InterpolationInput (spi , ori_i , grid_0_centers , ids )
39
-
40
- # interpolate level 0 - center
41
- output_0_centers = interp .interpolate_and_segment (interpolation_input , options , data_shape .tensors_structure )
42
-
43
- # Interpolate level 0 - corners
44
- grid_0_corners = EngineGrid .from_xyz_coords (
45
- xyz_coords = _generate_corners (regular_grid = grid_0_centers .octree_grid )
46
- )
47
- interpolation_input .set_temp_grid (grid_0_corners )
48
- output_0_corners = interp .interpolate_and_segment (interpolation_input , options , data_shape .tensors_structure , clean_buffer = False )
49
-
50
- # Create octree level 0
51
- octree_lvl0 = OctreeLevel (grid_0_centers , grid_0_corners , [output_0_centers ], [output_0_corners ])
52
-
53
- # Generate grid_1_centers
54
- grid_1_centers = get_next_octree_grid (octree_lvl0 , evaluation_options = options .evaluation_options , compute_topology = False )
55
- xyz , anch , select = grid_1_centers .debug_vals [:3 ]
56
-
57
- # Level 1
58
-
59
- interpolation_input .set_temp_grid (grid_1_centers )
60
- output_1_centers = interp .interpolate_and_segment (interpolation_input , options , data_shape .tensors_structure ,
61
- clean_buffer = False )
62
-
63
- # Interpolate level 1 - Corners
64
- grid_1_corners = EngineGrid .from_xyz_coords (
65
- xyz_coords = _generate_corners (regular_grid = grid_1_centers .octree_grid )
66
- )
67
-
68
- interpolation_input .set_temp_grid (grid_1_corners )
69
- output_1_corners = interp .interpolate_and_segment (interpolation_input , options , data_shape .tensors_structure ,
70
- clean_buffer = False )
71
-
72
- # Create octree level 1
73
- octree_lvl1 = OctreeLevel (grid_1_centers , grid_1_corners , [output_1_centers ], [output_1_corners ])
74
-
75
- grid_2_centers = get_next_octree_grid (octree_lvl1 , evaluation_options = options .evaluation_options , compute_topology = False )
76
- xyz1 , anch1 , select1 = grid_2_centers .debug_vals [:3 ]
77
-
78
- if plot_pyvista or False :
79
- # Compute actual mesh
80
- resolution = [20 , 20 , 20 ]
81
- p = pv .Plotter ()
82
- rg = grid_0_centers .octree_grid
83
-
84
- grid_0_faces = grid_0_corners
85
-
86
- # ? This does not seem to be working p.add_mesh(mesh, opacity=.8, silhouette=True)
87
- p .add_mesh (pv .PolyData (grid_0_centers .values ), color = "black" , point_size = 12.0 , render_points_as_spheres = False )
88
- p .add_mesh (pv .PolyData (rg .corners_values ), color = "blue" , point_size = 3.0 , render_points_as_spheres = False )
89
-
90
- z_left = grid_0_faces .values .reshape ((- 1 , 8 , 3 ))[:, ::2 , :][select [2 ]]
91
- z_right = grid_0_faces .values .reshape ((- 1 , 8 , 3 ))[:, 1 ::2 , :][select [2 ]]
92
- try :
93
- p .add_mesh (pv .PolyData (z_left ), color = "c" , point_size = 6.0 , render_points_as_spheres = False )
94
- p .add_mesh (pv .PolyData (z_right ), color = "y" , point_size = 5.0 , render_points_as_spheres = False )
95
- except :
96
- pass
97
-
98
- x_left = grid_0_faces .values .reshape ((- 1 , 8 , 3 ))[:, :4 , :][select [0 ]]
99
- x_right = grid_0_faces .values .reshape ((- 1 , 8 , 3 ))[:, 4 :, :][select [0 ]]
100
- try :
101
- p .add_mesh (pv .PolyData (x_left ), color = "c" , point_size = 6.0 , render_points_as_spheres = False )
102
- p .add_mesh (pv .PolyData (x_right ), color = "y" , point_size = 5.0 , render_points_as_spheres = False )
103
- except :
104
- pass
105
- y_left = grid_0_faces .values .reshape ((- 1 , 8 , 3 ))[:, [0 , 1 , 4 , 5 ], :][select [1 ]]
106
- y_right = grid_0_faces .values .reshape ((- 1 , 8 , 3 ))[:, [2 , 3 , 6 , 7 ], :][select [1 ]]
107
- try :
108
- p .add_mesh (pv .PolyData (y_left ), color = "c" , point_size = 6.0 , render_points_as_spheres = False )
109
- p .add_mesh (pv .PolyData (y_right ), color = "y" , point_size = 5.0 , render_points_as_spheres = False )
110
- except :
111
- pass
112
- try :
113
- p .add_mesh (pv .PolyData (anch ), color = "r" , point_size = 10.0 , render_points_as_spheres = False )
114
- p .add_mesh (pv .PolyData (anch1 ), color = "orange" , point_size = 8.0 , render_points_as_spheres = False )
115
- p .add_mesh (pv .PolyData (xyz ), color = "w" , point_size = 5.0 , render_points_as_spheres = False )
116
- p .add_mesh (pv .PolyData (xyz1 ), color = "g" , point_size = 4.0 , render_points_as_spheres = False )
117
-
118
- except :
119
- pass
120
- p .show ()
121
31
122
32
123
33
@pytest .mark .skipif (TEST_SPEED .value <= 1 , reason = "Global test speed below this test value." )
@@ -144,10 +54,10 @@ def test_octree_leaf(simple_model, simple_grid_3d_octree):
144
54
octree_list [0 ].last_output_center .weights )
145
55
146
56
n = options .number_octree_levels - 1
147
- debug_vals = get_next_octree_grid (octree_list [n ], compute_topology = False )
57
+ debug_vals = get_next_octree_grid (octree_list [n ])
148
58
a = debug_vals [- 2 ]
149
59
grid_centers = octree_list [n ].grid_centers
150
- debug_vals_prev = get_next_octree_grid (octree_list [n - 1 ], compute_topology = False )
60
+ debug_vals_prev = get_next_octree_grid (octree_list [n - 1 ])
151
61
anch = debug_vals_prev [1 ]
152
62
grid_centers .values = grid_centers .values [a ]
153
63
0 commit comments