[vtkusers] Issues with picking in VTK Java on Mac OS X

Kevin Milner kmilner at usc.edu
Fri Feb 3 18:23:58 EST 2017


The JoglConeRendering sample program works perfectly for me on Linux, on 
the Mac the window opens but is blank. After a few seconds it exits with 
this output:

We are using com.jogamp.opengl.awt.GLCanvas for the rendering.
Assertion failed: ("pre: is_bound" && this->IsBound()), function 
SendParameters, file 
/Users/sanskriti/git/vtk/Rendering/OpenGL2/vtkTextureObject.cxx, line 617.
Abort trap: 6

On 02/03/2017 03:07 PM, Sebastien Jourdain wrote:
> Does the sample application that get build in vtk.jar with the box 
> widget works?
> Meaning you can grab the control balls to resize the box?
>
> The main is vtk.sample.rendering.JoglConeRendering
>
> On Fri, Feb 3, 2017 at 4:02 PM, Kevin Milner <kmilner at usc.edu 
> <mailto:kmilner at usc.edu>> wrote:
>
>     OK I have finally successfully rebuilt VTK with Java support from
>     git/master (details in below thread that I left off of the list),
>     but unfortunately both Picking issues still exist:
>
>     *
>     vtkJoglPanelComponent.getRenderWindowInteractor().GetEventPosition()
>     still returns bogus y values (e.g. >1300 for a window of height 700)
>     * once the above is addressed via previously described workaround,
>     VTK still thinks that I clicked halfway between where I actually
>     clicked and the lower left corner of the window (as demonstrated
>     in this video: http://sendvid.com/yqz1qww2
>     <https://urldefense.proofpoint.com/v2/url?u=http-3A__sendvid.com_yqz1qww2&d=DwMFaQ&c=clK7kQUTWtAVEOVIgvi0NU5BOUHhpN0H8p7CSfnc_gI&r=Ut0P5Kplo2cIO9V0et1UBQ&m=lvusUcH5XpvWsfAmqSunwqjvP_-ws0ZBDLiQw1qRlto&s=I1Kd2Pc44OMS21I7TH72jEXUz0YP36zK-m8npVlDEEs&e=>)
>
>     So unfortunately Sebastien's commit didn't solve my issues.
>
>     I'm testing on a MacBook Pro (Retina, 13-inch, Early 2013) with
>     OSX Yosemite 10.10.5, but have experienced the same behavior on
>     other Macs.
>
>     Any other ideas? Any information that I can provide that would be
>     helpful?
>
>     Thanks,
>     Kevin
>
>
>     On 02/03/2017 12:41 PM, Sebastien Jourdain wrote:
>>     can you try on git/master? I remember something about the wrapper
>>     that was buggy at some point.
>>
>>     On Fri, Feb 3, 2017 at 1:18 PM, Kevin Milner <kmilner at usc.edu
>>     <mailto:kmilner at usc.edu>> wrote:
>>
>>         I'm running into some compilation issues trying to build the
>>         latest version, both on the Mac and on Linux. Have you
>>         encountered this?
>>
>>         VTK-7.1.0/build/java/vtk/sample/rendering/JoglConeRendering.java:77:
>>         error: cannot find symbol
>>                 scalarBar.GetScalarBarActor().SetTitle("Example");
>>                          ^
>>           symbol:   method GetScalarBarActor()
>>           location: variable scalarBar of type vtkScalarBarWidget
>>
>>         I'm using the latest JOGL jars, 2.3, specifying paths to
>>         jogl-all.jar and gluegen-rt.jar.
>>
>>         Thanks,
>>         Kevin
>>
>>
>>         On 02/02/2017 09:35 AM, Sebastien Jourdain wrote:
>>>         We have, and our dashboard were producing them for a while,
>>>         but when we switch to buildbot all that went away.
>>>
>>>         In fact, I would even love to publish them to maven but
>>>         never get funding support for it. And very few people at
>>>         Kitware know how to deal with Java.
>>>
>>>         On Thu, Feb 2, 2017 at 10:30 AM, Kevin Milner
>>>         <kmilner at usc.edu <mailto:kmilner at usc.edu>> wrote:
>>>
>>>             Hmm, OK, I didn't actually build the libraries (one of
>>>             my colleagues did), I just looked in my VTK lib folder
>>>             on the Mac and there were files named, for example,
>>>             "libvtkalglib-7.0.1.dylib", so that's where I got 7.0.1
>>>             from. But they were built right around July 2016 so I
>>>             imagine that they don't include the fix! I'll report
>>>             back tomorrow once I figure out how to build it on a
>>>             Mac. I'm not sure which OS the Mac I'm using for testing
>>>             is but I imagine that it's not Sierra as it's a couple
>>>             years old and likely has not been kept up to date. I'm a
>>>             Linux user and not up to date on anything Mac related.
>>>             Will report back tomorrow.
>>>
>>>             Have you guys ever considered releasing binaries of
>>>             VTK-Java? Would be really helpful!
>>>
>>>             Thanks,
>>>             Kevin
>>>
>>>
>>>             On 2/2/2017 9:23 AM, Sebastien Jourdain wrote:
>>>>             It seems like 7.1.0 does have my change but not 7.0.0.
>>>>             Which make me think it might be a Sierra issue if you
>>>>             are using 7.1 not 7.0.1 since the latter does not exist.
>>>>
>>>>             Which OS are you on? (When you will get back to it ;-)
>>>>
>>>>             On Thu, Feb 2, 2017 at 10:13 AM, Kevin Milner
>>>>             <kmilner at usc.edu <mailto:kmilner at usc.edu>> wrote:
>>>>
>>>>                 Thanks Sebastien!
>>>>
>>>>                 I'm not near a Mac today but will try rebuilding
>>>>                 tomorrow to see if your fix does the trick. I'm
>>>>                 currently on 7.0.1, is your patch included in the
>>>>                 7.1 release or should I check out the latest dev
>>>>                 version? I'll report back to the list when I find
>>>>                 out if it works.
>>>>
>>>>                 Thanks a lot,
>>>>                 Kevin
>>>>
>>>>
>>>>                 On 2/1/2017 4:58 PM, Sebastien Jourdain wrote:
>>>>>                 Hi Kevin,
>>>>>
>>>>>                 The issue seems to be related to the retina
>>>>>                 display and maybe macOS sierra.
>>>>>
>>>>>                 Which version of VTK are you using? I know that I
>>>>>                 fixed some picking issue on mac with retina
>>>>>                 display before Sierra.
>>>>>
>>>>>                 The change I'm talking about is:
>>>>>
>>>>>                     commit b6df993770cfcd9a69a48a2730415a992d698c5b
>>>>>                     Author: Sebastien Jourdain
>>>>>                     <sebastien.jourdain at kitware.com
>>>>>                     <mailto:sebastien.jourdain at kitware.com>>
>>>>>                     Date:   Fri Jul 8 09:45:58 2016 -0400
>>>>>                         Fix VTK/Java JOGL
>>>>>
>>>>>                         - Update JOGL version to 2.32
>>>>>                         - Update documentation on how to download
>>>>>                     the JOGL jars with Maven
>>>>>                         - Add support for Retina display
>>>>>
>>>>>
>>>>>                 Ideally, you should make sure you have this commit
>>>>>                 in your VTK and that is working on system older
>>>>>                 than Sierra. Then if Sierra is the issue, I think
>>>>>                 more advanced debugging may be require. Although,
>>>>>                 VTK compiled on an older OS should work just fine
>>>>>                 on Sierra.
>>>>>
>>>>>                 Let me know if you find out more about it.
>>>>>
>>>>>                 Seb
>>>>>
>>>>>
>>>>>                 On Wed, Feb 1, 2017 at 5:19 PM, Kevin Milner
>>>>>                 <kmilner at usc.edu <mailto:kmilner at usc.edu>> wrote:
>>>>>
>>>>>                     Hello. I develop a VTK Java application for
>>>>>                     visualizing georeferenced earthquake data,
>>>>>                     SCEC-VDO (http://scecvdo.usc.edu/). One of the
>>>>>                     important features of this software is the
>>>>>                     ability to click on elements of the 3D view to
>>>>>                     perform actions or view information. This
>>>>>                     works perfectly on Windows and Linux, but does
>>>>>                     not work on Macs. I believe that this is due
>>>>>                     to an internal bug in the Mac version of VTK.
>>>>>                     We use the vtkJoglPanelComponent to embed the
>>>>>                     3D view into our Java application.
>>>>>
>>>>>                     Here is the code that I use to pick items
>>>>>                     (where renderWindow is a vtkJoglPanelComponent):
>>>>>
>>>>>                     renderWindow.getComponent().addMouseListener(new
>>>>>                     MouseAdapter() {
>>>>>                     public void mousePressed(MouseEvent e) {
>>>>>                       int[] clickPos =
>>>>>                     renderWindow.getRenderWindowInteractor().GetEventPosition();
>>>>>
>>>>>                       int x = clickPos[0];
>>>>>                       int y = clickPos[1];
>>>>>
>>>>>                     cellPicker.Pick(x, y, 0,
>>>>>                     renderWindow.getRenderer());
>>>>>                       if (cellPicker.GetActor() != null) {
>>>>>                           // do stuff
>>>>>                           ...
>>>>>                       }
>>>>>                                 }
>>>>>                             });
>>>>>
>>>>>                     The first bug is that the y value of
>>>>>                     getRenderWindowInteractor().GetEventPosition()
>>>>>                     is just flat out wrong on the Mac (correct on
>>>>>                     Windows and Linux). For example, if I click
>>>>>                     near the top of my window with height 700, if
>>>>>                     will give me a y value that is greater than
>>>>>                     1300! It should actually be very small, as y
>>>>>                     should be zero at the top of the window and
>>>>>                     700 at the bottom of the window. I can get
>>>>>                     around this, and make it match the position on
>>>>>                     Linux/Windows with the following fix using the
>>>>>                     mouseEvent (e) and the height of the 3D view
>>>>>                     component:
>>>>>
>>>>>                       int height =
>>>>>                     renderWindow.getComponent().getHeight();
>>>>>                       int calcY = (height - e.getY()) - 1;
>>>>>                       int x = e.getX();
>>>>>                       int y = calcY;
>>>>>
>>>>>                     Now when I click on a location in the 3D
>>>>>                     viewer, the x/y coordinates match the results
>>>>>                     on Linux/Windows. But picking actors still
>>>>>                     doesn't work. Instead, VTK thinks that I have
>>>>>                     clicked somewhere roughly between where I
>>>>>                     actually clicked and the bottom left corner.
>>>>>                     So if I click on the top right corner of the
>>>>>                     viewer, it thinks that I clicked in the
>>>>>                     middle. If I click on the top left, if thinks
>>>>>                     that I clicked middle left. If I click on the
>>>>>                     middle of the viewer, it thinks that I clicked
>>>>>                     1/4 up and right of the lower left corner. I
>>>>>                     have posted a video which demonstrates this bug:
>>>>>
>>>>>                     http://sendvid.com/yqz1qww2
>>>>>                     <https://urldefense.proofpoint.com/v2/url?u=http-3A__sendvid.com_yqz1qww2&d=DwMFaQ&c=clK7kQUTWtAVEOVIgvi0NU5BOUHhpN0H8p7CSfnc_gI&r=Ut0P5Kplo2cIO9V0et1UBQ&m=PGkWSB3OSZwzyAuWZpoUrTh6vHu2mHd7spHGazrOstc&s=dGJsjDO5nIImoI6O_DyWJiDnyBMEcib-RQEYnrPh9rY&e=>
>>>>>
>>>>>                     In this video, whatever actor is clicked turns
>>>>>                     red. This works as expected on Windows/Linux,
>>>>>                     both with and without the x/y fix mentioned
>>>>>                     above. Without the previous fix on a Mac, the
>>>>>                     behavior is similar but centered around the
>>>>>                     top left corner and sometimes doesn't detect
>>>>>                     clicks at all (due to y values which make no
>>>>>                     sense).
>>>>>
>>>>>                     Any ideas what could be going on? I have
>>>>>                     experienced this behavior on all 4 Mac's on
>>>>>                     which I have tried the software.
>>>>>
>>>>>                     Thanks,
>>>>>                     Kevin Milner
>>>>>                     _______________________________________________
>>>>>                     Powered by www.kitware.com
>>>>>                     <https://urldefense.proofpoint.com/v2/url?u=http-3A__www.kitware.com&d=DwMFaQ&c=clK7kQUTWtAVEOVIgvi0NU5BOUHhpN0H8p7CSfnc_gI&r=Ut0P5Kplo2cIO9V0et1UBQ&m=PGkWSB3OSZwzyAuWZpoUrTh6vHu2mHd7spHGazrOstc&s=bMSpXvNrm0lSJOzozn_AYDBXkpcWuKJqOIhcO2U9yyg&e=>
>>>>>
>>>>>                     Visit other Kitware open-source projects at
>>>>>                     http://www.kitware.com/opensource/opensource.html
>>>>>                     <https://urldefense.proofpoint.com/v2/url?u=http-3A__www.kitware.com_opensource_opensource.html&d=DwMFaQ&c=clK7kQUTWtAVEOVIgvi0NU5BOUHhpN0H8p7CSfnc_gI&r=Ut0P5Kplo2cIO9V0et1UBQ&m=PGkWSB3OSZwzyAuWZpoUrTh6vHu2mHd7spHGazrOstc&s=puuEFo08Br6VIW-jlXbB2NrI0NJURbszNJqXQ-UwRfM&e=>
>>>>>
>>>>>                     Please keep messages on-topic and check the
>>>>>                     VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>>>>>                     <https://urldefense.proofpoint.com/v2/url?u=http-3A__www.vtk.org_Wiki_VTK-5FFAQ&d=DwMFaQ&c=clK7kQUTWtAVEOVIgvi0NU5BOUHhpN0H8p7CSfnc_gI&r=Ut0P5Kplo2cIO9V0et1UBQ&m=PGkWSB3OSZwzyAuWZpoUrTh6vHu2mHd7spHGazrOstc&s=Hc-JN_k805uBFV8S-TRyFDHuUk3CHrXUpjl0jkl-III&e=>
>>>>>
>>>>>                     Search the list archives at:
>>>>>                     http://markmail.org/search/?q=vtkusers
>>>>>                     <https://urldefense.proofpoint.com/v2/url?u=http-3A__markmail.org_search_-3Fq-3Dvtkusers&d=DwMFaQ&c=clK7kQUTWtAVEOVIgvi0NU5BOUHhpN0H8p7CSfnc_gI&r=Ut0P5Kplo2cIO9V0et1UBQ&m=PGkWSB3OSZwzyAuWZpoUrTh6vHu2mHd7spHGazrOstc&s=avoi9QTUdibmomOnfKDIzKnsxhhgi_6aGezMOsU5sxg&e=>
>>>>>
>>>>>                     Follow this link to subscribe/unsubscribe:
>>>>>                     http://public.kitware.com/mailman/listinfo/vtkusers
>>>>>                     <https://urldefense.proofpoint.com/v2/url?u=http-3A__public.kitware.com_mailman_listinfo_vtkusers&d=DwMFaQ&c=clK7kQUTWtAVEOVIgvi0NU5BOUHhpN0H8p7CSfnc_gI&r=Ut0P5Kplo2cIO9V0et1UBQ&m=PGkWSB3OSZwzyAuWZpoUrTh6vHu2mHd7spHGazrOstc&s=jqHgE2FZMbPie2ZrXUZmovFaZhOLkt9s1njUN1kKKg4&e=>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20170203/0f068035/attachment.html>


More information about the vtkusers mailing list