Class Vector3f

All Implemented Interfaces:
Cloneable<Vector3f>, Printable

public class Vector3f extends VectorFloat<Vector3f>
3-dimensional vector with floating point precision. GLSL equivalent to vec3.
  • Field Details

    • x

      public float x
    • y

      public float y
    • z

      public float z
    • temp

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

    • Vector3f

      public Vector3f()
      Creates a default 3-dimensional vector with all values set to 0f.
    • Vector3f

      public Vector3f(float x, float y, float z)
      Creates a 3-dimensional vector with given values.
  • Method Details

    • add

      public Vector3f add(float x, float y, float z)
    • add

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

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

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

      public float dot(Vector3f vector3f)
      Description copied from class: VectorFloat
      Calculates the dot product of this vector with another vector.
      Specified by:
      dot in class VectorFloat<Vector3f>
      Returns:
      Dot product of this vector multiplied by another vector
    • toBuffer

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

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

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

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

      public static Vector3f parse(String input) throws InvalidStringException
      Throws:
      InvalidStringException
    • getTemp

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