Class Vector3Int

  • All Implemented Interfaces:
    IVector3

    public class Vector3Int
    extends java.lang.Object
    implements IVector3
    • Field Detail

      • ZERO

        public static final IVector3 ZERO
        Zero vector.
    • Constructor Detail

      • Vector3Int

        public Vector3Int()
        Creates a new Vector3Int with the value (0,0,0).
      • Vector3Int

        public Vector3Int​(IVector3 vector)
        Creates a new Vector3 with the same value as the input vector.
      • Vector3Int

        public Vector3Int​(int scalar)
        Creates a new Vector3Int using the scalar to assign the value (scalar,scalar).
      • Vector3Int

        public Vector3Int​(int x,
                          int y,
                          int z)
        Creates a new Vector3Int with the given value.
    • Method Detail

      • add

        public IVector3 add​(double scalar)
        Adds a scalar to each component of this vector.
        Specified by:
        add in interface IVector3
        Parameters:
        scalar - scalar value as double
        Returns:
        a reference to the called vector (NOT a copy)
      • add

        public IVector3 add​(IVector1 scalar)
        Adds a scalar to each component of this vector.
        Specified by:
        add in interface IVector3
        Parameters:
        scalar - scalar value
        Returns:
        a reference to the called vector (NOT a copy)
      • add

        public IVector3 add​(IVector3 vector)
        Adds another vector to this vector, adding individual components.
        Specified by:
        add in interface IVector3
        Parameters:
        vector - the vector to add to this vector
        Returns:
        a reference to the called vector (NOT a copy)
      • subtract

        public IVector3 subtract​(IVector1 scalar)
        Subtracts a scalar to each component of this vector.
        Specified by:
        subtract in interface IVector3
        Parameters:
        scalar - scalar value as double
        Returns:
        a reference to the called vector (NOT a copy)
      • subtract

        public IVector3 subtract​(IVector3 vector)
        Subtracts a scalar to each component of this vector.
        Specified by:
        subtract in interface IVector3
        Parameters:
        scalar - scalar value as double
        Returns:
        a reference to the called vector (NOT a copy)
      • assign

        public IVector3 assign​(IVector3 vector)
        Assigns this vector the values of another vector.
        Specified by:
        assign in interface IVector3
        Parameters:
        vector - the other vector
        Returns:
        a reference to the called vector (NOT a copy)
      • copy

        public IVector3 copy()
        Makes a copy of the vector without using the complex clone interface.
        Specified by:
        copy in interface IVector3
        Returns:
        copy of the vector
      • divide

        public IVector3 divide​(IVector3 vector)
        Performs a division on the vector.
        Specified by:
        divide in interface IVector3
        Parameters:
        vector - vector
        Returns:
        a reference to the called vector (NOT a copy)
      • equals

        public boolean equals​(IVector3 vector)
        Compares the vector to another vector. The vectors are equal if the components are equal.
        Specified by:
        equals in interface IVector3
        Parameters:
        vector - the other vector
        Returns:
        true if the vectors are equal
      • getDirection

        public IVector2 getDirection()
        Returns the direction of the vector.
        Specified by:
        getDirection in interface IVector3
        Returns:
        vector direction
      • getDistance

        public IVector1 getDistance​(IVector3 vector)
        Returns the distance to another vector.
        Specified by:
        getDistance in interface IVector3
        Parameters:
        vector - other vector
        Returns:
        distance
      • getLength

        public IVector1 getLength()
        Returns the length (magnitude) of the vector.
        Specified by:
        getLength in interface IVector3
        Returns:
        vector length
      • getX

        public IVector1 getX()
        Returns the x-component of the vector.
        Specified by:
        getX in interface IVector3
        Returns:
        x-component
      • getXAsBigDecimal

        public java.math.BigDecimal getXAsBigDecimal()
        Returns the x-component of the vector as BigDecimal.
        Specified by:
        getXAsBigDecimal in interface IVector3
        Returns:
        x-component as BigDecimal
      • getXAsDouble

        public double getXAsDouble()
        Returns the x-component of the vector as double.
        Specified by:
        getXAsDouble in interface IVector3
        Returns:
        x-component as double
      • getXAsFloat

        public float getXAsFloat()
        Returns the x-component of the vector as float.
        Specified by:
        getXAsFloat in interface IVector3
        Returns:
        x-component as float
      • getXAsInteger

        public int getXAsInteger()
        Returns the x-component of the vector as integer.
        Specified by:
        getXAsInteger in interface IVector3
        Returns:
        x-component as integer
      • getXAsLong

        public long getXAsLong()
        Returns the x-component of the vector as long.
        Specified by:
        getXAsLong in interface IVector3
        Returns:
        x-component as long
      • getY

        public IVector1 getY()
        Returns the y-component of the vector.
        Specified by:
        getY in interface IVector3
        Returns:
        y-component
      • getYAsBigDecimal

        public java.math.BigDecimal getYAsBigDecimal()
        Returns the y-component of the vector as BigDecimal.
        Specified by:
        getYAsBigDecimal in interface IVector3
        Returns:
        y-component as BigDecimal
      • getYAsDouble

        public double getYAsDouble()
        Returns the y-component of the vector as double.
        Specified by:
        getYAsDouble in interface IVector3
        Returns:
        y-component as double
      • getYAsFloat

        public float getYAsFloat()
        Returns the y-component of the vector as float.
        Specified by:
        getYAsFloat in interface IVector3
        Returns:
        y-component as float
      • getYAsInteger

        public int getYAsInteger()
        Returns the y-component of the vector as integer.
        Specified by:
        getYAsInteger in interface IVector3
        Returns:
        y-component as integer
      • getYAsLong

        public long getYAsLong()
        Returns the y-component of the vector as long.
        Specified by:
        getYAsLong in interface IVector3
        Returns:
        y-component as long
      • getZ

        public IVector1 getZ()
        Returns the z-component of the vector.
        Specified by:
        getZ in interface IVector3
        Returns:
        z-component
      • getZAsBigDecimal

        public java.math.BigDecimal getZAsBigDecimal()
        Returns the z-component of the vector as BigDecimal.
        Specified by:
        getZAsBigDecimal in interface IVector3
        Returns:
        z-component as BigDecimal
      • getZAsDouble

        public double getZAsDouble()
        Returns the z-component of the vector as double.
        Specified by:
        getZAsDouble in interface IVector3
        Returns:
        z-component as double
      • getZAsFloat

        public float getZAsFloat()
        Returns the z-component of the vector as float.
        Specified by:
        getZAsFloat in interface IVector3
        Returns:
        z-component as float
      • getZAsInteger

        public int getZAsInteger()
        Returns the z-component of the vector as integer.
        Specified by:
        getZAsInteger in interface IVector3
        Returns:
        z-component as integer
      • getZAsLong

        public long getZAsLong()
        Returns the z-component of the vector as long.
        Specified by:
        getZAsLong in interface IVector3
        Returns:
        z-component as long
      • mod

        public IVector3 mod​(IVector3 modulus)
        Applies a modulo vector. The modulus will be added first so that values in the interval (-modulus, 0) will wrap over into the positive range.
        Specified by:
        mod in interface IVector3
        Parameters:
        modulus - modulus
        Returns:
        a reference to the called vector (NOT a copy)
      • multiply

        public IVector3 multiply​(double scalar)
        Performs a scalar multiplication (scaling) on the vector.
        Specified by:
        multiply in interface IVector3
        Parameters:
        scalar - the scale factor double
        Returns:
        a reference to the called vector (NOT a copy)
      • multiply

        public IVector3 multiply​(IVector1 scalar)
        Performs a scalar multiplication (scaling) on the vector.
        Specified by:
        multiply in interface IVector3
        Parameters:
        scalar - the scale factor
        Returns:
        a reference to the called vector (NOT a copy)
      • multiply

        public IVector3 multiply​(IVector3 vector)
        Performs a multiplication on the vector.
        Specified by:
        multiply in interface IVector3
        Parameters:
        vector - vector
        Returns:
        a reference to the called vector (NOT a copy)
      • negate

        public IVector3 negate()
        Negates the vector by negating its components.
        Specified by:
        negate in interface IVector3
        Returns:
        a reference to the called vector (NOT a copy)
      • negateX

        public IVector3 negateX()
        Negates the x-component.
        Specified by:
        negateX in interface IVector3
        Returns:
        a reference to the called vector (NOT a copy)
      • negateY

        public IVector3 negateY()
        Negates the y-component.
        Specified by:
        negateY in interface IVector3
        Returns:
        a reference to the called vector (NOT a copy)
      • negateZ

        public IVector3 negateZ()
        Negates the z-component.
        Specified by:
        negateZ in interface IVector3
        Returns:
        a reference to the called vector (NOT a copy)
      • normalize

        public IVector3 normalize()
        Converts the vector to a unit vector (normalization)
        Specified by:
        normalize in interface IVector3
      • randomX

        public IVector3 randomX​(IVector1 lower,
                                IVector1 upper)
        Sets the x-component to a random value in the interval [lower,upper]
        Specified by:
        randomX in interface IVector3
        Returns:
        a reference to the called vector (NOT a copy)
      • randomY

        public IVector3 randomY​(IVector1 lower,
                                IVector1 upper)
        Sets the y-component to a random value in the interval [lower,upper]
        Specified by:
        randomY in interface IVector3
        Returns:
        a reference to the called vector (NOT a copy)
      • randomZ

        public IVector3 randomZ​(IVector1 lower,
                                IVector1 upper)
        Sets the z-component to a random value in the interval [lower,upper]
        Specified by:
        randomZ in interface IVector3
        Returns:
        a reference to the called vector (NOT a copy)
      • subtract

        public IVector3 subtract​(double scalar)
        Subtracts a scalar to each component of this vector.
        Specified by:
        subtract in interface IVector3
        Parameters:
        scalar - scalar value as double
        Returns:
        a reference to the called vector (NOT a copy)
      • zero

        public IVector3 zero()
        Description copied from interface: IVector3
        Sets all vector components to zero.
        Specified by:
        zero in interface IVector3
        Returns:
        a reference to the called vector (NOT a copy)
      • clone

        public java.lang.Object clone()
                               throws java.lang.CloneNotSupportedException
        Description copied from interface: IVector3
        Generates a deep clone of the vector.
        Specified by:
        clone in interface IVector3
        Overrides:
        clone in class java.lang.Object
        Returns:
        clone of this vector
        Throws:
        java.lang.CloneNotSupportedException
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object