[vtkusers] vtkInteractorStyleImage.js and center mouse down

Rick Frank rickfrank at me.com
Fri Sep 14 17:51:16 EDT 2018


It's a UI decoupling  model - view kind of thing....

in our interactorStyleSlice subclass, we want to update the slice number 
on the UI.

This means setting the text in the div element, which we don't want to 
expose directly in the interactor.

So, when the observer gets the interaction event on a mouse wheel, it 
then brokers to the UI to update the current slice by fetching the 
current slice from the data model....

I was able to fix it by adding

....................

'Move3D',
   'StartInteractionEvent',
   'InteractionEvent',
   'EndInteractionEvent',

to the end of the events and then calling

viewportData.pluginData.observer  = 
VTKUtils.ohifInteractorObserver.newInstance();
  viewportData.pluginData.observer.setInteractor(ourSliceInteractorStyle);
  viewportData.pluginData.observer.setEnabled(1);


and now my observer gets the events.

I can push that change and do a pull request if you think that's the 
correct fix.


Thanks

Rick




On 09/14/2018 05:34 PM, Sebastien Jourdain wrote:
> I guess the question is what do you want to do with 
> handleInteractionEvent ?
>
> It is true that no code is using it, but mostly because there is not 
> much usage of it right now. Usually we care of a mousePress or else.
>
> On Fri, Sep 14, 2018 at 2:29 PM Rick Frank <rickfrank at me.com 
> <mailto:rickfrank at me.com>> wrote:
>
>     The interactor styles Invoke the events.....
>
>
>       case States.IS_PAN:
>             publicAPI.handleMousePan(renderer, pos);
>             publicAPI.invokeInteractionEvent({ type:
>     'InteractionEvent' });
>             break;
>
>
>     etc
>
>
>     but I can't find an example of a receiver (observer) of the
>     InteractionEvent....
>
>
>     somewhere that implements handleInteractionEvent....
>
>     I searched vtk.js for handleInteractionEvent and didn't find
>     anything...
>
>     ?
>
>     Thanks
>
>
>     Rick
>
>
>
>
>
>     On 09/14/2018 05:14 PM, Sebastien Jourdain wrote:
>>     Your interactorObserver only need to implement
>>     handleStartInteractionEvent, handleInteractionEvent,
>>     handleEndInteractionEvent.
>>     They will automatically be linked.
>>
>>     Look at any other InteractorStyle implementation if need be.
>>
>>     Seb
>>
>>     On Fri, Sep 14, 2018 at 2:06 PM Rick Frank <rickfrank at me.com
>>     <mailto:rickfrank at me.com>> wrote:
>>
>>         Thanks.
>>
>>
>>         This event list seems to be missing
>>
>>
>>         const START_INTERACTION_EVENT = { type:
>>         'StartInteractionEvent' };
>>         const INTERACTION_EVENT = { type: 'InteractionEvent' };
>>         const END_INTERACTION_EVENT = { type: 'EndInteractionEvent' };
>>
>>
>>         and so function vtkInteractorObserver::subscribeToEvents() {)
>>
>>         doesn't get them.
>>
>>         I think this is a bug, or am I missing something?
>>
>>         I'm trying to create an interactor observer and I can get the
>>         interaction events....
>>
>>
>>         Thanks
>>
>>         Rick
>>
>>
>>         On 09/13/2018 02:12 PM, Sebastien Jourdain wrote:
>>>         I think it is named MiddleButton. You can find the full list
>>>         here:
>>>         https://github.com/Kitware/vtk-js/blob/master/Sources/Rendering/Core/RenderWindowInteractor/index.js#L28-L56
>>>
>>>         On Thu, Sep 13, 2018 at 11:00 AM Rick Frank
>>>         <rickfrank at me.com <mailto:rickfrank at me.com>> wrote:
>>>
>>>             For the time being I have a subclass of
>>>             vtkInteractorStyleTrackballCamera which is a crib of
>>>             vtkInteractorStyleSlice for handing slice views....
>>>
>>>
>>>             I can get:
>>>
>>>              publicAPI.handleRightButtonPress = (callData) => {
>>>                     const pos = callData.position;
>>>                     model.previousPosition = pos;
>>>                     publicAPI.startDolly();
>>>                 };
>>>
>>>             to override RightButton
>>>
>>>             but there doesn't seem to be a
>>>
>>>              publicAPI.handleCenterButtonPress = (callData) => {
>>>                  ....
>>>                 };
>>>
>>>
>>>             ....
>>>
>>>             Am I missing something on how to get the center button?
>>>             I can get the wheel....
>>>
>>>
>>>             Thanks
>>>
>>>             Rick
>>>
>>>
>>>             On 09/13/2018 01:21 PM, Sebastien Jourdain wrote:
>>>>             The manipulator infrastructure come from ParaView and
>>>>             has never been pushed to VTK on the c++ side.
>>>>             Anyhow, we have a ManipulatorStyle on which we register
>>>>             a bunch of manipulators to custom build our style
>>>>             binding (pan on left-button, rotate on left-button+Alt,
>>>>             ...).
>>>>             That's the high level concept.
>>>>
>>>>             So either you provide a XXXXStyle that should handle
>>>>             everything or use a ManipulatorStyle on which you
>>>>             register manipulators...
>>>>
>>>>
>>>>
>>>>             On Thu, Sep 13, 2018 at 10:02 AM Rick Frank via
>>>>             vtkusers <vtkusers at public.kitware.com
>>>>             <mailto:vtkusers at public.kitware.com>> wrote:
>>>>
>>>>                 Hi,
>>>>
>>>>                 I'm using vtkInteractorStyleImage and notice that I
>>>>                 don't have access to
>>>>                 a center mouse down (for Pan)...
>>>>
>>>>
>>>>                 but the Manipulators have center mouse down...
>>>>
>>>>
>>>>                 Manipulators seems to be a new thing in the vtk.js
>>>>
>>>>
>>>>                 How do they relate to the interactors? Is there a
>>>>                 way to get a center
>>>>                 mouse down in my interactorStyleImage subclass
>>>>
>>>>
>>>>                 Rick
>>>>
>>>>
>>>>
>>>>                 _______________________________________________
>>>>                 Powered by www.kitware.com <http://www.kitware.com>
>>>>
>>>>                 Visit other Kitware open-source projects at
>>>>                 http://www.kitware.com/opensource/opensource.html
>>>>
>>>>                 Please keep messages on-topic and check the VTK FAQ
>>>>                 at: http://www.vtk.org/Wiki/VTK_FAQ
>>>>
>>>>                 Search the list archives at:
>>>>                 http://markmail.org/search/?q=vtkusers
>>>>
>>>>                 Follow this link to subscribe/unsubscribe:
>>>>                 https://public.kitware.com/mailman/listinfo/vtkusers
>>>>
>>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://public.kitware.com/pipermail/vtkusers/attachments/20180914/e44a7a5e/attachment.html>


More information about the vtkusers mailing list