| Modifier and Type | Method and Description |
|---|---|
static <T> PVector4L<T> |
absolute(PVector4L<T> v0)
Calculate the absolute of
v0. |
static <T> PVector4L<T> |
add(PVector4L<T> v0,
PVector4L<T> v1)
Add
v0 to v1. |
static <T> PVector4L<T> |
addScaled(PVector4L<T> v0,
PVector4L<T> v1,
double r)
Add
v0 to v1 * r. |
static <T> PVector4L<T> |
clamp(PVector4L<T> v,
PVector4L<T> v_min,
PVector4L<T> v_max)
Clamp the values in
v by v_min and v_max. |
static <T> long |
distance(PVector4L<T> v0,
PVector4L<T> v1)
Calculate the distance between
v0 and v1. |
static <T> long |
dotProduct(PVector4L<T> v0,
PVector4L<T> v1)
Calculate the scalar product of the vectors
v0 and v1. |
static <T> PVector4L<T> |
interpolateBilinear(PVector4L<T> x0y0,
PVector4L<T> x1y0,
PVector4L<T> x0y1,
PVector4L<T> x1y1,
double px,
double py)
Bilinearly interpolate between
x0y0, x1y0, x0y1, x1y1. |
static <T> PVector4L<T> |
interpolateLinear(PVector4L<T> v0,
PVector4L<T> v1,
double alpha)
Linearly interpolate between
v0 and v1 by the amount alpha. |
static <T> double |
magnitude(PVector4L<T> v0)
Calculate the magnitude of the vector
v0. |
static <T> long |
magnitudeSquared(PVector4L<T> v0)
Calculate the squared magnitude of the vector
v0. |
static <T> PVector4L<T> |
negate(PVector4L<T> v)
Calculate the negation of
v. |
static <T> PVector4L<T> |
scale(PVector4L<T> v0,
double r)
Scale
v0 by r. |
static <T> PVector4L<T> |
subtract(PVector4L<T> v0,
PVector4L<T> v1)
Subtract
v1 from v0. |
static <A> PVector4L<A> |
toParameterized(Vector4L v) |
static <A> Vector4L |
toUnparameterized(PVector4L<A> v) |
static <T> PVector4L<T> |
zero()
The zero vector.
|
public static <T> PVector4L<T> absolute(PVector4L<T> v0)
v0.T - A phantom type parameter
* @param v0 The vector(abs v0.x, abs v0.y, abs v0.z, abs v0.w) public static <T> PVector4L<T> add(PVector4L<T> v0, PVector4L<T> v1)
v0 to v1.T - A phantom type parameter
* @param v0 The left vectorv1 - The right vector(v0.x + v1.x, v0.y + v0.y, v0.z + v1.z, v0.w + v1.w) public static <T> PVector4L<T> addScaled(PVector4L<T> v0, PVector4L<T> v1, double r)
v0 to v1 * r.T - A phantom type parameter
* @param v0 The left vectorv1 - The right vectorr - The scaling value(v0.x + (v1.x * r), v0.y + (v0.y * r), v0.z + (v1.z * r), v0.w + (v1.w * r)) public static <T> PVector4L<T> clamp(PVector4L<T> v, PVector4L<T> v_min, PVector4L<T> v_max)
v by v_min and v_max.T - A phantom type parameter
* @param v The source vectorv_min - The minimum vectorv_max - The maximum vector(max(min(v.x, v_max.x()), v_min.x()),
max(min(v.y, v_max.y()), v_min.y()),
max(min(v.z, v_max.z()), v_min.z()),
max(min(v.w, v_max.w()), v_min.w())) public static <T> long distance(PVector4L<T> v0, PVector4L<T> v1)
v0 and v1.T - A phantom type parameter
* @param v0 The left vectorv1 - The right vectorv0 and v1.public static <T> long dotProduct(PVector4L<T> v0, PVector4L<T> v1)
v0 and v1.T - A phantom type parameter
* @param v0 The left vectorv1 - The right vectorpublic static <T> PVector4L<T> interpolateLinear(PVector4L<T> v0, PVector4L<T> v1, double alpha)
Linearly interpolate between v0 and v1 by the amount alpha.
The alpha parameter controls the degree of interpolation, such that:
interpolateLinear(v0, v1, 0.0) = v0interpolateLinear(v0, v1, 1.0) = v1T - A phantom type parameter
* @return ((1 - alpha) * v0) + (alpha * v1)v0 - The left input vectorv1 - The right input vectoralpha - The interpolation value in the range [0, 1]public static <T> PVector4L<T> interpolateBilinear(PVector4L<T> x0y0, PVector4L<T> x1y0, PVector4L<T> x0y1, PVector4L<T> x1y1, double px, double py)
Bilinearly interpolate between x0y0, x1y0, x0y1, x1y1.
The px and py parameters control the degree of interpolation, such that:
interpolateBilinear(x0y0, x1y0, x0y1, x1y1, 0.0, 0.0) = x0y0interpolateBilinear(x0y0, x1y0, x0y1, x1y1, 1.0, 0.0) = x1y0interpolateBilinear(x0y0, x1y0, x0y1, x1y1, 0.0, 1.0) = x0y1interpolateBilinear(x0y0, x1y0, x0y1, x1y1, 1.0, 1.0) = x1y1T - A phantom type parameter
* @return The bilinearly interpolated valuex0y0 - The top left input vectorx1y0 - The top right input vectorx0y1 - The bottom left input vectorx1y1 - The bottom right input vectorpx - The X interpolation value in the range [0, 1]py - The Y interpolation value in the range [0, 1]public static <T> long magnitudeSquared(PVector4L<T> v0)
v0.T - A phantom type parameter
* @param v0 The vectorpublic static <T> double magnitude(PVector4L<T> v0)
v0.T - A phantom type parameter
* @param v0 The vectorpublic static <T> PVector4L<T> negate(PVector4L<T> v)
v.T - A phantom type parameter
* @param v The vector(-v.x, -v.y, -v.z, -v.w) public static <T> PVector4L<T> scale(PVector4L<T> v0, double r)
v0 by r.T - A phantom type parameter
* @param v0 The left vectorr - The scaling value(v0.x * r, v0.y * r, v0.z * r, v0.w * r) public static <T> PVector4L<T> subtract(PVector4L<T> v0, PVector4L<T> v1)
v1 from v0.T - A phantom type parameter
* @param v0 The left vectorv1 - The right vector(v0.x - v1.x, v0.y - v0.y, v0.z - v1.z, v0.w - v1.w) public static <T> PVector4L<T> zero()
T - A phantom type parameter(0, 0, 0, 0) public static <A> Vector4L toUnparameterized(PVector4L<A> v)
A - A phantom type parameter (possibly representing a coordinate system)v - The input vectorm but without type parametersCopyright © 2017 <code@io7m.com> http://io7m.com