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

Open
wants to merge 12 commits into
base: master
Choose a base branch
from
Open

Fullbox #4305

wants to merge 12 commits into from

Conversation

lukashappe
Copy link

Description

Implemented option to close an Axis3's outline box. When the new field fullbox = true for an Axis3-object the 3 remaining spines of the box are created in front of what is inside the space.

Example:

using GLMakie
using FileIO

fig = Figure()
brain = load(assetpath("brain.stl"))
ax = Axis3(fig[1, 1], fullbox=true)

mesh!(ax, brain, color = :gray80)

fig

example

Fixes #2349

Add option to close an Axis3's outline box

Type of change

Delete options that do not apply:

  • New feature (non-breaking change which adds functionality)

Framelines is drawn.
Added fields xspinecolor_4, yspinecolor_4 and
zspinecolor_4 to control the color of the 4th line
when the fullbox is drawn.
to_topscene_small_z_2d.
Createted function  to_topscene_big_z_2d to
project points into parent space with a big z value
Added variable fraimpoints_fullbox replicating
the functionality of assining to framepoints_main
using p7 and p8 and the function to_topscene_big_z_2d.
Added an if statement to add the front lines of the fullbox
if the field fullbox od Axis3 is true.
visibility by ax.fullbox && attr(:spinesvisible).
@lukashappe
Copy link
Author

Another question:

When set_theme!(theme_minimal()) and fullbox = true are applied together (I mean, it doesn't really make sense to do so?!), what is the desired behavior?

At the moment, the Result would be like this:

example1

@jkrumbiegel
Copy link
Member

The theme should set these new spines to invisible also.

Maybe fullbox is not the best name either because it doesn't say anything about the other spines, what about front_spines or so?

@jkrumbiegel
Copy link
Member

Hm now that I think about it, do we really need the separate Boolean keyword? Maybe it's enough to just have these three new visible attributes, and they're just false in all default themes.

@lukashappe
Copy link
Author

Hm now that I think about it, do we really need the separate Boolean keyword? Maybe it's enough to just have these three new visible attributes, and they're just false in all default themes.

I see the point. Would you suggest creating a theme (called full_box for example?!) to set all spines visible then?

@jkrumbiegel
Copy link
Member

jkrumbiegel commented Sep 4, 2024

I don't think a theme is warranted for three values, if people like their plots this way they're going to call set_theme! or so once, it's not something you're likely to do manually on every plot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Work in progress
Development

Successfully merging this pull request may close these issues.

Add option to close an Axis3's outline box
3 participants