Page MenuHomePhabricator

[mxn multi widget] Image cropper shows weird behavior
Closed, ResolvedPublic

Description

When loading an image while the mxnMultiWidget and the ImageCropper are opened the following happens: The crosshair is changed such that it represents now some kind of bounding box handles.
Creating a new bouning box will then correctly show the green bounding box area with handles but the old crosshair (plane nodes) is still messed up.

Revisions and Commits

rMITK MITK
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision

Event Timeline

kalali triaged this task as Normal priority.Nov 16 2022, 4:25 PM
kalali created this task.

It seems as if there is something wrong with mitk::CoreObjectFactory::CreateMapper but I have to go a little bit deeper. Maybe this is also related to {D755} because the crosshair planes do not get a specific mapper set.

Somehow it seems as if the BoundingShapeObjectFactory is the last factory to be checked for extra factories to create valid mappers and this one is then used (it overwrites previously existing mappers). I wonder why this does not happen for the StdMultiWidget.

When initializing the plane nodes inside CrosshairManager DataNode::SetMapper is called which results in the node's m_Mapper variable to hold a PlaneGeometryDataMapper2D at position 1 (mapper slot id is Standard2D = 1).
But if DataNode::GetMapper is called later with MapperSlotId = 1 the list m_Mappers is completely empty and a new mapper is created via the BoundingShapeObjectFactory.

kalali added a revision: Restricted Differential Revision.Nov 17 2022, 5:08 PM