Class Vector


  • public class Vector
    extends java.lang.Object
    Represents a vector (i.e. a point in space). This class is completely unrelated to the Vector class in the standard JRE.

    For many PDF related operations, the z coordinate is specified as 1 This is to support the coordinate transformation calculations. If it helps, just think of all PDF drawing operations as occurring in a single plane with z=1.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int I1
      index of the X coordinate
      static int I2
      index of the Y coordinate
      static int I3
      index of the Z coordinate
      private float[] vals
      the values inside the vector
    • Constructor Summary

      Constructors 
      Constructor Description
      Vector​(float x, float y, float z)
      Creates a new Vector
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Vector cross​(Matrix by)
      Computes the cross product of this vector and the specified matrix
      Vector cross​(Vector with)
      Computes the cross product of this vector and the specified vector
      float dot​(Vector with)
      Computes the dot product of this vector with the specified vector
      boolean equals​(java.lang.Object obj)  
      float get​(int index)
      Gets the value from a coordinate of the vector
      int hashCode()
      Calculates the hashcode using the values.
      float length()
      Computes the length of this vector
      Note: If you are working with raw vectors from PDF, be careful - the Z axis will generally be set to 1.
      float lengthSquared()
      Computes the length squared of this vector.
      Vector multiply​(float by)
      Multiplies the vector by a scalar
      Vector normalize()
      Normalizes the vector (i.e.
      Vector subtract​(Vector v)
      Computes the difference between this vector and the specified vector
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • vals

        private final float[] vals
        the values inside the vector
    • Constructor Detail

      • Vector

        public Vector​(float x,
                      float y,
                      float z)
        Creates a new Vector
        Parameters:
        x - the X coordinate
        y - the Y coordinate
        z - the Z coordinate
    • Method Detail

      • get

        public float get​(int index)
        Gets the value from a coordinate of the vector
        Parameters:
        index - the index of the value to get (I1, I2 or I3)
        Returns:
        a coordinate value
      • cross

        public Vector cross​(Matrix by)
        Computes the cross product of this vector and the specified matrix
        Parameters:
        by - the matrix to cross this vector with
        Returns:
        the result of the cross product
      • subtract

        public Vector subtract​(Vector v)
        Computes the difference between this vector and the specified vector
        Parameters:
        v - the vector to subtract from this one
        Returns:
        the results of the subtraction
      • cross

        public Vector cross​(Vector with)
        Computes the cross product of this vector and the specified vector
        Parameters:
        with - the vector to cross this vector with
        Returns:
        the cross product
      • normalize

        public Vector normalize()
        Normalizes the vector (i.e. returns the unit vector in the same orientation as this vector)
        Returns:
        the unit vector
        Since:
        5.0.1
      • multiply

        public Vector multiply​(float by)
        Multiplies the vector by a scalar
        Parameters:
        by - the scalar to multiply by
        Returns:
        the result of the scalar multiplication
        Since:
        5.0.1
      • dot

        public float dot​(Vector with)
        Computes the dot product of this vector with the specified vector
        Parameters:
        with - the vector to dot product this vector with
        Returns:
        the dot product
      • length

        public float length()
        Computes the length of this vector
        Note: If you are working with raw vectors from PDF, be careful - the Z axis will generally be set to 1. If you want to compute the length of a vector, subtract it from the origin first (this will set the Z axis to 0).
        For example: aVector.subtract(originVector).length();
        Returns:
        the length of this vector
      • lengthSquared

        public float lengthSquared()
        Computes the length squared of this vector. The square of the length is less expensive to compute, and is often useful without taking the square root.

        Note: See the important note under length()
        Returns:
        the square of the length of the vector
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
        See Also:
        Object.toString()
      • hashCode

        public int hashCode()
        Calculates the hashcode using the values.
        Overrides:
        hashCode in class java.lang.Object
        Since:
        5.0.6
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object