Class Vector2

java.lang.Object
com.sk89q.worldedit.math.Vector2

public final class Vector2 extends Object
An immutable 2-dimensional vector.
  • Field Details

    • ZERO

      public static final Vector2 ZERO
    • UNIT_X

      public static final Vector2 UNIT_X
    • UNIT_Z

      public static final Vector2 UNIT_Z
    • ONE

      public static final Vector2 ONE
  • Method Details

    • at

      public static Vector2 at(double x, double z)
    • getX

      public double getX()
      Get the X coordinate.
      Returns:
      the x coordinate
    • withX

      public Vector2 withX(double x)
      Set the X coordinate.
      Parameters:
      x - the new X
      Returns:
      a new vector
    • getZ

      public double getZ()
      Get the Z coordinate.
      Returns:
      the z coordinate
    • withZ

      public Vector2 withZ(double z)
      Set the Z coordinate.
      Parameters:
      z - the new Z
      Returns:
      a new vector
    • add

      public Vector2 add(Vector2 other)
      Add another vector to this vector and return the result as a new vector.
      Parameters:
      other - the other vector
      Returns:
      a new vector
    • add

      public Vector2 add(double x, double z)
      Add another vector to this vector and return the result as a new vector.
      Parameters:
      x - the value to add
      z - the value to add
      Returns:
      a new vector
    • add

      public Vector2 add(Vector2... others)
      Add a list of vectors to this vector and return the result as a new vector.
      Parameters:
      others - an array of vectors
      Returns:
      a new vector
    • subtract

      public Vector2 subtract(Vector2 other)
      Subtract another vector from this vector and return the result as a new vector.
      Parameters:
      other - the other vector
      Returns:
      a new vector
    • subtract

      public Vector2 subtract(double x, double z)
      Subtract another vector from this vector and return the result as a new vector.
      Parameters:
      x - the value to subtract
      z - the value to subtract
      Returns:
      a new vector
    • subtract

      public Vector2 subtract(Vector2... others)
      Subtract a list of vectors from this vector and return the result as a new vector.
      Parameters:
      others - an array of vectors
      Returns:
      a new vector
    • multiply

      public Vector2 multiply(Vector2 other)
      Multiply this vector by another vector on each component.
      Parameters:
      other - the other vector
      Returns:
      a new vector
    • multiply

      public Vector2 multiply(double x, double z)
      Multiply this vector by another vector on each component.
      Parameters:
      x - the value to multiply
      z - the value to multiply
      Returns:
      a new vector
    • multiply

      public Vector2 multiply(Vector2... others)
      Multiply this vector by zero or more vectors on each component.
      Parameters:
      others - an array of vectors
      Returns:
      a new vector
    • multiply

      public Vector2 multiply(double n)
      Perform scalar multiplication and return a new vector.
      Parameters:
      n - the value to multiply
      Returns:
      a new vector
    • divide

      public Vector2 divide(Vector2 other)
      Divide this vector by another vector on each component.
      Parameters:
      other - the other vector
      Returns:
      a new vector
    • divide

      public Vector2 divide(double x, double z)
      Divide this vector by another vector on each component.
      Parameters:
      x - the value to divide by
      z - the value to divide by
      Returns:
      a new vector
    • divide

      public Vector2 divide(double n)
      Perform scalar division and return a new vector.
      Parameters:
      n - the value to divide by
      Returns:
      a new vector
    • length

      public double length()
      Get the length of the vector.
      Returns:
      length
    • lengthSq

      public double lengthSq()
      Get the length, squared, of the vector.
      Returns:
      length, squared
    • distance

      public double distance(Vector2 other)
      Get the distance between this vector and another vector.
      Parameters:
      other - the other vector
      Returns:
      distance
    • distanceSq

      public double distanceSq(Vector2 other)
      Get the distance between this vector and another vector, squared.
      Parameters:
      other - the other vector
      Returns:
      distance
    • normalize

      public Vector2 normalize()
      Get the normalized vector, which is the vector divided by its length, as a new vector.
      Returns:
      a new vector
    • dot

      public double dot(Vector2 other)
      Gets the dot product of this and another vector.
      Parameters:
      other - the other vector
      Returns:
      the dot product of this and the other vector
    • containedWithin

      public boolean containedWithin(Vector2 min, Vector2 max)
      Checks to see if a vector is contained with another.
      Parameters:
      min - the minimum point (X, Y, and Z are the lowest)
      max - the maximum point (X, Y, and Z are the lowest)
      Returns:
      true if the vector is contained
    • floor

      public Vector2 floor()
      Floors the values of all components.
      Returns:
      a new vector
    • ceil

      public Vector2 ceil()
      Rounds all components up.
      Returns:
      a new vector
    • round

      public Vector2 round()
      Rounds all components to the closest integer.

      Components < 0.5 are rounded down, otherwise up.

      Returns:
      a new vector
    • abs

      public Vector2 abs()
      Returns a vector with the absolute values of the components of this vector.
      Returns:
      a new vector
    • transform2D

      public Vector2 transform2D(double angle, double aboutX, double aboutZ, double translateX, double translateZ)
      Perform a 2D transformation on this vector and return a new one.
      Parameters:
      angle - in degrees
      aboutX - about which x coordinate to rotate
      aboutZ - about which z coordinate to rotate
      translateX - what to add after rotation
      translateZ - what to add after rotation
      Returns:
      a new vector
      See Also:
    • getMinimum

      public Vector2 getMinimum(Vector2 v2)
      Gets the minimum components of two vectors.
      Parameters:
      v2 - the second vector
      Returns:
      minimum
    • getMaximum

      public Vector2 getMaximum(Vector2 v2)
      Gets the maximum components of two vectors.
      Parameters:
      v2 - the second vector
      Returns:
      maximum
    • toBlockPoint

      public static BlockVector2 toBlockPoint(double x, double z)
    • toBlockPoint

      public BlockVector2 toBlockPoint()
      Create a new BlockVector2 from this vector.
      Returns:
      a new BlockVector2
    • toVector3

      public Vector3 toVector3()
      Creates a 3D vector by adding a zero Y component to this vector.
      Returns:
      a new vector
    • toVector3

      public Vector3 toVector3(double y)
      Creates a 3D vector by adding the specified Y component to this vector.
      Parameters:
      y - the Y component
      Returns:
      a new vector
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toParserString

      public String toParserString()
      Returns a string representation that is supported by the parser.
      Returns:
      string