Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fullbox #4305

Merged
merged 84 commits into from
Dec 16, 2024
Merged

Fullbox #4305

Show file tree
Hide file tree
Changes from 6 commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
24499a5
Added field fullbox to controll if the full box of
lukashappe Sep 2, 2024
b6d1c33
Renamed function to_topscene_z_2d into
lukashappe Sep 2, 2024
478e9ab
Renamed varaiable framepoints to framepoints_main.
lukashappe Sep 2, 2024
830dbc2
Correctet/removed coments
lukashappe Sep 2, 2024
de3ea6c
Added spinecolor_4 to theme_black.
lukashappe Sep 2, 2024
8b1f957
Merge remote-tracking branch 'lukashappe/master' into fullbox
lukashappe Sep 3, 2024
421b1d3
Create the fullbox lines anyway, just controll
lukashappe Sep 3, 2024
e1406c5
Changed the name "fullbox" into "front_spines"
lukashappe Sep 3, 2024
66dc9b7
spine_color
lukashappe Sep 3, 2024
74317e1
Update CHANGELOG.md
lukashappe Sep 4, 2024
591cb16
update CI
ffreyer Oct 14, 2024
341fe52
update versions
ffreyer Oct 14, 2024
91646ab
dont test on branch push (already runs for prs against master)
ffreyer Oct 14, 2024
53b7e7e
fix versions
ffreyer Oct 14, 2024
f7a71e7
Merge branch 'master' into fullbox
SimonDanisch Oct 16, 2024
d6f9fdb
Updates for GeometryBasics refactor (#4319)
ffreyer Oct 16, 2024
89fa714
rename clear_faceviews
ffreyer Oct 16, 2024
adef598
update GeometryBasics dev branch
ffreyer Oct 16, 2024
8cb5985
Merge branch 'master' into breaking-0.22
ffreyer Oct 16, 2024
5a30e86
Merge branch 'master' into breaking-0.22
ffreyer Oct 16, 2024
6db5d75
Merge branch 'master' into breaking-0.22
ffreyer Oct 21, 2024
d4721be
update CI
ffreyer Oct 21, 2024
59a4f34
more CI bumps
ffreyer Oct 21, 2024
0d6532b
Merge branch 'master' into breaking-0.22
ffreyer Oct 21, 2024
8e2be19
fix relocatibility CI
ffreyer Oct 21, 2024
c164de6
Merge branch 'breaking-0.22' of https://github.com/MakieOrg/Makie.jl …
ffreyer Oct 21, 2024
d629c0e
fix 2x2 surface
ffreyer Oct 21, 2024
519c640
Merge branch 'master' into fullbox
SimonDanisch Oct 22, 2024
af4ce5e
Merge branch 'master' into breaking-0.22
ffreyer Oct 22, 2024
c0a9c5d
fix CairoMakie
ffreyer Oct 22, 2024
16e3536
fix WGLMakie 2x2 surface
ffreyer Oct 22, 2024
63d3a4f
Merge branch 'master' into breaking-0.22
ffreyer Oct 30, 2024
afb5929
fix picking tests
ffreyer Oct 30, 2024
e34c2b7
remove reliance on Rect mesh generation
ffreyer Oct 30, 2024
4c4d7e3
Metamesh and multi mesh loading (#4496)
SimonDanisch Oct 31, 2024
8886792
rename Tesselation -> Tessellation (#4564)
ffreyer Nov 4, 2024
030a5a4
try fix benchmark
ffreyer Nov 4, 2024
0e59252
Merge branch 'master' into breaking-0.22
ffreyer Nov 4, 2024
245a942
regenerate bundled
ffreyer Nov 4, 2024
9fc37d2
update Changelog [skip CI]
ffreyer Nov 5, 2024
d6b2dbc
Merge branch 'master' into breaking-0.22
ffreyer Nov 5, 2024
a04c2c7
Merge branch 'master' into breaking-0.22
ffreyer Nov 12, 2024
1de359b
Merge branch 'master' into breaking-0.22
ffreyer Nov 14, 2024
885b4f1
allow GeometryBasics 0.5 [skip ci]
ffreyer Nov 14, 2024
89a1d50
Change automatic color generation for Voronoiplot (#4357)
DanielVandH Nov 14, 2024
882b554
Merge branch 'master' into breaking-0.22
ffreyer Nov 15, 2024
6a7b297
add precompile for refreshcallback
ffreyer Nov 16, 2024
c1d80a0
try gc() between compile timings
ffreyer Nov 16, 2024
81e119c
update GeometryBasics, MeshIO versions
ffreyer Nov 19, 2024
98284c6
Merge branch 'master' into breaking-0.22
ffreyer Nov 19, 2024
1fec49e
update ShaderAbstractions & CI
ffreyer Nov 19, 2024
d131f76
Merge branch 'breaking-0.22' of https://github.com/MakieOrg/Makie.jl …
ffreyer Nov 19, 2024
95cef27
Merge branch 'master' into breaking-0.22
ffreyer Nov 19, 2024
06a0bd5
remove branches from relocatability
ffreyer Nov 19, 2024
75c8bb7
Merge branch 'breaking-0.22' of https://github.com/MakieOrg/Makie.jl …
ffreyer Nov 19, 2024
f255e03
remove dev branches from docs
ffreyer Nov 19, 2024
a4fea2c
Merge branch 'master' into breaking-0.22
ffreyer Nov 20, 2024
468555a
Split marker_offset from quad_offset (#4594)
ffreyer Nov 20, 2024
f8e5519
Merge branch 'master' into breaking-0.22
ffreyer Nov 23, 2024
8f6b037
Merge branch 'master' into breaking-0.22
SimonDanisch Nov 28, 2024
abcb25f
Merge branch 'master' into breaking-0.22
SimonDanisch Nov 28, 2024
a0d3ecd
Add `transform_marker` attribute to meshscatter (#4606)
ffreyer Nov 28, 2024
48da477
Merge branch 'master' into breaking-0.22
ffreyer Nov 28, 2024
eca0f7f
Add zooming & translation controls to Axis3 (#4131)
ffreyer Nov 29, 2024
fa1c5cb
Fix Float32 constraints in poly pipeline (#4615)
asinghvi17 Nov 29, 2024
0b9fd11
Merge branch 'master' into breaking-0.22
ffreyer Dec 2, 2024
67cfe07
Merge branch 'master' into breaking-0.22
ffreyer Dec 2, 2024
557310f
Merge branch 'master' into breaking-0.22
ffreyer Dec 9, 2024
199fe7d
Merge branch 'master' into breaking-0.22
SimonDanisch Dec 11, 2024
d8c4dbd
try fixing memory leak
SimonDanisch Dec 12, 2024
98e6c10
aggressively clean up objects
SimonDanisch Dec 12, 2024
2c00afb
check screen outside animationframe + upload electron logs in CI
SimonDanisch Dec 12, 2024
5162a26
Merge branch 'master' into breaking-0.22
SimonDanisch Dec 12, 2024
3a4dd31
Clean up CI + CHangelog
SimonDanisch Dec 12, 2024
62d7eff
Merge branch 'master' into fullbox
ffreyer Dec 12, 2024
1a6ff6c
Update CHANGELOG.md
SimonDanisch Dec 12, 2024
9a8208c
Merge branch 'breaking-0.22' into fullbox
ffreyer Dec 12, 2024
0ef4ae5
fix merge, cleanup
ffreyer Dec 12, 2024
898466c
add refimg test
ffreyer Dec 12, 2024
bed5163
Merge branch 'master' into fullbox
ffreyer Dec 13, 2024
4e7e1c1
add Sphere to verify z-order and check for artifacts
ffreyer Dec 15, 2024
0901791
fiddle with rendering so that WGLMakie, CairoMakie order frame lines …
ffreyer Dec 16, 2024
f5e9249
Merge branch 'master' into fullbox
ffreyer Dec 16, 2024
d5f70c9
Merge branch 'master' into fullbox
ffreyer Dec 16, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 39 additions & 6 deletions src/makielayout/blocks/axis3d.jl
Original file line number Diff line number Diff line change
Expand Up @@ -404,7 +404,7 @@ function add_gridlines_and_frames!(topscene, scene, ax, dim::Int, limits, tickno
visible = attr(:gridvisible), inspectable = false)


framepoints = lift(limits, scene.camera.projectionview, scene.viewport, min1, min2, xreversed, yreversed, zreversed
framepoints_main = lift(limits, scene.camera.projectionview, scene.viewport, min1, min2, xreversed, yreversed, zreversed
) do lims, _, pxa, mi1, mi2, xrev, yrev, zrev
o = pxa.origin

Expand All @@ -427,27 +427,60 @@ function add_gridlines_and_frames!(topscene, scene, ax, dim::Int, limits, tickno
# we are going to transform the 3d frame points into 2d of the topscene
# because otherwise the frame lines can
# be cut when they lie directly on the scene boundary
to_topscene_z_2d.([p1, p2, p3, p4, p5, p6], Ref(scene))
to_topscene_small_z_2d.([p1, p2, p3, p4, p5, p6], Ref(scene))
end
framepoints_fullbox = lift(limits, scene.camera.projectionview, scene.viewport, min1, min2, xreversed, yreversed, zreversed
) do lims, _, pxa, mi1, mi2, xrev, yrev, zrev
o = pxa.origin

rev1 = (xrev, yrev, zrev)[d1]
rev2 = (xrev, yrev, zrev)[d2]

mi1 = mi1 ⊻ rev1
mi2 = mi2 ⊻ rev2

f(mi) = mi ? minimum : maximum

p7 = dpoint(minimum(lims)[dim], f(!mi1)(lims)[d1], f(!mi2)(lims)[d2])
p8 = dpoint(maximum(lims)[dim], f(!mi1)(lims)[d1], f(!mi2)(lims)[d2])

# we are going to transform the 3d frame points into 2d of the topscene
# because otherwise the frame lines can
# be cut when they lie directly on the scene boundary
to_topscene_big_z_2d.([p7, p8], Ref(scene))
end
colors = Observable{Any}()
map!(vcat, colors, attr(:spinecolor_1), attr(:spinecolor_2), attr(:spinecolor_3))
framelines = linesegments!(topscene, framepoints, color = colors, linewidth = attr(:spinewidth),
framelines = linesegments!(topscene, framepoints_main, color = colors, linewidth = attr(:spinewidth),
# transparency = true,
visible = attr(:spinesvisible), inspectable = false)

if ax.fullbox[] == true
lukashappe marked this conversation as resolved.
Show resolved Hide resolved
framelines = linesegments!(topscene, framepoints_fullbox, color = attr(:spinecolor_4), linewidth = attr(:spinewidth),
# transparency = true,
visible = attr(:spinesvisible), inspectable = false)
end
return gridline1, gridline2, framelines
end

# this function projects a point from a 3d subscene into the parent space with a really
# small z value
function to_topscene_z_2d(p3d, scene)
function to_topscene_small_z_2d(p3d, scene)
o = scene.viewport[].origin
p2d = Point2f(o + Makie.project(scene, p3d))
# -10000 is an arbitrary weird constant that in preliminary testing didn't seem
# to clip into plot objects anymore
Point3f(p2d..., -10000)
end

# this function projects a point from a 3d subscene into the parent space with a really
# big z value
function to_topscene_big_z_2d(p3d, scene)
o = scene.viewport[].origin
p2d = Point2f(o + Makie.project(scene, p3d))
Point3f(p2d..., 10000)
end


function add_ticks_and_ticklabels!(topscene, scene, ax, dim::Int, limits, ticknode, miv, min1, min2, azimuth, xreversed, yreversed, zreversed)

dimsym(sym) = Symbol(string((:x, :y, :z)[dim]) * string(sym))
Expand Down Expand Up @@ -507,7 +540,7 @@ function add_ticks_and_ticklabels!(topscene, scene, ax, dim::Int, limits, tickno
# be cut when they extend beyond the scene boundary
tick_segments_2dz = lift(topscene, tick_segments, scene.camera.projectionview, scene.viewport) do ts, _, _
map(ts) do p1_p2
to_topscene_z_2d.(p1_p2, Ref(scene))
to_topscene_small_z_2d.(p1_p2, Ref(scene))
end
end

Expand Down
10 changes: 9 additions & 1 deletion src/makielayout/types.jl
Original file line number Diff line number Diff line change
Expand Up @@ -1695,7 +1695,15 @@ end
"The color of y spine 3 opposite of the ticks"
yspinecolor_3 = :black
"The color of z spine 3 opposite of the ticks"
zspinecolor_3 = :black
zspinecolor_3 = :black
"Controls if the 4. Spines are created to close the outline box"
fullbox = false
"The color of x spine 4"
xspinecolor_4 = :black
"The color of y spine 4"
yspinecolor_4 = :black
"The color of z spine 4"
zspinecolor_4 = :black
"The x spine width"
xspinewidth = 1
"The y spine width"
Expand Down
3 changes: 3 additions & 0 deletions src/themes/theme_black.jl
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ function theme_black()
xspinecolor_3 = :white,
yspinecolor_3 = :white,
zspinecolor_3 = :white,
xspinecolor_4 = :white,
yspinecolor_4 = :white,
zspinecolor_4 = :white,
xticklabelpad = 3,
yticklabelpad = 3,
zticklabelpad = 6,
Expand Down