Using the "Data" drop down menu inside a render window widget always shows the helper-nodes that form the crosshair. We should add a NodePredicate, similar to the DataManager, to only show the important data nodes.
Description
Description
Revisions and Commits
Revisions and Commits
rMITK MITK | |||
Restricted Differential Revision | rMITKfee6851a4b20 Correctly use the node predicates for the render window data storage inspector | ||
Restricted Differential Revision | rMITKad189cd92af8 Remove custom function and rely on base class function | ||
Restricted Differential Revision | rMITK474c7a662bc8 Set a custom node predicate to filter out helper nodes | ||
Restricted Differential Revision | rMITK1d58c11df634 Combine the node predicates for node filtering | ||
Restricted Differential Revision | rMITK7aa4e29633e6 Simplify the utilities-nodepredicate |
Status | Assigned | Task | ||
---|---|---|---|---|
Resolved | kalali | T29297 [mxn multi widget] Optimize data accessibility inside render windows | ||
Resolved | kalali | T29331 Use NodePredicates for the render window data node selector |
Event Timeline
Comment Actions
I looked into this and I was confused: the used QmitkRenderWindowDataStorageTreeModel already contains a node predicate for filtering out the helper nodes. When creating the mxnmultiwidget (or a new render window) there are no plane geometries (the crosshair) being added to the storage model.
When I looked a bit deeper, I found the following:
- the NodeAdded function of the QmitkAbstractDataStorageModel is connected to the AddNodeEvent of the data storage
- this is a pure virtual function and needs to be implemented by subclasses
- in this case it is implemented via the QmitkRenderWindowDataStorageTreeModel
- here no predicate is checked
- this also holds true for QmitkDataStorageSimpleTreeModel::NodeAdded