Clearable
, EpsilonComparable<Vector3D>
, GeometricallyComparable<Vector3D>
, GeometryObject<Vector3D>
, Settable<Vector3D>
, Transformable
, Tuple3DBasics
, Tuple3DReadOnly
, Vector3DBasics
, Vector3DReadOnly
public class Vector3D extends java.lang.Object implements Vector3DBasics, GeometryObject<Vector3D>
This version of 3D vector uses double precision fields to save the value of each component. It is meant for garbage free usage.
EPS_MAX_LENGTH
Constructor | Description |
---|---|
Vector3D() |
Creates a new vector and initializes it components to zero.
|
Vector3D(double[] vectorArray) |
Creates a new vector and initializes its component
x , y , z in order
from the given array. |
Vector3D(double x,
double y,
double z) |
Creates a new vector and initializes it with the given components.
|
Vector3D(Tuple2DReadOnly tuple2DReadOnly) |
Creates a new vector and initializes its x and y components to
tuple2DReadOnly . |
Vector3D(Tuple3DReadOnly other) |
Creates a new vector and initializes it to
other . |
Modifier and Type | Method | Description |
---|---|---|
boolean |
epsilonEquals(Vector3D other,
double epsilon) |
Tests on a per component basis if this vector is equal to the given
other to an
epsilon . |
boolean |
equals(java.lang.Object object) |
Tests if the given
object 's class is the same as this, in which case the method
returns Tuple3DReadOnly.equals(Tuple3DReadOnly) , it returns false otherwise. |
boolean |
geometricallyEquals(Vector3D other,
double epsilon) |
Tests if
this and other represent the same vector 3D to an epsilon . |
double |
getX() |
Returns the value of the x-component of this vector.
|
double |
getY() |
Returns the value of the y-component of this vector.
|
double |
getZ() |
Returns the value of the z-component of this vector.
|
int |
hashCode() |
Calculates and returns a hash code value from the value of each component of this vector 3D.
|
void |
set(Vector3D other) |
Sets this vector to
other . |
void |
setX(double x) |
Sets the x-component of this vector.
|
void |
setY(double y) |
Sets the y-component of this vector.
|
void |
setZ(double z) |
Sets the z-component of this vector.
|
java.lang.String |
toString() |
Provides a
String representation of this vector 3D as follows: (x, y, z). |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
absolute, add, add, add, addX, addY, addZ, clipToMax, clipToMin, clipToMinMax, containsNaN, interpolate, interpolate, negate, scale, scale, scaleAdd, scaleAdd, scaleSub, scaleSub, set, set, set, set, set, set, set, set, set, set, set, setAndAbsolute, setAndClipToMax, setAndClipToMin, setAndClipToMinMax, setAndNegate, setAndScale, setElement, setToNaN, setToZero, sub, sub, sub, subX, subY, subZ
epsilonEquals, equals, get, get, get, get, get, get, get, getElement, getElement32, getX32, getY32, getZ32
applyInverseTransform, applyTransform, clipToMaxLength, cross, cross, normalize, setAndNormalize
angle, dot, geometricallyEquals, length, lengthSquared
public Vector3D()
public Vector3D(double x, double y, double z)
x
- the x-component.y
- the y-component.z
- the z-component.public Vector3D(double[] vectorArray)
x
, y
, z
in order
from the given array.vectorArray
- the array containing this vector's components. Not modified.public Vector3D(Tuple2DReadOnly tuple2DReadOnly)
tuple2DReadOnly
.tuple2DReadOnly
- the tuple to copy the coordinates from. Not modified.public Vector3D(Tuple3DReadOnly other)
other
.other
- the tuple to copy the components from. Not modified.public void set(Vector3D other)
other
.public void setX(double x)
setX
in interface Tuple3DBasics
x
- the x-component.public void setY(double y)
setY
in interface Tuple3DBasics
y
- the y-component.public void setZ(double z)
setZ
in interface Tuple3DBasics
z
- the z-component.public double getX()
getX
in interface Tuple3DReadOnly
public double getY()
getY
in interface Tuple3DReadOnly
public double getZ()
getZ
in interface Tuple3DReadOnly
public boolean equals(java.lang.Object object)
object
's class is the same as this, in which case the method
returns Tuple3DReadOnly.equals(Tuple3DReadOnly)
, it returns false
otherwise.equals
in class java.lang.Object
object
- the object to compare against this. Not modified.true
if object
and this are exactly equal, false
otherwise.public boolean epsilonEquals(Vector3D other, double epsilon)
other
to an
epsilon
.epsilonEquals
in interface EpsilonComparable<Vector3D>
other
- the other vector to compare against this. Not modified.epsilon
- the tolerance to use when comparing each component.true
if the two tuples are equal, false
otherwise.public boolean geometricallyEquals(Vector3D other, double epsilon)
this
and other
represent the same vector 3D to an epsilon
.
Two vectors are considered geometrically equal if the length of their difference is less than
or equal to epsilon
.
Note that this.geometricallyEquals(other, epsilon) == true
does not necessarily imply
this.epsilonEquals(other, epsilon)
and vice versa.
geometricallyEquals
in interface GeometricallyComparable<Vector3D>
other
- the other vector 3D to compare against this. Not modified.epsilon
- the maximum length of the difference vector can be for the two vectors to be
considered equal.true
if the two vectors represent the same geometry, false
otherwise.public java.lang.String toString()
String
representation of this vector 3D as follows: (x, y, z).toString
in class java.lang.Object
String
representing this vector 3D.public int hashCode()
hashCode
in class java.lang.Object