Skip to content

Commit d77c537

Browse files
authored
Add test for scatter rotation/billboarding edge case (#4852)
* tweak refimg to test scatter rotation edge case * edge case cannot fail with vector of rotations
1 parent 2fe1ac4 commit d77c537

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

ReferenceTests/src/tests/attributes.jl

+14-4
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,22 @@
66
fig
77
end
88

9-
@reference_test "(mesh)scatter with NaN rotation and markersize" begin
10-
scene = Scene(size = (150, 300))
9+
@reference_test "(mesh)scatter with NaN rotation and markersize, edge cases" begin
10+
parent = Scene(size = (300, 300))
11+
scene = Scene(parent, viewport = Rect2f(0,0, 150, 300))
1112
xs = [-0.6, 0.0, 0.6]
1213
scatter!(scene, xs, fill( 0.75, 3), marker = :ltriangle, rotation = [0.5, NaN, -0.5], markersize = 50)
1314
scatter!(scene, xs, fill( 0.25, 3), marker = :ltriangle, markersize = [50, NaN, 50])
1415
meshscatter!(scene, xs, fill(-0.25, 3), marker = Rect2f(-0.5,-0.5,1,1), rotation = [0.5, NaN, -0.5], markersize = 0.2)
1516
meshscatter!(scene, xs, fill(-0.75, 3), marker = Rect2f(-0.5,-0.5,1,1), markersize = [0.2, NaN, 0.2])
16-
scene
17-
end
17+
18+
# Edge case: Quaternionf(0,0,0,1) should not default billboard to true
19+
scene3 = Scene(parent, viewport = Rect2f(150, 0, 150, 300), camera = cam3d!)
20+
scatter!(scene3, (0.5, 0.5, 0), marker = Rect,
21+
rotation = Quaternionf(0.01,0,0,1), markersize = 0.5, markerspace = :data)
22+
scatter!(scene3, (-0.5, 0.5, 0), marker = Rect,
23+
rotation = Quaternionf(0,0,0,1), markersize = 0.5, markerspace = :data)
24+
scatter!(scene3, [-0.5, 0.5], [-0.5, -0.5], [0, 0], marker = Rect, markersize = 0.5, markerspace = :data)
25+
26+
parent
27+
end

0 commit comments

Comments
 (0)