Ticket #13 (closed defect: fixed)
Opened 2007-03-16T12:58:08-05:00
Last modified 2007-08-01T16:08:02-05:00
Behavior of overlay tools when no data object present
Reported by: | sorber | Owned by: | curtis |
---|---|---|---|
Priority: | minor | Milestone: |
|
Component: | visbio | Severity: | |
Keywords: | overlays | Cc: | |
Blocked By: | Blocking: |
Description
Using overlay tools on a display with no data object causes the overlays to be created but not to appear, since overlays need a domain coordinate system in which to reside (all coordinates are NAN). Overlay tools could default to pixel coordinates instead of domain coordinates when a data object is missing. Alternatively, overlay tools could just be disabled.
I'm not sure how best to detect that no data object is present in the display.
Change History
comment:3 in reply to: ↑ 1 Changed 2007-08-01T15:50:15-05:00 by curtis
- Milestone set to visbio3.4
I couldn't get TransientSelectBox to throw an exception with the latest version, and overlays do appear now even if the parent transform is removed, but I do see one exception when it is first removed:
visad.SetException: Gridded2DSet: samples value #0 may not be missing at visad.Gridded2DSet.<init>(Gridded2DSet.java:104) at visad.Gridded2DSet.<init>(Gridded2DSet.java:64) at loci.visbio.overlays.OverlayUtil.getLineLayer(OverlayUtil.java:349) at loci.visbio.overlays.OverlayUtil.getSelectionLayer(OverlayUtil.java:145) at loci.visbio.overlays.OverlayTransform.getData(OverlayTransform.java:604) at loci.visbio.view.TransformLink.getImageData(TransformLink.java:480) at loci.visbio.view.TransformLink.computeData(TransformLink.java:465) at loci.visbio.view.TransformLink$1.run(TransformLink.java:427)
comment:4 Changed 2007-08-01T16:08:02-05:00 by curtis
- Status changed from new to closed
- Resolution set to fixed
To generate the exception mentioned in the previous comment, overlays must exist and be selected. The problem is that getMultiplier returns NaN when the parent transform is first removed for some reason. So I hacked getMultiplier to return 1 instead in that case, and the exceptions no longer happen. Instead, the selection thickness temporarily gets out of whack. It goes back to normal next time you select anything though, so I'm going to call this problem solved.
TransientSelectBox throws an exception when there's no data object present. To fix this problem, first address bug #15. Then consider the behavior of PointerTool, which creates the TSB, when no data object is present.