Equality checks when setting data storage for renderers #150
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.
Then the data storage of a renderer is set, a bounding box is calculated
from the currently visible data nodes in the data storage, and the renderer
is updated. The setters do not check if the 'new' data storage is the same
as the current one, which results that the bounding box is recalculated
and the renderer is updated again, unnecessarily.
This changes adds a check to the setters to skip the update if the data
storage is the same.
The data storage is set from the constructor of the renderer (to the data
storage of the rendering manager), and it is also set by explicit
SetDataStorage calls after the renderers have been constructed. Ideally,
the repeated calls to the setter should be eliminated, but with this
change the repeated calls will return immediately, at least.
Signed-off-by: Miklos Espak m.espak@ucl.ac.uk