Class: Numerix::Vector4

Inherits:
VectorBase show all
Defined in:
lib/numerix/vector4.rb

Overview

A structure encapsulating four single precision floating point values.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Structure

#[], #[]=, #address, #dup, #each, #pack, #ptr, size, unpack

Constructor Details

#initializeVector4 #initialize(xyzw) ⇒ Vector4 #initialize(x, y, z, w) ⇒ Vector4 #initialize(xyz, w) ⇒ Vector4 #initialize(xy, zw) ⇒ Vector4 #initialize(xy, z, w) ⇒ Vector4

Returns a new instance of Vector4.

Overloads:

  • #initializeVector4

    Creates a Vector with the default values of 0.0.

  • #initialize(xyzw) ⇒ Vector4

    Creates a Vector with each component set to a single value.

  • #initialize(x, y, z, w) ⇒ Vector4

    Creates a Vector with the specified values.

  • #initialize(xyz, w) ⇒ Vector4

    Creates a Vector with the specified values.

  • #initialize(xy, zw) ⇒ Vector4

    Creates a Vector with the specified values.

  • #initialize(xy, z, w) ⇒ Vector4

    Creates a Vector with the specified values.



59
60
# File 'lib/numerix/vector4.rb', line 59

def initialize(*args)
end

Instance Attribute Details

#wFloat



21
22
23
# File 'lib/numerix/vector4.rb', line 21

def w
  @w
end

#xFloat



9
10
11
# File 'lib/numerix/vector4.rb', line 9

def x
  @x
end

#yFloat



13
14
15
# File 'lib/numerix/vector4.rb', line 13

def y
  @y
end

#zFloat



17
18
19
# File 'lib/numerix/vector4.rb', line 17

def z
  @z
end

Class Method Details

.clamp(min, max) ⇒ Vector4 .clamp(min, max) ⇒ Vector4

Returns a vector that is result of clamping a vector between the specified minimum and maximum values.

Overloads:

  • .clamp(min, max) ⇒ Vector4

    Clamps the vector's components between the specified values.

  • .clamp(min, max) ⇒ Vector4

    Clamps the vector's on a component-wise basis between the minimum and maximum values of the specified vectors.



471
472
# File 'lib/numerix/vector4.rb', line 471

def clamp(vector, min, max)
end

.create_norm(x, y, z, w) ⇒ Vector4

Creates and returns a normalized vector from the specified components.

This is more efficient than creating and then normalizing.



450
451
# File 'lib/numerix/vector4.rb', line 450

def create_norm(x, y, z, w)
end

.lerp(vector1, vector2, amount) ⇒ Vector4

Linearly interpolates between two vectors based on the given weighting.



483
484
# File 'lib/numerix/vector4.rb', line 483

def lerp(vector1, vector2, amount)
end

.max(vector, other) ⇒ Vector4 .max(vector, value) ⇒ Vector4

Returns a vector with a maximum set of values.

Overloads:

  • .max(vector, other) ⇒ Vector4

    Returns a vector whose elements are the maximum of each of the pairs of elements in the two source vectors.

  • .max(vector, value) ⇒ Vector4

    Returns a vector whose elements are the maximum of each of vector element and the specified value.



547
548
# File 'lib/numerix/vector4.rb', line 547

def max(vector, other)
end

.min(vector, other) ⇒ Vector4 .min(vector, value) ⇒ Vector4

Returns a vector with a minimum set of values.

Overloads:

  • .min(vector, other) ⇒ Vector4

    Returns a vector whose elements are the minimum of each of the pairs of elements in the two source vectors.

  • .min(vector, value) ⇒ Vector4

    Returns a vector whose elements are the minimum of each of vector element and the specified value.



526
527
# File 'lib/numerix/vector4.rb', line 526

def min(vector, other)
end

.oneVector4



416
417
# File 'lib/numerix/vector4.rb', line 416

def one
end

.transform(vector, matrix) ⇒ Vector4 .transform(vector, rotation) ⇒ Vector4

