Package org.joml

Interface Vector3ic

  • All Known Implementing Classes:
    Vector3i


    public interface Vector3ic
    Interface to a read-only view of a 3-dimensional vector of integers.
    Author:
    Kai Burjack
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      Vector3i absolute​(Vector3i dest)
      Compute the absolute of each of this vector's components and store the result into dest.
      Vector3i add​(int x, int y, int z, Vector3i dest)
      Increment the components of this vector by the given values and store the result in dest.
      Vector3i add​(Vector3ic v, Vector3i dest)
      Add the supplied vector to this one and store the result in dest.
      double distance​(int x, int y, int z)
      Return the distance between this vector and (x, y, z).
      double distance​(Vector3ic v)
      Return the distance between this Vector and v.
      long distanceSquared​(int x, int y, int z)
      Return the square of the distance between this vector and (x, y, z).
      long distanceSquared​(Vector3ic v)
      Return the square of the distance between this vector and v.
      Vector3i div​(float scalar, Vector3i dest)
      Divide all components of this Vector3i by the given scalar value and store the result in dest.
      Vector3i div​(int scalar, Vector3i dest)
      Divide all components of this Vector3i by the given scalar value and store the result in dest.
      boolean equals​(int x, int y, int z)
      Compare the vector components of this vector with the given (x, y, z) and return whether all of them are equal.
      int get​(int component)
      Get the value of the specified component of this vector.
      Vector3ic getToAddress​(long address)
      Store this vector at the given off-heap memory address.
      long gridDistance​(int x, int y, int z)
      Return the grid distance in between (aka 1-Norm, Minkowski or Manhattan distance) (x, y).
      long gridDistance​(Vector3ic v)
      Return the grid distance in between (aka 1-Norm, Minkowski or Manhattan distance) (x, y).
      double length​()
      Return the length of this vector.
      long lengthSquared​()
      Return the length squared of this vector.
      Vector3i max​(Vector3ic v, Vector3i dest)
      Set the components of dest to be the component-wise maximum of this and the other vector.
      int maxComponent​()
      Determine the component with the biggest absolute value.
      Vector3i min​(Vector3ic v, Vector3i dest)
      Set the components of dest to be the component-wise minimum of this and the other vector.
      int minComponent​()
      Determine the component with the smallest (towards zero) absolute value.
      Vector3i mul​(int x, int y, int z, Vector3i dest)
      Multiply the components of this vector by the given values and store the result in dest.
      Vector3i mul​(int scalar, Vector3i dest)
      Multiply the components of this vector by the given scalar and store the result in dest.
      Vector3i mul​(Vector3ic v, Vector3i dest)
      Multiply the supplied vector by this one and store the result in dest.
      Vector3i negate​(Vector3i dest)
      Negate this vector and store the result in dest.
      Vector3i sub​(int x, int y, int z, Vector3i dest)
      Decrement the components of this vector by the given values and store the result in dest.
      Vector3i sub​(Vector3ic v, Vector3i dest)
      Subtract the supplied vector from this one and store the result in dest.
      int x​()  
      int y​()  
      int z​()  
    • Method Detail

      • x

        int x​()
        Returns:
        the value of the x component
      • y

        int y​()
        Returns:
        the value of the y component
      • z

        int z​()
        Returns:
        the value of the z component
      • getToAddress

        Vector3ic getToAddress​(long address)
        Store this vector at the given off-heap memory address.

        This method will throw an UnsupportedOperationException when JOML is used with `-Djoml.nounsafe`.

        This method is unsafe as it can result in a crash of the JVM process when the specified address range does not belong to this process.

        Parameters:
        address - the off-heap address where to store this vector
        Returns:
        this
      • sub

        Vector3i sub​(Vector3ic v,
                     Vector3i dest)
        Subtract the supplied vector from this one and store the result in dest.
        Parameters:
        v - the vector to subtract
        dest - will hold the result
        Returns:
        dest
      • sub

        Vector3i sub​(int x,
                     int y,
                     int z,
                     Vector3i dest)
        Decrement the components of this vector by the given values and store the result in dest.
        Parameters:
        x - the x component to subtract
        y - the y component to subtract
        z - the z component to subtract
        dest - will hold the result
        Returns:
        dest
      • add

        Vector3i add​(Vector3ic v,
                     Vector3i dest)
        Add the supplied vector to this one and store the result in dest.
        Parameters:
        v - the vector to add
        dest - will hold the result
        Returns:
        dest
      • add

        Vector3i add​(int x,
                     int y,
                     int z,
                     Vector3i dest)
        Increment the components of this vector by the given values and store the result in dest.
        Parameters:
        x - the x component to add
        y - the y component to add
        z - the z component to add
        dest - will hold the result
        Returns:
        dest
      • mul

        Vector3i mul​(int scalar,
                     Vector3i dest)
        Multiply the components of this vector by the given scalar and store the result in dest.
        Parameters:
        scalar - the value to multiply this vector's components by
        dest - will hold the result
        Returns:
        dest
      • mul

        Vector3i mul​(Vector3ic v,
                     Vector3i dest)
        Multiply the supplied vector by this one and store the result in dest.
        Parameters:
        v - the vector to multiply
        dest - will hold the result
        Returns:
        dest
      • mul

        Vector3i mul​(int x,
                     int y,
                     int z,
                     Vector3i dest)
        Multiply the components of this vector by the given values and store the result in dest.
        Parameters:
        x - the x component to multiply
        y - the y component to multiply
        z - the z component to multiply
        dest - will hold the result
        Returns:
        dest
      • div

        Vector3i div​(float scalar,
                     Vector3i dest)
        Divide all components of this Vector3i by the given scalar value and store the result in dest.
        Parameters:
        scalar - the scalar to divide by
        dest - will hold the result
        Returns:
        dest
      • div

        Vector3i div​(int scalar,
                     Vector3i dest)
        Divide all components of this Vector3i by the given scalar value and store the result in dest.
        Parameters:
        scalar - the scalar to divide by
        dest - will hold the result
        Returns:
        dest
      • lengthSquared

        long lengthSquared​()
        Return the length squared of this vector.
        Returns:
        the length squared
      • length

        double length​()
        Return the length of this vector.
        Returns:
        the length
      • distance

        double distance​(Vector3ic v)
        Return the distance between this Vector and v.
        Parameters:
        v - the other vector
        Returns:
        the distance
      • distance

        double distance​(int x,
                        int y,
                        int z)
        Return the distance between this vector and (x, y, z).
        Parameters:
        x - the x component of the other vector
        y - the y component of the other vector
        z - the z component of the other vector
        Returns:
        the euclidean distance
      • gridDistance

        long gridDistance​(Vector3ic v)
        Return the grid distance in between (aka 1-Norm, Minkowski or Manhattan distance) (x, y).
        Parameters:
        v - the other vector
        Returns:
        the grid distance
      • gridDistance

        long gridDistance​(int x,
                          int y,
                          int z)
        Return the grid distance in between (aka 1-Norm, Minkowski or Manhattan distance) (x, y).
        Parameters:
        x - the x component of the other vector
        y - the y component of the other vector
        z - the y component of the other vector
        Returns:
        the grid distance
      • distanceSquared

        long distanceSquared​(Vector3ic v)
        Return the square of the distance between this vector and v.
        Parameters:
        v - the other vector
        Returns:
        the squared of the distance
      • distanceSquared

        long distanceSquared​(int x,
                             int y,
                             int z)
        Return the square of the distance between this vector and (x, y, z).
        Parameters:
        x - the x component of the other vector
        y - the y component of the other vector
        z - the z component of the other vector
        Returns:
        the square of the distance
      • negate

        Vector3i negate​(Vector3i dest)
        Negate this vector and store the result in dest.
        Parameters:
        dest - will hold the result
        Returns:
        dest
      • min

        Vector3i min​(Vector3ic v,
                     Vector3i dest)
        Set the components of dest to be the component-wise minimum of this and the other vector.
        Parameters:
        v - the other vector
        dest - will hold the result
        Returns:
        dest
      • max

        Vector3i max​(Vector3ic v,
                     Vector3i dest)
        Set the components of dest to be the component-wise maximum of this and the other vector.
        Parameters:
        v - the other vector
        dest - will hold the result
        Returns:
        dest
      • get

        int get​(int component)
         throws IllegalArgumentException
        Get the value of the specified component of this vector.
        Parameters:
        component - the component, within [0..2]
        Returns:
        the value
        Throws:
        IllegalArgumentException - if component is not within [0..2]
      • maxComponent

        int maxComponent​()
        Determine the component with the biggest absolute value.
        Returns:
        the component index, within [0..2]
      • minComponent

        int minComponent​()
        Determine the component with the smallest (towards zero) absolute value.
        Returns:
        the component index, within [0..2]
      • absolute

        Vector3i absolute​(Vector3i dest)
        Compute the absolute of each of this vector's components and store the result into dest.
        Parameters:
        dest - will hold the result
        Returns:
        dest
      • equals

        boolean equals​(int x,
                       int y,
                       int z)
        Compare the vector components of this vector with the given (x, y, z) and return whether all of them are equal.
        Parameters:
        x - the x component to compare to
        y - the y component to compare to
        z - the z component to compare to
        Returns:
        true if all the vector components are equal