- java.lang.Object
-
- bdv.tools.boundingbox.TransformedBoxOverlay
-
- All Implemented Interfaces:
OverlayRenderer,TransformListener<net.imglib2.realtransform.AffineTransform3D>
public class TransformedBoxOverlay extends Object implements OverlayRenderer, TransformListener<net.imglib2.realtransform.AffineTransform3D>
A BDVOverlayRenderershowing aTransformedBox. Displays a wireframe box and/or intersection with current viewer slice, with various adjustable parameters.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classTransformedBoxOverlay.BoxDisplayModeSpecifies whether to show 3D wireframe box (FULL), or only intersection with viewer plane (SECTION).static interfaceTransformedBoxOverlay.HighlightedCornerListener
-
Constructor Summary
Constructors Constructor Description TransformedBoxOverlay(TransformedBox bbSource)TransformedBoxOverlay(net.imglib2.Interval interval)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.scijava.listeners.ListenableVar<TransformedBoxOverlay.BoxDisplayMode,org.scijava.listeners.ChangeListener>boxDisplayMode()Get/setBoxDisplayMode, which specifies whether to show 3D wireframe box (FULL), or only intersection with viewer plane (SECTION).voiddrawOverlays(Graphics g)Render overlays.voidfillIntersection(boolean fillIntersection)voidgetBoxToViewerTransform(net.imglib2.realtransform.AffineTransform3D t)Get the transformation from the local coordinate frame of theTransformedBoxto viewer coordinates.MouseMotionListenergetCornerHighlighter()Returns aMouseMotionListenerthat can be installed into a bdv (seeViewerPanel.getDisplay().addHandler(...)).booleangetFillIntersection()intgetHighlightedCornerIndex()Get the index of the highlighted corner (if any).voidsetCanvasSize(int width, int height)This is called, when the screen size of the canvas (the component displaying the image and generating mouse events) changes.voidsetHighlightedCornerListener(TransformedBoxOverlay.HighlightedCornerListener highlightedCornerListener)voidsetIntersectionFillColor(Color intersectionFillColor)voidsetPerspective(double perspective)Sets the perspective value.voidsetSourceSize(double sourceSize)Sets the source size (estimated maximum dimension) in global coordinates.voidshowCornerHandles(boolean showCornerHandles)voidtransformChanged(net.imglib2.realtransform.AffineTransform3D t)
-
-
-
Constructor Detail
-
TransformedBoxOverlay
public TransformedBoxOverlay(net.imglib2.Interval interval)
-
TransformedBoxOverlay
public TransformedBoxOverlay(TransformedBox bbSource)
-
-
Method Detail
-
setPerspective
public void setPerspective(double perspective)
Sets the perspective value.perspective < 0means parallel projection.- Parameters:
perspective- the perspective value.
-
showCornerHandles
public void showCornerHandles(boolean showCornerHandles)
-
fillIntersection
public void fillIntersection(boolean fillIntersection)
-
getFillIntersection
public boolean getFillIntersection()
-
setIntersectionFillColor
public void setIntersectionFillColor(Color intersectionFillColor)
-
drawOverlays
public void drawOverlays(Graphics g)
Description copied from interface:OverlayRendererRender overlays.- Specified by:
drawOverlaysin interfaceOverlayRenderer
-
setCanvasSize
public void setCanvasSize(int width, int height)Description copied from interface:OverlayRendererThis is called, when the screen size of the canvas (the component displaying the image and generating mouse events) changes. This can be used to determine scale of overlay or screen coordinates relative to the border.- Specified by:
setCanvasSizein interfaceOverlayRenderer- Parameters:
width- the new canvas width.height- the new canvas height.
-
transformChanged
public void transformChanged(net.imglib2.realtransform.AffineTransform3D t)
- Specified by:
transformChangedin interfaceTransformListener<net.imglib2.realtransform.AffineTransform3D>
-
boxDisplayMode
public org.scijava.listeners.ListenableVar<TransformedBoxOverlay.BoxDisplayMode,org.scijava.listeners.ChangeListener> boxDisplayMode()
Get/setBoxDisplayMode, which specifies whether to show 3D wireframe box (FULL), or only intersection with viewer plane (SECTION).
-
getBoxToViewerTransform
public void getBoxToViewerTransform(net.imglib2.realtransform.AffineTransform3D t)
Get the transformation from the local coordinate frame of theTransformedBoxto viewer coordinates.- Parameters:
t- is set to the box-to-viewer transform.
-
getHighlightedCornerIndex
public int getHighlightedCornerIndex()
Get the index of the highlighted corner (if any).- Returns:
- corner index or
-1if no corner is highlighted
-
getCornerHighlighter
public MouseMotionListener getCornerHighlighter()
Returns aMouseMotionListenerthat can be installed into a bdv (seeViewerPanel.getDisplay().addHandler(...)). If installed, it will notify aHighlightedCornerListener(seesetHighlightedCornerListener(HighlightedCornerListener)) when the mouse is over a corner of the box (with some tolerance)/- Returns:
- a
MouseMotionListenerimplementing mouse-over for box corners
-
setHighlightedCornerListener
public void setHighlightedCornerListener(TransformedBoxOverlay.HighlightedCornerListener highlightedCornerListener)
-
setSourceSize
public void setSourceSize(double sourceSize)
Sets the source size (estimated maximum dimension) in global coordinates. Used for setting up perspective projection.- Parameters:
sourceSize- estimated source size in global coordinates
-
-