Creates a Vector4 by transforming the specified vector and transformation matrix or quaternion rotation.

Overloads:

  • .transform(vector, matrix) ⇒ Vector4

    Transforms a vector by the given matrix.

  • .transform(vector, rotation) ⇒ Vector4

    Transforms a vector by the given Quaternion rotation value.



505
506
# File 'lib/numerix/vector4.rb', line 505

def transform(vector, other)
end

.unit_wVector4



436
437
# File 'lib/numerix/vector4.rb', line 436

def unit_w
end

.unit_xVector4



421
422
# File 'lib/numerix/vector4.rb', line 421

def unit_x
end

.unit_yVector4



426
427
# File 'lib/numerix/vector4.rb', line 426

def unit_y
end

.unit_zVector4



431
432
# File 'lib/numerix/vector4.rb', line 431

def unit_z
end

.zeroVector4



411
412
# File 'lib/numerix/vector4.rb', line 411

def zero
end

Instance Method Details

#*(scalar) ⇒ Vector4 #*(other) ⇒ Vector4

Vector multiplication.

Overloads:

  • #*(scalar) ⇒ Vector4

    Scalar vector multiplication.

  • #*(other) ⇒ Vector4

    Multiplies this vector by another.



371
372
# File 'lib/numerix/vector4.rb', line 371

def *(other)
end

#**(exponent) ⇒ Vector4

Raises the vector to the given power.



103
104
# File 'lib/numerix/vector4.rb', line 103

def **(exponent)
end

#+(other) ⇒ Vector4

Adds this vector with another.



346
347
# File 'lib/numerix/vector4.rb', line 346

def +(other)
end

#-(other) ⇒ Vector4

Gets the difference of this vector and another.



354
355
# File 'lib/numerix/vector4.rb', line 354

def -(other)
end

#-@Vector4

Performs unary negation on this vector instance.



404
405
# File 'lib/numerix/vector4.rb', line 404

def -@
end

#*(scalar) ⇒ Vector4 #*(other) ⇒ Vector4

Vector division.

Overloads:

  • #*(scalar) ⇒ Vector4

    Scalar vector division.

  • #*(other) ⇒ Vector4

    Divides this vector by another.



388
389
# File 'lib/numerix/vector4.rb', line 388

def /(other)
end

#==(other) ⇒ Boolean

Returns flag if this vector instance is equal to the given object.



397
398
# File 'lib/numerix/vector4.rb', line 397

def ==(other)
end

#absVector4



241
242
# File 'lib/numerix/vector4.rb', line 241

def abs
end

#clamp(min, max) ⇒ Vector4 #clamp(min, max) ⇒ Vector4

Returns a vector that is result of clamping this vector between the specified minimum and maximum values.

Overloads:

  • #clamp(min, max) ⇒ Vector4

    Clamps the vector's components between the specified values.

  • #clamp(min, max) ⇒ Vector4

    Clamps the vector's on a component-wise basis between the minimum and maximum values of the specified vectors.

See Also:



278
279
# File 'lib/numerix/vector4.rb', line 278

def clamp(min, max)
end

#clamp!(min, max) ⇒ Vector4 #clamp!(min, max) ⇒ Vector4

Clamps this vector between the specified minimum and maximum values.

Overloads:

  • #clamp!(min, max) ⇒ Vector4

    Clamps the vector's components between the specified values.

  • #clamp!(min, max) ⇒ Vector4

    Clamps the vector's on a component-wise basis between the minimum and maximum values of the specified vectors.

See Also:



300
301
# File 'lib/numerix/vector4.rb', line 300

def clamp!(min, max)
end

#distance(vector) ⇒ Float

Returns the Euclidean distance between this vector and another.



146
147
# File 'lib/numerix/vector4.rb', line 146

def distance(vector)
end

#distance_squared(vector) ⇒ Float

Returns the squared Euclidean distance between this vector and another.



154
155
# File 'lib/numerix/vector4.rb', line 154

