Ticket #32 (closed defect: wontfix)

Opened 13 years ago

Last modified 13 years ago

Java2D support is broken

Reported by: curtis Owned by: curtis
Priority: major Milestone:
Component: visbio Severity:
Keywords: Cc:
Blocked By: Blocking:

Description

VisBio is supposed to support Java2D displays, but currently makes several calls that cause VisAD's Java2D support to blow up:

visad.DisplayException: GraphicsModeControlJ2D.setTransparencyMode: bad mode
	at visad.java2d.GraphicsModeControlJ2D.setTransparencyMode(GraphicsModeControlJ2D.java:343)
	at loci.visbio.view.DisplayWindow.setTransparencyMode(DisplayWindow.java:212)
	at loci.visbio.view.DisplayWindow.initState(DisplayWindow.java:315)
	at loci.visbio.view.DisplayWindow.<init>(DisplayWindow.java:116)
	at loci.visbio.view.DisplayManager.createDisplay(DisplayManager.java:107)
	at loci.visbio.data.DataControls.doNewDisplay(DataControls.java:372)
	at loci.visbio.help.HelpManager.checkVisualization(HelpManager.java:116)
	at loci.visbio.help.HelpManager.doEvent(HelpManager.java:137)
	at loci.visbio.VisBioFrame.generateEvent(VisBioFrame.java:262)
	at loci.visbio.VisBioFrame.generateEvent(VisBioFrame.java:254)
	at loci.visbio.data.DataManager.addData(DataManager.java:88)
	at loci.visbio.data.DataManager.createDataset(DataManager.java:303)
	at loci.visbio.data.DatasetPane$2.run(DatasetPane.java:292)
visad.DisplayException: DisplayImpl.addReferences: illegal DataRenderer class
	at visad.DisplayImpl.addReferences(DisplayImpl.java:1253)
	at visad.DisplayImpl.addReferences(DisplayImpl.java:1212)
	at visad.DisplayImpl.addReferences(DisplayImpl.java:1065)
	at loci.visbio.view.TransformLink.link(TransformLink.java:159)
	at loci.visbio.view.TransformHandler.doLinks(TransformHandler.java:369)
	at loci.visbio.view.TransformHandler.rebuild(TransformHandler.java:463)
	at loci.visbio.view.TransformHandler.addTransform(TransformHandler.java:121)
	at loci.visbio.view.DisplayWindow.addTransform(DisplayWindow.java:177)
	at loci.visbio.data.DataControls.doNewDisplay(DataControls.java:374)
	at loci.visbio.help.HelpManager.checkVisualization(HelpManager.java:116)
	at loci.visbio.help.HelpManager.doEvent(HelpManager.java:137)
	at loci.visbio.VisBioFrame.generateEvent(VisBioFrame.java:262)
	at loci.visbio.VisBioFrame.generateEvent(VisBioFrame.java:254)
	at loci.visbio.data.DataManager.addData(DataManager.java:88)
	at loci.visbio.data.DataManager.createDataset(DataManager.java:303)
	at loci.visbio.data.DatasetPane$2.run(DatasetPane.java:292)
visad.DisplayException: DisplayImpl.addReferences: illegal DataRenderer class
	at visad.DisplayImpl.addReferences(DisplayImpl.java:1253)
	at visad.DisplayImpl.addReferences(DisplayImpl.java:1212)
	at visad.DisplayImpl.addReferences(DisplayImpl.java:1065)
	at loci.visbio.view.ColorPane.setPreviewData(ColorPane.java:237)
	at loci.visbio.view.ColorHandler.refreshPreviewData(ColorHandler.java:177)
	at loci.visbio.view.ColorHandler.initColors(ColorHandler.java:124)
	at loci.visbio.view.TransformHandler.rebuild(TransformHandler.java:495)
	at loci.visbio.view.TransformHandler.addTransform(TransformHandler.java:121)
	at loci.visbio.view.DisplayWindow.addTransform(DisplayWindow.java:177)
	at loci.visbio.data.DataControls.doNewDisplay(DataControls.java:374)
	at loci.visbio.help.HelpManager.checkVisualization(HelpManager.java:116)
	at loci.visbio.help.HelpManager.doEvent(HelpManager.java:137)
	at loci.visbio.VisBioFrame.generateEvent(VisBioFrame.java:262)
	at loci.visbio.VisBioFrame.generateEvent(VisBioFrame.java:254)
	at loci.visbio.data.DataManager.addData(DataManager.java:88)
	at loci.visbio.data.DataManager.createDataset(DataManager.java:303)
	at loci.visbio.data.DatasetPane$2.run(DatasetPane.java:292)

The easiest way to see this problem is to change the ALLOW_JAVA3D constant in source:trunk/loci/visbio/util/DisplayUtil.java to false.

Change History

comment:1 Changed 13 years ago by curtis

  • Priority changed from critical to major

comment:2 Changed 13 years ago by curtis

  • Status changed from new to closed
  • Resolution set to wontfix

Fixed a bug setting the transparency mode for Java2D in r2614. But there is a more major problem, in that VisBio now makes use of transparency for certain data transforms, most notably overlays. To fix this problem, checks would need to be added in multiple places to behave differently if the display can support transparency vs not. It is probably too much hassle, since no one uses VisBio with Java2D anyway.

Note: See TracTickets for help on using tickets.