# Interface CartesianRanger

public interface CartesianRanger
Defines an object that can characterise a surface as an N-dimensional hypercube. Its methods are only intended for use on surfaces of a particular type, evident from the context of its origin.

Since:
  3 Dec 2018
Author:
  Mark Taylor

## Method Summary

Modifier and Type
Method
Description
`double[][]`
`getDataLimits(uk.ac.starlink.ttools.plot2.Surface surf)`
Returns the limits in data coordinates of the hypercube corresponding to a given plot surface.
`int`
`getDimCount()`
Returns the dimensionality of the hypercube it can characterise.
`int[]`
`getPixelDims(uk.ac.starlink.ttools.plot2.Surface surf)`
Returns the notional size in pixels for each axis of the hypercube corresponding to a given plot surface.
`uk.ac.starlink.ttools.plot2.Scale[]`
`getScales(uk.ac.starlink.ttools.plot2.Surface surf)`
Indicates the scaling along the axes of the hypercube corresponding to a given plot surface.

## Method Details

### getDimCount

int getDimCount()
Returns the dimensionality of the hypercube it can characterise.

Returns:
  ndim

### getDataLimits

double[][] getDataLimits(uk.ac.starlink.ttools.plot2.Surface surf)
Returns the limits in data coordinates of the hypercube corresponding to a given plot surface.

Parameters:
  `surf` - plot surface
Returns:
  ndim-element array of 2-element arrays giving (lower,upper) bounds in data coordinates for each axis of hypercube

### getScales

uk.ac.starlink.ttools.plot2.Scale[] getScales(uk.ac.starlink.ttools.plot2.Surface surf)
Indicates the scaling along the axes of the hypercube corresponding to a given plot surface.

Parameters:
  `surf` - plot surface
Returns:
  ndim-element array giving scalings for each axis of hypercube

### getPixelDims

int[] getPixelDims(uk.ac.starlink.ttools.plot2.Surface surf)
Returns the notional size in pixels for each axis of the hypercube corresponding to a given plot surface. Approximate values are OK, these values are just used to determine numerical precisions for reported positions.

Parameters:
  `surf` - plot surface
Returns:
  ndim-element array giving notional pixel axis extents for each axis of hypercube