Package skyview.geometry.projecter

# Class Cah

java.lang.Object
skyview.geometry.Transformer
skyview.geometry.Projecter
skyview.geometry.projecter.Cah

All Implemented Interfaces:
  `Serializable`, `Component`

public class Cah extends Projecter
This class provides for the translation between coordinates and Cahill style Octahedron tangent plane projection. .

The projection is centered at 0,45 The projection is bounded by a rectangle with dimensions 6 sqrt(2) x 2 sqrt(6) which is filled in the following fashion. 5 4 2 3 5 5 4 4 2 2 3 3 5 5 5 4 4 4 2 2 2 3 3 3 5 5 4 4 6 0 2 2 3 3 5 4 6 6 0 0 2 3 6 6 6 0 0 0 7 6 6 0 0 1 7 7 6 0 1 1 7 7 7 1 1 1 7 7 1 1 7 1 Note that each number is intended to represent an equilateral triangle so that the representation here is only very approximate. The center of the projection is the middle of the boundary between triangles 0 and 6. The north pole is the intersection of triangles 0,2,4 and 6, while the south pole is at the lonely points of 1,3,5,7 The northern octants are even while the southern octants are odd. You can envisage this figure as unwrapping the four northern octants of an octahedron and pressing them flat and then flipping the southern octants on the equator they share with a northern octant. Note that this projection is staddleable but the straddle is not currently available.

See Also:
  - Serialized Form

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`class`
`Cah.CahDeproj`
Deproject from the plane back to the unit sphere

## Constructor Summary

Constructors
Constructor
Description
`Cah()`

## Method Summary

Modifier and Type
Method
Description
`String`
`getDescription()`
Get the description of this component.
`String`
`getName()`
Get the name of this component.
`Deprojecter`
`inverse()`
Get the inverse
`boolean`
`isInverse(Transformer obj)`
Are these two transformations, inverses of each other? This method is used to optimize a series of transformations where transformations.
`static void`
`main(String[] args)`
`void`
`transform(double[] unit, double[] plane)`
Convert a single point where the output vector is supplied.

### Methods inherited from class skyview.geometry.Projecter

`allValid, getInputDimension, getOutputDimension, getXTiling, getYTiling, shadowPoint, straddle, straddleable, straddleComponents, tissot, validPosition`

### Methods inherited from class skyview.geometry.Transformer

`transform, transform`

### Methods inherited from class java.lang.Object

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

## Constructor Details

### Cah

public Cah()

## Method Details

### getName

public String getName()
Description copied from interface: `Component`
Get the name of this component.

### getDescription

public String getDescription()
Description copied from interface: `Component`
Get the description of this component.

### isInverse

public boolean isInverse(Transformer obj)
Description copied from class: `Transformer`
Are these two transformations, inverses of each other? This method is used to optimize a series of transformations where transformations.

Specified by:
  `isInverse` in class `Transformer`

### inverse

public Deprojecter inverse()
Description copied from class: `Projecter`
Get the inverse

Specified by:
  `inverse` in class `Projecter`

### transform

public void transform(double[] unit, double[] plane)
Description copied from class: `Transformer`
Convert a single point where the output vector is supplied.

Specified by:
  `transform` in class `Transformer`
Parameters:
  `unit` - The input vector.
  `plane` - The output vector, it may be the same as the input vector if the dimensionalities are the same. All transformers are expected to work with aliased inputs and output.

### main

public static void main(String[] args) throws Exception

Throws:
  `Exception`