-
Notifications
You must be signed in to change notification settings - Fork 439
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
Fix renderer scaling #3990
Merged
Merged
Fix renderer scaling #3990
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Codecov Report
@@ Coverage Diff @@
## main #3990 +/- ##
=======================================
Coverage 94.29% 94.30%
=======================================
Files 94 94
Lines 20330 20335 +5
=======================================
+ Hits 19171 19177 +6
+ Misses 1159 1158 -1 |
akaszynski
reviewed
Feb 9, 2023
akaszynski
approved these changes
Feb 9, 2023
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.
LGTM
banesullivan
added a commit
that referenced
this pull request
Feb 9, 2023
* Fix renderer scaling * Add safety check * Fix font issue * add test * Update pyvista/plotting/renderer.py --------- Co-authored-by: Alex Kaszynski <akascap@gmail.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
set_scale()
has been effectively broken for a long time, with at least me advising strongly against using it.These changes resolve #3695 and resolve #2993 implementing a different scaling strategy that should improve it to a more useable state.
For scaling, we currently set a model transform matrix on the camera and this is riddled with issues resulting in incorrect camera positions, incorrect lighting, messed up camera clipping planes, messed up text display, and more.
This new implementation is better but still not excellent.
Now when setting a scale on the
Renderer
viaset_scale()
, each actor in that renderer is scaled the same. This could have unexpected consequences if scaling an actor individually and then scaling the wholeRenderer
as the actor's scale will be overridden. However, I think the improvements from this interface outweigh the costs of the new implementation. Afterall, scaling seems to be a rarely used feature (likely due to all it's issues) and I added a note toset_scale()
's docs to indicate this issue.@akaszynski, I also changed up the logic on if 3D text is used with the bounds so as to not warn users with default arguments.
I would like to review this an backport to
release/0.38
for the0.38.2
release