# Class NavDecorations3D

java.lang.Object
uk.ac.starlink.ttools.plot2.geom.NavDecorations3D

public class NavDecorations3D extends Object
Utility class supplying visual feedback decorations for three-dimensional plot navigation.

Since:
  24 Feb 2014
Author:
  Mark Taylor

## Method Summary

Modifier and Type
Method
Description
`static Decoration`
`create2dPanDecoration(CubeSurface csurf, Point pos)`
Returns a decoration suitable for a drag pan operation in the two facing directions.
`static Decoration`
`create2dZoomDecoration(CubeSurface csurf, Point pos, double xf, double yf)`
Returns a decoration suitable for a drag zoom in the two facing directions.
`static Decoration`
`createCenterDragDecoration(CubeSurface csurf, double zoomFactor, boolean[] useFlags)`
Returns a decoration suitable for a 3d drag zoom centered on the cube center.
`static Decoration`
`createCenterWheelDecoration(CubeSurface csurf, double zoomFactor, boolean[] useFlags)`
Returns a decoration suitable for a wheel zoom centered on the cube center.
`static Decoration`
`createRecenterDecoration(CubeSurface csurf, Point pos)`
Returns a decoration to indicated recentering from a given screen position to the surface center.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Method Details

### createCenterDragDecoration

public static Decoration createCenterDragDecoration(CubeSurface csurf, double zoomFactor, boolean[] useFlags)
Returns a decoration suitable for a 3d drag zoom centered on the cube center.

Parameters:
  `csurf` - plotting surface
  `zoomFactor` - zoom factor
  `useFlags` - 3-element array indicating if X,Y,Z directions are zoomed
Returns:
  decoration

### createCenterWheelDecoration

public static Decoration createCenterWheelDecoration(CubeSurface csurf, double zoomFactor, boolean[] useFlags)
Returns a decoration suitable for a wheel zoom centered on the cube center.

Parameters:
  `csurf` - plotting surface
  `zoomFactor` - zoom factor
  `useFlags` - 3-element array indicating if X,Y,Z directions are zoomed
Returns:
  decoration

### create2dZoomDecoration

public static Decoration create2dZoomDecoration(CubeSurface csurf, Point pos, double xf, double yf)
Returns a decoration suitable for a drag zoom in the two facing directions. The zoom directions are determined by logic in the supplied cube surface.

Parameters:
  `csurf` - plotting surface
  `pos` - screen position around which surface is zoomed
  `xf` - zoom factor in mostly-horizontal direction
  `yf` - zoom factor in mostly-vertical direction
Returns:
  decoration

### create2dPanDecoration

public static Decoration create2dPanDecoration(CubeSurface csurf, Point pos)
Returns a decoration suitable for a drag pan operation in the two facing directions. The pan directions are determined by logic in the supplied cube surface.

Parameters:
  `csurf` - plotting surface
  `pos` - reference position for drag

### createRecenterDecoration

public static Decoration createRecenterDecoration(CubeSurface csurf, Point pos)
Returns a decoration to indicated recentering from a given screen position to the surface center.

Parameters:
  `csurf` - plotting surface
  `pos` - reference position for new center