struct

Geode::Vector4(T)

Inherits Geode::VectorBase < Geode::CommonVector < Geode::VectorOperations < Geode::VectorMatrices < Geode::VectorGeometry < Geode::VectorComparison < Indexable < Enumerable < Iterable < Struct < Value < Object

Vector containing four components. Provides a collection of scalars of the same type.

T is the scalar type.

Constructors

new(x : T, y : T, z : T, w : T)

Creates a vector from its components.

Source
new(components : Tuple(T, T, T, T))

Creates a vector from its components.

Source
new(array : StaticArray(T, 4))

Constructs the vector with pre-existing values.

Source
new(other : CommonVector(T, 4))

Copies the contents of another vector.

Source
new

Constructs the vector by yielding for each component.

The value of each component should be returned from the block. The block will be given the index of each component as an argument.

Vector4(Int32).new { |i| i * 5 } # => (0, 5, 10, 15)
Source

Class methods

[](x : T, y : T, z : T, w : T)

Constructs a vector with existing components.

The type of the components is derived from the type of each argument.

Vector4[1, 2, 3, 4] # => (1, 2, 3, 4)
Source
[](x, y, z, w)

Constructs a vector with existing components.

The type of the components is specified by the type parameter. Each value is cast to the type T.

Vector4F[1, 2, 3, 4] # => (1.0, 2.0, 3.0, 4.0)
Source

Instance methods

to_column

Converts this vector to a column vector, in other words a matrix with one column.

vector = Vector4[1, 2, 3, 4]
vector.to_column # => [[1], [2], [3], [4]]
Source
to_row

Converts this vector to a row vector, in other words a matrix with one row.

vector = Vector4[1, 2, 3, 4]
vector.to_row # => [[1, 2, 3, 4]]
Source
tuple

Retrieves the components as a tuple.

Source
w

Retrieves the w component.

Source
x

Retrieves the x component.

Source
y

Retrieves the y component.

Source
z

Retrieves the z component.

Source