def distance_squared(vector)
end

#dot(other) ⇒ Float

Returns the dot product of this vector and another.



255
256
# File 'lib/numerix/vector4.rb', line 255

def dot(other)
end

#lengthFloat Also known as: magnitude



108
109
# File 'lib/numerix/vector4.rb', line 108

def length
end

#length_squaredFloat



115
116
# File 'lib/numerix/vector4.rb', line 115

def length_squared
end

#lerp(vector, amount) ⇒ Vector4

Linearly interpolates between this vector and another based on the given weighting.

See Also:



184
185
# File 'lib/numerix/vector4.rb', line 184

def lerp(vector, amount)
end

#lerp!(vector, amount) ⇒ self

Linearly interpolates between this vector and another based on the given weighting, altering the values of this vector.

See Also:



198
199
# File 'lib/numerix/vector4.rb', line 198

def lerp!(vector, amount)
end

#mapObject Also known as: collect

See Also:



76
77
# File 'lib/numerix/vector4.rb', line 76

def map
end

#map! {|component| ... } ⇒ self Also known as: collect!

Invokes the given block once for each element of self, replacing the element with the value returned by the block.

The values of the vector are altered without creating a ne object.

Yields:

  • (component)

    Yields a component of the vector to the block.

Yield Parameters:

  • component (Float)

    The yielded component.

See Also:



91
92
# File 'lib/numerix/vector4.rb', line 91

def map!
end

#max_valueFloat



137
138
# File 'lib/numerix/vector4.rb', line 137

def max_value
end

#min_valueFloat



132
133
# File 'lib/numerix/vector4.rb', line 132

def min_value
end

#normalizeVector4

Returns a new vector with the same direction as the given vector, but with a length of 1.0.



162
163
# File 'lib/numerix/vector4.rb', line 162

def normalize
end

#normalize!self

Alters this vector instance to maintain same direction, but adjust values so that vector has a length of 1.0.



170
171
# File 'lib/numerix/vector4.rb', line 170

def normalize!
end

#one?Boolean



121
122
# File 'lib/numerix/vector4.rb', line 121

def one?
end

#sqrtVector4



246
247
# File 'lib/numerix/vector4.rb', line 246

def sqrt
end

#to_aArray<Float> Also known as: elements



310
311
# File 'lib/numerix/vector4.rb', line 310

def to_a
end

#to_hHash{Symbol => Float}



317
318
# File 'lib/numerix/vector4.rb', line 317

def to_h
end

#to_planePlane



327
328
# File 'lib/numerix/vector4.rb', line 327

def to_plane
end

#to_quaternionQuaternion



322
323
# File 'lib/numerix/vector4.rb', line 322

def to_quaternion
end

#to_sString



305
306
# File 'lib/numerix/vector4.rb', line 305

def to_s
end

#to_vec2Vector2



332
333
# File 'lib/numerix/vector4.rb', line 332

def to_vec2
end

#to_vec3Vector3



337
338
# File 'lib/numerix/vector4.rb', line 337

def to_vec3
end

#transform(matrix) ⇒ Vector4 #transform(rotation) ⇒ Vector4

Returns a new vector by applying a transformation.

Overloads:

  • #transform(matrix) ⇒ Vector4

    Transforms this vector by the given matrix.

  • #transform(rotation) ⇒ Vector4

    Transforms this vector by the specified rotation value.

See Also:



217
218
# File 'lib/numerix/vector4.rb', line 217

def transform(other)
end

#transform(matrix) ⇒ self #transform(rotation) ⇒ self

Transforms this vector.

Overloads:

  • #transform(matrix) ⇒ self

    Transforms this vector by the given matrix.

  • #transform(rotation) ⇒ self

    Transforms this vector by the specified rotation value.

See Also:



236
237
# File 'lib/numerix/vector4.rb', line 236

def transform!(other)
end

#zero?Boolean



127
128
# File 'lib/numerix/vector4.rb', line 127

def zero?
end