HomePhabricator
Diffusion MITK 946ee54121a7

Equality checks when setting data storage for renderers

Description

Equality checks when setting data storage for renderers

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>

Details

Provenance
espakAuthored on Oct 5 2016, 5:56 PM
gochCommitted on Nov 29 2016, 1:58 PM
gochPushed on Nov 29 2016, 2:01 PM
Parents
rMITKc5b9d75a7660: Merge branch 'T20070-fix-cpu-volume-rendering-crash'
Branches
Unknown
Tags
Unknown