Fix rendering of line cell templates #4752
Merged
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.
Identify the Bug or Feature request
Fixes #3692
Description of the Change
This PR fixes the calculation of the bounding box for
LineCellTemplate
which stops it from being cut off depending on the viewport.Also spent some time simplifying a few things while I tried to diagnose the underlying issue:
LineCellTemplate
is a bit more encapsulated now. E.g., it now manages its own quadrant rather than requiring the tool to figure that out.LineCellTemplate
fields aside frompathVertex
are now markedtransient
as they can be recalculated any time. Excluding<path>
and<pool>
from the XML significantly reduces its size.calcPath()
is now Bressenham's algorithm which requires less casework.getBounds()
now only checks the first and last points in the path, rather than checking all points for the smallest values.Possible Drawbacks
Should be none.
Documentation Notes
N/A
Release Notes
This change is