public abstract class AVector extends Object implements IVector, Cloneable, Comparable<AVector>, Serializable, Iterable<Double>
| Constructor and Description |
|---|
AVector() |
| Modifier and Type | Method and Description |
|---|---|
void |
absolute() |
void |
add(AVector v)
Adds another vector to this one
|
void |
add(AVector v,
int offset)
Adds another vector to this one
|
void |
addMultiple(AVector v,
double factor)
Adds a scaled multiple of another vector to this one
|
void |
addMultiple(Vector vector,
Index index,
double factor) |
void |
addProduct(AVector a,
AVector b) |
void |
addProduct(AVector a,
AVector b,
double factor) |
void |
addWeighted(AVector v,
double factor)
Updates a weighted average of this vector with another vector
|
double |
angle(AVector v)
Returns the euclidean angle between this vector and another vector
|
List<Double> |
asList() |
void |
clamp(double min,
double max)
Clamps all values in the vector to a given range
|
void |
clampMax(double max) |
void |
clampMin(double min) |
AVector |
clone()
Clones the vector, creating a new copy of all data.
|
int |
compareTo(AVector a) |
void |
copy(int start,
int length,
AVector dest,
int destOffset)
Copies a subset of this vector to a vector at the specified offset
|
void |
copyTo(AVector dest,
int offset)
Copies a the contents of a vector to a vector at the specified offset
|
void |
copyTo(double[] data,
int offset)
Copies a the contents of a vector to a double array at the specified offset
|
double |
distance(AVector v) |
double |
distanceL1(AVector v) |
double |
distanceLinf(AVector v) |
double |
distanceSquared(AVector v) |
void |
divide(AVector v) |
void |
divide(double factor) |
void |
divide(double[] data,
int offset) |
void |
divideTo(double[] data,
int offset) |
double |
dotProduct(AVector v) |
double |
dotProduct(AVector v,
Index ix) |
boolean |
epsilonEquals(AVector v) |
boolean |
epsilonEquals(AVector v,
double tolerance) |
boolean |
equals(Object o)
Test for equality on vectors.
|
void |
fill(double value)
Fills a vector with a given value
|
void |
fillRange(int offset,
int length,
double value) |
abstract double |
get(int i) |
int |
hashCode() |
void |
interpolate(AVector a,
AVector b,
double alpha) |
void |
interpolate(AVector v,
double alpha) |
boolean |
isFullyMutable()
Returns true if this vector is fully mutable, i.e.
|
boolean |
isMutable()
Returns true if this vector is mutable.
|
boolean |
isReference()
Returns true if this vector is of a type that references other vectors / data.
|
boolean |
isUnitLengthVector()
Returns true if the vector has unit length
|
boolean |
isZeroVector()
Returns true if this vector is a zero vector (all components zero)
|
Iterator<Double> |
iterator() |
AVector |
join(AVector second)
Returns a new vector that refers to this vector joined to a second vector
|
abstract int |
length() |
double |
magnitude()
Returns the magnitude (Euclidean length) of the vector
|
double |
magnitudeSquared() |
void |
multiply(AVector v) |
void |
multiply(double factor)
Multiplies the vector by a constant factor
|
void |
multiply(double[] data,
int offset) |
void |
multiplyTo(double[] data,
int offset) |
void |
negate() |
void |
normalise() |
void |
projectToPlane(AVector normal,
double distance) |
void |
scale(double factor) |
void |
scaleAdd(double factor,
AVector v) |
void |
set(AVector a)
Sets the vector to equal the value of another vector
|
void |
set(AVector a,
int offset)
Set the vector equal to an offset into another vector
|
abstract void |
set(int i,
double value) |
void |
set(IVector vector) |
void |
setValues(double... values) |
void |
sub(AVector v)
Subtracts a vector from this vector
|
void |
subMultiple(AVector v,
double factor)
Subtracts a scaled multiple of another vector from this vector
|
AVector |
subVector(int offset,
int length)
Obtains a sub-vector that refers to this vector.
|
double[] |
toArray() |
List<Double> |
toList() |
String |
toString() |
public AVector subVector(int offset, int length)
public AVector join(AVector second)
second - public int compareTo(AVector a)
compareTo in interface Comparable<AVector>public boolean equals(Object o)
public boolean epsilonEquals(AVector v)
public boolean epsilonEquals(AVector v, double tolerance)
public void copyTo(double[] data,
int offset)
public double[] toArray()
public void copyTo(AVector dest, int offset)
public void copy(int start,
int length,
AVector dest,
int destOffset)
public void fill(double value)
value - public void fillRange(int offset,
int length,
double value)
public void clamp(double min,
double max)
value - public void clampMax(double max)
public void clampMin(double min)
public void multiply(double factor)
factor - Factor by which to multiply each component of the vectorpublic void multiply(AVector v)
public void multiply(double[] data,
int offset)
public void multiplyTo(double[] data,
int offset)
public void divide(double factor)
public void divide(AVector v)
public void divide(double[] data,
int offset)
public void divideTo(double[] data,
int offset)
public void absolute()
public void scale(double factor)
public void scaleAdd(double factor,
AVector v)
public void interpolate(AVector v, double alpha)
public double magnitudeSquared()
public double dotProduct(AVector v)
public double magnitude()
public double distanceSquared(AVector v)
public double distance(AVector v)
public double distanceL1(AVector v)
public double distanceLinf(AVector v)
public double angle(AVector v)
public void normalise()
public void negate()
public void set(AVector a)
public void set(AVector a, int offset)
a - offset - public void setValues(double... values)
public AVector clone()
public boolean isReference()
public boolean isMutable()
public boolean isFullyMutable()
public void add(AVector v)
v - public void add(AVector v, int offset)
v - public void addMultiple(AVector v, double factor)
v - public void addWeighted(AVector v, double factor)
v - public void sub(AVector v)
v - public boolean isZeroVector()
public boolean isUnitLengthVector()
public void projectToPlane(AVector normal, double distance)
public void subMultiple(AVector v, double factor)
v - public void set(IVector vector)
Copyright © 2012. All Rights Reserved.