Hi,
On 07/24/2013 12:24 PM, Pierre-Yves Menguy wrote:
Hello mitk-users,
I made progress in my task.
Now, each column hold a private RenderingManager & GlobalInteraction.
Sounds like the correct approach to me.
However, it means I can't return both RenderingManager in the
function mitk::IRenderWindowPart::GetRenderingManager().
I'm not sure if it is a big drawback, but it seems my app works fine.
Depending how the returned IRenderingManager* is used by calling
functions, everything might work fine or you might experience strange
behaviour. E.g. calling IRenderingManager::RequestUpdate() currently
probably only updates the render windows of one column.
You could either implement IRenderingManager yourself and dispatch the
calls to the "appropriate" rendering manager of one of the two columns
(or check which render windows has the focus and derive the "current"
column from there) or you could just have one column in your editor and
open the editor multiple times.
The last part of my previous email is still an open question :
As suggested in the documentation, I read a bit about the
mitk::Dispatcher class, but did not understood how to implement it.
The SliceNavigationController isn't derived from BaseData, so I
can't put it in a DataNode to be managed using a DataInteractor.
Is it work in progress ?
What is your motivation for using mitk::Dispatcher? Usually, you don't
need to use that class explicitly. Every mitk::BaseRenderer by default
has its own mitk::Dispatcher contained in its
mitk::BindDispatcherInteractor instance. By setting a mitk::DataStorage
to a mitk::BaseRenderer the connections to the interactors attached to a
data node get set-up automatically.
Best,
Sascha
Thanks,
Pierre-Yves Menguy.
2013/7/22 Pierre-Yves Menguy <[email protected]
<mailto:[email protected]>>
Hello mitk-users,
First of all, thanks for all the help the mailing list has already
gave me.
I am trying to achieve a multi-renderers editor. It is composed of
2 custom QWidget, each one holding 2 QmitkRenderWindow (tiled
vertically) and its StandaloneDataStorage.
My problem here is that mouse actions in the right column affects
the left column.
In the attached images I did different mouse actions to illustrate
the problem:
1 - initial state (plane mode is in rotation state)
2 - White plane rotation (in top-left renderer), red plane
rotation (bottom-left renderer), translation (top-right renderer).
I thought the problem lied in the fact that both SlicesRotator
(one instance per column) were listening to the global instance of
mitk::GlobalInteraction, as it also [affected/was affected by]
interactions in the StdMultiWidgetEditor.
After a long dive in MITK's code to explore the call stack, I
discovered that I was right : the RenderingManager and
GlobalInteraction are singletons classes, used everywhere.
I tried to instantiate a mitk::GlobalInteraction &
mitk::RenderingManager for the sole use of my editor. It
decorrelated my editor of the SMW, a good step forward, but both
columns were still linked.
However, if I instantiate a GlobalInteraction for each column,
renderers don't react to the mouse (hovering, clicking,
drag&dropping).
I made a quick search (will dive deeper after I send this mail),
but I haven't seen any methods in GlobalInteraction or
QmitkRenderWindow to link both of them.
As suggested in the documentation, I read a bit about the
mitk::Dispatcher class, but did not understood how to implement it.
The SliceNavigationController isn't derived from BaseData, so I
can't put it in a DataNode to be managed using a DataInteractor.
Is it work in progress ?
What I am missing ? Have I even done things correctly so far ?
Thanks for reading,
Pierre-Yves Menguy.
------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users