-
Notifications
You must be signed in to change notification settings - Fork 361
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
Expand 3-D basemap properties with back-walls and gridlines #3993
Conversation
let +g set xy plan color, while +x and +y optionally set the other two side.
Until now, the +b did twh things: Turned on 3-D backwalls if gridlines were requested and draw the 3-D box, sometimes overprinting the main illustration. This PR adds +B as an alternative. Same as +b but does not draw the 3-D box outline.
I find it a bit awkward to have a -B...+B... syntax. Can't we just make it +w for walls? |
Yes, I guess I did not spend too much time thinking about this. We have +b which does both walls, gridlines (if selected), and the corner box. I am OK with using +w to turn on walls. So then +b is +w plus the corner box. |
But +b is required for z grid lines so +w should do that grid lines activation as well. |
Yes, only difference between +b and +w is that +b draws the corner lines you dont like on top of things. |
Hope you like the +w, @joa-quim. |
Update: Given that I will be working on a PR that will allow painting of the backwall, I am not sure +w is needed at all. I think we want this behavior for 3-D plots:
This means +b is simply a modifier that adds the 3-D box and nothing more. This means it is not the default behavior and thus should meet with @seisman approval. The rest are improvements, @seisman. Please give me the go-ahead to finalized these changes via a comment here, and I will finish this PR to just deal with point 2; the coloring will be another PR. |
Yes, I am/will be working on the xy gridlines as well - had a zoom with Remko last night and ready to go. But trying to break this into smaller PRs so it will come as an enhancement to the gridlines. I think we only draw gridlines on the back if -Bz gridlines are set. If you just give -Bafg -Bzaf then you get no gridlines on the backwalls since you did not request z gridlines. |
Since no -Bz the +b just draws the cube @joa-quim hates. BTW, for modern mode I think -Bz with no arguments, like -B, should imply -Bzaf [currently gives an error]. |
Yes, I agree. |
I see. Well, we have no scheme for that. Let's see the many ways we want to backwalls to be
Possible ways to include your case:
Unresolved or hidden issues: Pen: I think the box pen uses the gridline pen. This seems certainly appropriate for the 3-D box part, but the outlines of the back wall should possibly be using the FRAME_PEN? I am not sure if that will look too bold, but since it is a 3-D plot it would seem reasonable to use that default for this and not have a separate +wpen modifier, no? |
Hm, the code seems to do this already:
but
So will debug that case. |
But switching the order to -Bz -Bafg works, since the other way sets a bool so that we dont go into this section of code again... So that needs some work. |
The PENs. See this. I think it looks better the way they have it. Just grid line pens even at the base of the walls. At least when the walls are painted. |
I disagree that it looks better by not clearly drawing the xy plane bounds as we do. That figure reeks of ugly, especially the crooked flat annotations. Anyway, sounds like this conundrum can only be solved by +w[pen] then since taste cannot be dictated. |
See #3993 for discussion.
Some good points here and some lack of clarity. I (foolishly) decided that +x will paint the xz plane and y will do yz, so +z would do xy, but of course that seems like bad syntax. Your thinking (x means yx, y means xz, and z means xy) is more consistent. So part of the issue above is taht confusion. I will change that. |
…4007) See #3993 for discussion. Co-authored-by: Paul Wessel <[email protected]>
Hi @seisman, I have addressed the definition of +x +y, that +g sets all three unless +x|y|z are also given, and I have adjusted if we plot the z-annotations "above" or "below" the axis depending on the axis and the quadrant. See if you agree with all of that - some of the choices are arbitrary but I have tried to ahve the annotation be "outside" the plot. For axis that end up in the back corner there really is no good chice. |
These combinations of axis (1-4) and quadrant (1-4) gives annotation that likely will overprint things that are plotted or will be hidden behind an opaque wall:
|
These changes look good to me. The +b issue isn't fixed yet:
|
Now the +b should work better since I now wait until the end to draw the lines. As you can see, the annotations for the axis when placed on the back point are printed on top of the inner wall, so they are not blocked by that opaque wall. I think I could possibly switch that around so you would only see the last tick and "4", but not sure if that is useful at all. If the user care to see those values they should go with axis 2 or 4 [default]. |
Looks good to me. One more error:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me.
I can't approve this PR, since I opened it.
@PaulWessel you pushed the commit 8246898 to the wrong branch. |
Ouch, how to undo? Can you do it? |
This reverts commit 8246898.
Done. |
Thanks, so I may approve this one now? |
OK to me. |
Master branch CI jobs fail with following errors:
Did you forget to update the original PS files? |
Until now, the +b did two things: Turned on 3-D back-walls if gridlines were requested and draw the 3-D box, sometimes overprinting the main illustration. This PR adds +B as an alternative. Same as +b but does not draw the 3-D box outline. This addresses one of the many points in #3983.
I left this as WIP because I would have preferred +b to do what +B does now, and let +B be the one that adds the corner lines, but that would break backwards compatibility.
What say you @joa-quim who started this?