Enum VonNeumannNeighbourhood

java.lang.Object
java.lang.Enum<VonNeumannNeighbourhood>
org.refcodes.checkerboard.VonNeumannNeighbourhood
All Implemented Interfaces:
Serializable, Comparable<VonNeumannNeighbourhood>, java.lang.constant.Constable, Neighbourhood<VonNeumannNeighbourhood>, org.refcodes.graphical.Position, org.refcodes.graphical.PosXAccessor, org.refcodes.graphical.PosYAccessor

public enum VonNeumannNeighbourhood extends Enum<VonNeumannNeighbourhood> implements Neighbourhood<VonNeumannNeighbourhood>
Definitions of the Von-Neumann neighbourhood.
  • Nested Class Summary

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

    Enum.EnumDesc<E extends Enum<E>>

    Nested classes/interfaces inherited from interface org.refcodes.graphical.Position

    org.refcodes.graphical.Position.PositionBuilder<B extends org.refcodes.graphical.Position.PositionBuilder<B>>, org.refcodes.graphical.Position.PositionMutator, org.refcodes.graphical.Position.PositionProperty

    Nested classes/interfaces inherited from interface org.refcodes.graphical.PosXAccessor

    org.refcodes.graphical.PosXAccessor.PosXBuilder<B extends org.refcodes.graphical.PosXAccessor.PosXBuilder<B>>, org.refcodes.graphical.PosXAccessor.PosXMutator, org.refcodes.graphical.PosXAccessor.PosXProperty

    Nested classes/interfaces inherited from interface org.refcodes.graphical.PosYAccessor

    org.refcodes.graphical.PosYAccessor.PosYBuilder<B extends org.refcodes.graphical.PosYAccessor.PosYBuilder<B>>, org.refcodes.graphical.PosYAccessor.PosYMutator, org.refcodes.graphical.PosYAccessor.PosYProperty
  • Enum Constant Summary

    Enum Constants
    Enum Constant
    Description
     
     
     
     
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the next clockwise state relative to the current state.
    Returns the next anti-clockwise state relative to the current state.
    int
    Returns the relative X position to position (0, 0).
    int
    Returns the relative Y position to position (0, 0).
    Returns the enum constant of this type with the specified name.
    Returns an array containing the constants of this enum type, in the order they are declared.

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.refcodes.checkerboard.Neighbourhood

    next

    Methods inherited from interface org.refcodes.graphical.Position

    toAddTo, toSubFrom
  • Enum Constant Details

  • Method Details

    • values

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

      public static VonNeumannNeighbourhood valueOf(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (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 type has no constant with the specified name
      NullPointerException - if the argument is null
    • getPositionX

      public int getPositionX()
      Returns the relative X position to position (0, 0).
      Specified by:
      getPositionX in interface org.refcodes.graphical.PosXAccessor
      Returns:
      The relative position X to the (0,0) coordinate.
    • getPositionY

      public int getPositionY()
      Returns the relative Y position to position (0, 0).
      Specified by:
      getPositionY in interface org.refcodes.graphical.PosYAccessor
      Returns:
      The relative position Y to the (0,0) coordinate.
    • clockwiseNext

      public VonNeumannNeighbourhood clockwiseNext()
      Returns the next clockwise state relative to the current state. Imagine the states as the positions on a clock, next to TOP would be RIGHT, next to RIGHT would be BOTTOM, and so on (clockwise).
      Specified by:
      clockwiseNext in interface Neighbourhood<VonNeumannNeighbourhood>
      Returns:
      The next state relative to the current state.
    • clockwisePrevious

      public VonNeumannNeighbourhood clockwisePrevious()
      Returns the next anti-clockwise state relative to the current state. Imagine the states as the positions on a clock, next to TOP would be LEFT, next to LEFT would be BOTTOM, and so on (anti-clockwise).
      Specified by:
      clockwisePrevious in interface Neighbourhood<VonNeumannNeighbourhood>
      Returns:
      The next state relative to the current state.