Skip to content

Commit 7002aab

Browse files
authored
[MISC] Fix unit test failure on MacOS. (#2795)
1 parent 10e1e49 commit 7002aab

8 files changed

Lines changed: 52 additions & 50 deletions

File tree

genesis/engine/sensors/kinematic_tactile.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
@qd.func
3737
def _func_query_contact_depth_penetration(
3838
i_b: int,
39-
probe_pos: gs.qd_vec3,
39+
probe_pos, # : gs.qd_vec3,
4040
probe_radius_gt: float,
4141
probe_radius_m: float,
4242
sensor_link_idx: int,
@@ -83,7 +83,7 @@ def _func_query_contact_depth_penetration(
8383
@qd.func
8484
def _func_query_contact_depth(
8585
i_b: int,
86-
probe_pos: gs.qd_vec3,
86+
probe_pos, # : gs.qd_vec3,
8787
probe_radius_gt: float,
8888
probe_radius_m: float,
8989
sensor_link_idx: int,

genesis/engine/sensors/point_cloud_tactile.py

Lines changed: 29 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -164,8 +164,8 @@ def _sample_track_links_point_cloud_tensors(
164164

165165

166166
@qd.func
167-
def _func_vec3_at(values: qd.types.ndarray(), i: int) -> gs.qd_vec3:
168-
return qd.Vector([values[i, 0], values[i, 1], values[i, 2]], dt=gs.qd_float)
167+
def _func_vec3_at(values: qd.types.ndarray(), i: int): # -> gs.qd_vec3:
168+
return qd.Vector([values[i, 0], values[i, 1], values[i, 2]], dt=float)
169169

170170

171171
@qd.kernel
@@ -663,16 +663,16 @@ def _normalize_elastomer_probe_layout(
663663
@qd.func
664664
def _func_elastomer_min_sdf_over_active_geoms(
665665
i_b: int,
666-
point_world: gs.qd_vec3,
666+
point_world, # : gs.qd_vec3,
667667
geom_start: int,
668668
geom_n: int,
669669
geom_idx: qd.types.ndarray(),
670670
geom_active_envs_mask: qd.types.ndarray(),
671671
geoms_state: array_class.GeomsState,
672672
geoms_info: array_class.GeomsInfo,
673673
sdf_info: array_class.SDFInfo,
674-
) -> gs.qd_float:
675-
min_sdf = gs.qd_float(1.0e6)
674+
) -> float:
675+
min_sdf = float(1.0e6)
676676
geom_end = geom_start + geom_n
677677
for i_gm in range(geom_start, geom_end):
678678
if not geom_active_envs_mask[i_gm, i_b]:
@@ -685,7 +685,10 @@ def _func_elastomer_min_sdf_over_active_geoms(
685685

686686

687687
@qd.func
688-
def _func_elastomer_tangent(vec: gs.qd_vec3, normal: gs.qd_vec3) -> gs.qd_vec3:
688+
def _func_elastomer_tangent(
689+
vec, # : gs.qd_vec3,
690+
normal, # : gs.qd_vec3
691+
): # -> gs.qd_vec3:
689692
return vec - normal * vec.dot(normal)
690693

691694

@@ -709,10 +712,10 @@ def _func_elastomer_clear_surface_state(
709712
def _func_elastomer_update_surface_anchor(
710713
i_b: int,
711714
i_o: int,
712-
sdf_value: gs.qd_float,
713-
point_sensor: gs.qd_vec3,
714-
sdf_enter: gs.qd_float,
715-
sdf_exit: gs.qd_float,
715+
sdf_value: float,
716+
point_sensor, # : gs.qd_vec3,
717+
sdf_enter: float,
718+
sdf_exit: float,
716719
surface_entry_pos_sensor_buf: qd.types.ndarray(),
717720
surface_initialized_buf: qd.types.ndarray(),
718721
):
@@ -728,14 +731,14 @@ def _func_elastomer_update_surface_anchor(
728731

729732
@qd.func
730733
def _func_elastomer_direct_dilate_contribution(
731-
source_pos: gs.qd_vec3,
732-
source_normal: gs.qd_vec3,
733-
target_pos: gs.qd_vec3,
734-
target_normal: gs.qd_vec3,
735-
depth: gs.qd_float,
736-
lam: gs.qd_float,
737-
scale: gs.qd_float,
738-
) -> gs.qd_vec3:
734+
source_pos, # : gs.qd_vec3,
735+
source_normal, # : gs.qd_vec3,
736+
target_pos, # : gs.qd_vec3,
737+
target_normal, # : gs.qd_vec3,
738+
depth: float,
739+
lam: float,
740+
scale: float,
741+
): # -> gs.qd_vec3:
739742
source_contact_pos = source_pos - source_normal * depth
740743
diff = target_pos - source_contact_pos
741744
planar_diff = _func_elastomer_tangent(diff, target_normal)
@@ -744,15 +747,15 @@ def _func_elastomer_direct_dilate_contribution(
744747

745748
@qd.func
746749
def _func_elastomer_direct_shear_contribution(
747-
point_sensor: gs.qd_vec3,
748-
entry_sensor: gs.qd_vec3,
749-
probe_pos: gs.qd_vec3,
750-
probe_normal: gs.qd_vec3,
751-
depth: gs.qd_float,
752-
lam: gs.qd_float,
753-
scale: gs.qd_float,
750+
point_sensor, # : gs.qd_vec3,
751+
entry_sensor, # : gs.qd_vec3,
752+
probe_pos, # : gs.qd_vec3,
753+
probe_normal, # : gs.qd_vec3,
754+
depth: float,
755+
lam: float,
756+
scale: float,
754757
eps: float,
755-
) -> gs.qd_vec3:
758+
): # -> gs.qd_vec3:
756759
shear_disp = point_sensor - entry_sensor
757760
shear_tangent = _func_elastomer_tangent(shear_disp, probe_normal)
758761
contribution = qd.Vector.zero(gs.qd_float, 3)

genesis/engine/sensors/probe.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818

1919
@qd.func
20-
def func_noised_probe_radius(probe_radius: gs.qd_float, probe_radius_noise: gs.qd_float) -> gs.qd_float:
20+
def func_noised_probe_radius(probe_radius: float, probe_radius_noise: float) -> float:
2121
radius = probe_radius
2222
if probe_radius_noise > gs.EPS:
2323
radius = qd.max(

genesis/engine/solvers/rigid/collider/utils.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,10 +84,10 @@ def func_det3(
8484
@qd.func
8585
def func_point_in_geom_aabb(
8686
geoms_state: array_class.GeomsState,
87-
i_g: qd.i32,
88-
i_b: qd.i32,
89-
point: gs.qd_vec3,
90-
expansion: gs.qd_float = 0.0,
87+
i_g: int,
88+
i_b: int,
89+
point, # : gs.qd_vec3,
90+
expansion: float = 0.0,
9191
):
9292
aabb_min = geoms_state.aabb_min[i_g, i_b] - expansion
9393
aabb_max = geoms_state.aabb_max[i_g, i_b] + expansion

genesis/utils/image_exporter.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ def export_frame_single_camera(
145145
executor: Executor | None = None,
146146
):
147147
"""
148-
Export multiple frames from a single camera but different environments in parrallel as PNG files.
148+
Export multiple frames from a single camera but different environments in parallel as PNG files.
149149
150150
Parameters
151151
----------

genesis/utils/raycast_qd.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -46,17 +46,17 @@ def get_triangle_vertices(
4646

4747
@qd.func
4848
def bvh_ray_cast(
49-
ray_start,
50-
ray_dir,
51-
max_range,
52-
i_b,
49+
ray_start, # : gs.qd_vec3,
50+
ray_dir, # : gs.qd_vec3,
51+
max_range: float,
52+
i_b: int,
5353
bvh_nodes: qd.template(),
5454
bvh_morton_codes: qd.template(),
5555
faces_info: array_class.FacesInfo,
5656
verts_info: array_class.VertsInfo,
5757
fixed_verts_state: array_class.VertsState,
5858
free_verts_state: array_class.VertsState,
59-
eps,
59+
eps: float,
6060
):
6161
"""
6262
Cast a ray through a BVH and find the closest intersection.
@@ -124,11 +124,11 @@ def bvh_ray_cast(
124124

125125
@qd.func
126126
def ray_triangle_intersection(
127-
ray_start: gs.qd_vec3,
128-
ray_dir: gs.qd_vec3,
129-
v0: gs.qd_vec3,
130-
v1: gs.qd_vec3,
131-
v2: gs.qd_vec3,
127+
ray_start, # : gs.qd_vec3,
128+
ray_dir, # : gs.qd_vec3,
129+
v0, # : gs.qd_vec3,
130+
v1, # : gs.qd_vec3,
131+
v2, # : gs.qd_vec3,
132132
eps: float,
133133
):
134134
"""
@@ -193,10 +193,10 @@ def ray_triangle_intersection(
193193

194194
@qd.func
195195
def ray_aabb_intersection(
196-
ray_start: gs.qd_vec3,
197-
ray_dir: gs.qd_vec3,
198-
aabb_min: gs.qd_vec3,
199-
aabb_max: gs.qd_vec3,
196+
ray_start, # : gs.qd_vec3,
197+
ray_dir, # : gs.qd_vec3,
198+
aabb_min, # : gs.qd_vec3,
199+
aabb_max, # : gs.qd_vec3,
200200
eps: float,
201201
):
202202
"""

tests/test_rigid_physics.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5747,7 +5747,7 @@ def test_heterogeneous_articulated_structure_mismatch():
57475747

57485748

57495749
@pytest.mark.required
5750-
@pytest.mark.xfail(reason="autodiff: non-static range unsupported by Quadrants reverse-mode AD", strict=False)
5750+
@pytest.mark.xfail(reason="QuadrantsSyntaxError caused by dataclass argument parsing.")
57515751
@pytest.mark.parametrize("performance_mode", [True])
57525752
def test_hibernation_and_contact_islands(show_viewer):
57535753
"""

tests/test_viewer.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ def wait_for_viewer_events(viewer, condition_fn, timeout=300.0, sleep_interval=0
3232

3333
@pytest.mark.required
3434
@pytest.mark.skipif(not IS_INTERACTIVE_VIEWER_AVAILABLE, reason=SKIP_NO_VIEWER)
35-
@pytest.mark.xfail(sys.platform == "win32", raises=OpenGL.error.Error, reason="Invalid OpenGL context.")
3635
def test_interactive_viewer_disable_viewer_defaults():
3736
"""Test that keyboard shortcuts can be disabled in the interactive viewer."""
3837

0 commit comments

Comments
 (0)