Re: A couple notes on VisAD, Java3D, and OSX

Hi Bruce,

Since these are problems with Java3D on the Mac have you
reported them to Apple?  I have reported some of these
problems myself, but I never get any response from Apple.
Do you have any control on a PowerBook over the degree
of graphics acceleration?  If you do, you might consider
reducing the acceleration.

Tom

On Sun, 24 Apr 2005 20:23:51 -0500
 Bruce Flynn <brucef@xxxxxxxxxxxxx> wrote:
Hello All,

For starters, I use a PowerBook running OSX 10.3.9, Java 1.4.2_07 and Java3D 1.3.1 with Eclipse 3.0.1

The following seem to either not work, or cause problems:

- GraphicsModeControlJ3D.setSceneAntialiasingEnable(true) Works great on XP pro but has no effect on OSX (No exceptions)

- ToolTipManager.setLightWeightPopupEnabled(false)
Works only after making the popup visible, and then works inconsistently (No Exceptions). Some times the tooltips appear above the 3d canvas and sometimes below. And they always seem to render very slowly causing one tooltip to be carried over to another similar component. In other words, the tooltip for component A when rendered also becomes the tooltip that appears for component B. I should note however that I am using an implementation of a multiline tooltip that replaces the default single line one.

- JPopupMenu.setLightWeightPopupEnabled(false)
For some reason on OSX it works, but on XP Pro it will only show popups on 4 of 5 plots in the visible app window (No Exceptions). The problem canvas gives cursor coords allowing box zooming to function but does not show the popup.

- Here's an oldie but a goodie....
Every once in a while I get one of 3 Exceptions listed below. I have tried to reproduce the errors with some consistency but cannot find the code that is specifically causing the exception.

        #1
java.lang.IllegalMonitorStateException: current thread not owner at javax.media.j3d.DrawingSurfaceObjectAWT.unlockAWT(Native Method) at javax.media.j3d.DrawingSurfaceObjectAWT.unLock(DrawingSurfaceObjectAWT.j ava:82)
        at javax.media.j3d.Renderer.doWork(Renderer.java:771)
        at javax.media.j3d.J3dThread.run(J3dThread.java:250)

        #2
2005-04-24 20:04:00.682 java[3026] _initWithWindowNumber: error creating graphics ctxt object for ctxt:69359, window:1093664768

        #3
apple.awt.EventQueueExceptionHandler Caught Throwable : java.lang.IllegalMonitorStateException: current thread not owner java.lang.IllegalMonitorStateException: current thread not owner at javax.media.j3d.DrawingSurfaceObjectAWT.getDrawingSurfaceWindowIdAWT(Nat ive Method) at javax.media.j3d.DrawingSurfaceObjectAWT.getDrawingSurfaceObjectInfo(Draw ingSurfaceObjectAWT.java:106)
        at javax.media.j3d.Canvas3D.paint(Canvas3D.java:1255)
        at sun.awt.RepaintArea.paint(RepaintArea.java:194)
at apple.awt.ComponentModel.handleEvent(ComponentModel.java:281) at java.awt.Component.dispatchEventImpl(Component.java:3744) at java.awt.Component.dispatchEvent(Component.java:3543) at java.awt.EventQueue.dispatchEvent(EventQueue.java:456) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThrea d.java:234) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread. java:184) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:178) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:170) at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)

On more of a positive note I did get the box zooming working like a charm and since the target platform for my app is XP it's very nice to see the anit-aliasing working.

Thanks,
Bruce