Class Vector

java.lang.Object
com.itextpdf.kernel.geom.Vector

public class Vector extends 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 final int`
`I1`
index of the X coordinate
`static final int`
`I2`
index of the Y coordinate
`static final int`
`I3`
index of the Z coordinate
• Constructor Summary

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

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(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
`String`
`toString()`

Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`
• Field Details

• I1

public static final int I1
index of the X coordinate
• I2

public static final int I2
index of the Y coordinate
• I3

public static final int I3
index of the Z coordinate
• Constructor Details

• 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 Details

• 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
• 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
• 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 String toString()
Overrides:
`toString` in class `Object`
`hashCode` in class `Object`
`equals` in class `Object`