Package limn.math
Record Class Vec4
java.lang.Object
java.lang.Record
limn.math.Vec4
An immutable 4-component vector: homogeneous positions (
w=1),
directions (w=0), and RGBA colors. The workhorse for matrix transforms.-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionVec4(float x, float y, float z, float w) Creates an instance of aVec4record class. -
Method Summary
Modifier and TypeMethodDescriptionComponent-wise sum, w included.floatFour-component dot product.final booleanIndicates whether some other object is "equal to" this one.floatget(int i) Component by index,0= x through3= w.final inthashCode()Returns a hash code value for this object.mul(float s) Scales all four components, w included.Perspective divide → the xyz in normalized device / world space.final StringtoString()Returns a string representation of this record class.floatw()Returns the value of thewrecord component.floatx()Returns the value of thexrecord component.xyz()The first three components, dropping w without dividing by it.floaty()Returns the value of theyrecord component.floatz()Returns the value of thezrecord component.
-
Field Details
-
ZERO
-
-
Constructor Details
-
Vec4
public Vec4(float x, float y, float z, float w) Creates an instance of aVec4record class.- Parameters:
x- the value for thexrecord componenty- the value for theyrecord componentz- the value for thezrecord componentw- the value for thewrecord component
-
-
Method Details
-
add
Component-wise sum, w included. -
mul
Scales all four components, w included. -
dot
Four-component dot product. -
perspectiveDivide
Perspective divide → the xyz in normalized device / world space. Falls back to xyz whenw≈0. -
xyz
The first three components, dropping w without dividing by it. -
get
public float get(int i) Component by index,0= x through3= w.- Throws:
IndexOutOfBoundsException- for any other index
-
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with '=='. -
x
public float x()Returns the value of thexrecord component.- Returns:
- the value of the
xrecord component
-
y
public float y()Returns the value of theyrecord component.- Returns:
- the value of the
yrecord component
-
z
public float z()Returns the value of thezrecord component.- Returns:
- the value of the
zrecord component
-
w
public float w()Returns the value of thewrecord component.- Returns:
- the value of the
wrecord component
-