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

Kevin Milner kmilner at usc.edu
Fri Feb 3 19:15:01 EST 2017


Does that demo work for you on a Mac? I just tried it with the previous 
7.0 release and had the same results. My Java version is 1.8.0_91, 64 
bit. If it does work for you, would you mind posting your lib folder 
somewhere so I can see if it's a compilation/configuration issue on my end?

Thanks,
Kevin

On 02/03/2017 03:50 PM, Sebastien Jourdain wrote:
> Hum, interesting.
>
> I have no idea of what is going on... ;-(
>
> Sorry
>
> On Fri, Feb 3, 2017 at 4:23 PM, Kevin Milner <kmilner at usc.edu 
> <mailto:kmilner at usc.edu>> wrote:
>
>     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/c20a5229/attachment-0001.html>


More information about the vtkusers mailing list