Package net.paulhertz.pixelaudio

# Enum Class AffineTransformType

java.lang.Object
java.lang.Enum<AffineTransformType>
net.paulhertz.pixelaudio.AffineTransformType

All Implemented Interfaces:
  `Serializable`, `Comparable<AffineTransformType>`, `Constable`

public enum AffineTransformType extends Enum<AffineTransformType>

The AffineTransformType enum defines the types of affine transformations that can be applied to bitmaps in the PixelAudio library using only rotation and reflection. PixelMapGen uses the AffineTransformType enum to specify the type of transformation to apply to the gen coordinates and LUTs. PixelMapGen's comments strongly suggest starting gen coordinates at (0,0) in the upper left corner, but this may vary with the signal path you want to create. The Moore curve, for example, begins at the top center of the bitmap. The `BitmapTransform class` applies the transformations defined in this enum to bitmaps using lookup tables.

Naming follows computer graphics conventions where 0 degrees points right and positive rotation is counterclockwise.

       NADA         no operation
       R270         rotate 90 degrees clockwise
       ROT180       rotate 180 degrees
       R90          rotate 90 degrees counterclockwise
       FLIPX        reflect on y-axis, y coordinates do not change
       FX270        reflect on y-axis, then rotate 90 clockwise = reflect on the secondary diagonal, upper left to lower right, secondary diagonal does not change
       FLIPY        reflect on x-axis, x coordinates do not change
       FX90         reflect on y-axis, then rotate 90 counterclockwise = reflect on the primary diagonal, upper right to lower left, primary diagonal does not change

See Also:
  - `BitmapTransform`

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class java.lang.Enum

  `Enum.EnumDesc<E extends Enum<E>>`

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `FLIPX`
  `FLIPY`
  `FX270`
  `FX90`
  `NADA`
  `R180`
  `R270`
  `R90`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `private`
  `AffineTransformType()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static AffineTransformType`
  `valueOf(String name)`
  Returns the enum constant of this class with the specified name.
  `static AffineTransformType[]`
  `values()`
  Returns an array containing the constants of this enum class, in the order they are declared.

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

  `clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

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

  `getClass, notify, notifyAll, wait, wait, wait`

- ## Enum Constant Details

  - ### NADA

    public static final AffineTransformType NADA

  - ### R270

    public static final AffineTransformType R270

  - ### R180

    public static final AffineTransformType R180

  - ### R90

    public static final AffineTransformType R90

  - ### FLIPX

    public static final AffineTransformType FLIPX

  - ### FX270

    public static final AffineTransformType FX270

  - ### FLIPY

    public static final AffineTransformType FLIPY

  - ### FX90

    public static final AffineTransformType FX90

- ## Constructor Details

  - ### AffineTransformType

    private AffineTransformType()

- ## Method Details

  - ### values

    public static AffineTransformType[] values()
    Returns an array containing the constants of this enum class, in the order they are declared.
    Returns:
      an array containing the constants of this enum class, in the order they are declared

  - ### valueOf

    public static AffineTransformType valueOf(String name)
    Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
    Parameters:
      `name` - the name of the enum constant to be returned.
    Returns:
      the enum constant with the specified name
    Throws:
      `IllegalArgumentException` - if this enum class has no constant with the specified name
      `NullPointerException` - if the argument is null