Class Vector2i

All Implemented Interfaces:
Cloneable<Vector2i>, Printable

public class Vector2i extends VectorInt<Vector2i>
2-dimensional vector with integer precision. GLSL equivalent to ivec2.
  • Field Details

    • x

      public int x
    • y

      public int y
    • temp

      public static final Vector2i temp
      Reusable temporary vector, to avoid repeatedly creating new instances in performance-critical contexts.
  • Constructor Details

    • Vector2i

      public Vector2i()
      Creates a default 2-dimensional vector with all values set to 0.
    • Vector2i

      public Vector2i(int x, int y)
      Creates a 2-dimensional vector with given values.
  • Method Details

    • add

      public Vector2i add(int x, int y)
    • add

      public Vector2i add(Vector2i vector2i)
      Description copied from class: Vector
      Adds another vector to this vector.
      Specified by:
      add in class Vector<Vector2i>
      Returns:
      Self
    • scale

      public Vector2i scale(float scalar)
      Description copied from class: Vector
      Scales this vector by a scalar.
      Specified by:
      scale in class Vector<Vector2i>
      Returns:
      Self
    • lengthSquared

      public int lengthSquared()
      Description copied from class: VectorInt
      Calculates the squared length of this vector.
      Specified by:
      lengthSquared in class VectorInt<Vector2i>
    • dot

      public int dot(Vector2i vector2i)
      Description copied from class: VectorInt
      Calculates the dot product of this vector with another vector.
      Specified by:
      dot in class VectorInt<Vector2i>
      Returns:
      Dot product of this vector multiplied by another vector
    • toBuffer

      public void toBuffer(IntBuffer buffer)
      Description copied from class: VectorInt
      Stores the vector in a given buffer.
      Specified by:
      toBuffer in class VectorInt<Vector2i>
      Parameters:
      buffer - The buffer to store the vector data in
    • equals

      public boolean equals(Vector2i vector)
      Description copied from interface: Cloneable
      Checks if the given object is equal to this object.
      Specified by:
      equals in interface Cloneable<Vector2i>
      Specified by:
      equals in class Vector<Vector2i>
      Parameters:
      vector - Other object
      Returns:
      true if both objects are equal.
    • clone

      public Vector2i clone()
      Description copied from interface: Cloneable
      Returns a new object that is equal to this object.
      Specified by:
      clone in interface Cloneable<Vector2i>
      Specified by:
      clone in class Vector<Vector2i>
      Returns:
      Clone of this object
    • toString

      public String toString()
      Converts this vector to a string representation in the format "(x,y)".
      Specified by:
      toString in interface Printable
      Specified by:
      toString in class Vector<Vector2i>
      Returns:
      String representation of this object.
    • parse

      public static Vector2i parse(String input) throws InvalidStringException
      Throws:
      InvalidStringException
    • up

      public static Vector2i up()
      Creates a new vector (0, 1)
    • down

      public static Vector2i down()
      Creates a new vector (0, -1)
    • left

      public static Vector2i left()
      Creates a new vector (-1, 0)
    • right

      public static Vector2i right()
      Creates a new vector (1, 0)
    • getTemp

      public static Vector2i getTemp(int x, int y)
      Returns a temporary vector with given values. Note that this temporary vector is a global instance, so avoid concurrent usage.