Enum Motion

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<Motion>

    public enum Motion
    extends java.lang.Enum<Motion>
    Enumeration holding the three simplest types of motion between two 2D points a = (x₁, y₁) and b = (x₂, y₂). Given any two points in the plane we can construct a right-angled triangle where the hypotenuse is the straight-line between a and b.

    
     +-----------------------→ +x
     |    d        b
     |    |        *
     |    |      * *
     |    |    *   *
     |    |  *     *
     |    |*       *
     |    **********
     |    a        c
     |
     v
     +y
     

    Traveling in a straight-line between a and b (that is, tracing the hypotenuse) is DIRECT. Traveling first from a to c and then from c to b is HORIZONTAL_FIRST. Traveling first from a to d and then from d to b is VERTICAL_FIRST. DEFAULT means that no specific type of motion was explicitly requested.

    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private Motion()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static Motion valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static Motion[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • DEFAULT

        public static final Motion DEFAULT
      • DIRECT

        public static final Motion DIRECT
      • HORIZONTAL_FIRST

        public static final Motion HORIZONTAL_FIRST
      • VERTICAL_FIRST

        public static final Motion VERTICAL_FIRST
    • Constructor Detail

      • Motion

        private Motion()
    • Method Detail

      • values

        public static Motion[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (Motion c : Motion.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static Motion valueOf​(java.lang.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:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null