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.
Description
Revisions and Commits
rMITK MITK | |||
Restricted Differential Revision | rMITK84009201569b Reset mapper for crosshair plane nodes | ||
Restricted Differential Revision | rMITK92a5bee04caa Remove unnecessary layer information | ||
Restricted Differential Revision | rMITK96b30f5acacf Reset mapper everytime the data is changed |
Related Objects
Event Timeline
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.