[vtkusers] vtkInteractorStyleImage.js and center mouse down

Sebastien Jourdain sebastien.jourdain at kitware.com
Fri Sep 14 18:03:01 EDT 2018


If indeed that list is missing those event, please do a PR.

Thx!

Seb

On Fri, Sep 14, 2018 at 2:59 PM Rick Frank <rickfrank at me.com> wrote:

>
> 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> 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> 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> 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> 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
>>>>>
>>>>> 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/5fb41681/attachment.html>


More information about the vtkusers mailing list