struct Oid::Vector3

Overview

Representation of 3D vector

Included Modules

Defined in:

oid/resources/vectors/quaternion.cr
oid/resources/vectors/vector3.cr

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from module Oid::Vector

!=(other) !=, %(other : Vector) %, *(other : Vector)
*(other : Float64)
*
, **(other : Vector) **, +(other : Vector)
+(other : Float64)
+
, -(other : Vector)
-
-
, /(other : Vector)
/(other : Float64)
/
, ==(other) ==, clone
clone(&b)
clone
, cross(other) cross, distance(other : Vector) distance, dot(other) dot, heading heading, mag mag, magnitude magnitude, normalize normalize, normalize! normalize!, values values, zero! zero!

Constructor Detail

def self.new(x, y, z) #

Initializes vector with #x, #y, and #z


[View source]
def self.new(pull : JSON::PullParser) #

def self.new(angle : Vector3, length : Float64 = 1.0) #

[View source]

Class Method Detail

def self.back #

Shorthand for writing Vector3.new(x: 0, y: 0, z: -1).


[View source]
def self.down #

Shorthand for writing Vector3.new(x: 0, y: -1, z: 0).


[View source]
def self.forward #

Shorthand for writing Vector3.new(x: 0, y: 0, z: 1).


[View source]
def self.left #

Shorthand for writing Vector3.new(x: -1, y: 0, z: 0).


[View source]
def self.right #

Shorthand for writing Vector3.new(x: 1, y: 0, z: 0).


[View source]
def self.up #

Shorthand for writing Vector3.new(x: 0, y: 1, z: 0).


[View source]
def self.zero #

Zero vector


[View source]

Instance Method Detail

def !=(other : Vector) #

[View source]
def *(other : Vector) #
Description copied from module Oid::Vector

Performs component multiplication (for dot product see #dot)


[View source]
def *(other : Float64) #
Description copied from module Oid::Vector

Performs multiplication


[View source]
def +(other : Vector) #
Description copied from module Oid::Vector

Performs component addition


[View source]
def +(other : Float64) #
Description copied from module Oid::Vector

Performs component addition


[View source]
def -(other : Vector) #
Description copied from module Oid::Vector

Performs component subtraction


[View source]
def -(other : Float64) #

[View source]
def - #
Description copied from module Oid::Vector

Returns negated vector


[View source]
def /(other : Vector) #

[View source]
def ==(other : self) #

[View source]
def angle(other : Vector) #

[View source]
def angle #

[View source]
def clone #

[View source]
def cross(other) #

Cross product


[View source]
def distance(other : Vector) #

[View source]
def dot(other) #

Dot product


[View source]
def find_normal_axis(other : Vector) #

[View source]
def magnitude #

[View source]
def normalize! #
Description copied from module Oid::Vector

Normalizes current vector


[View source]
def reflect(q : Quaternion) #

[View source]
def rotate(euler : Vector3) #

[View source]
def rotate(q : Quaternion) #

[View source]
def to_v2 #

[View source]
def to_v4 #

[View source]
def values #

[View source]
def x : Float64 #

[View source]
def x=(x : Float64) #

[View source]
def y : Float64 #

[View source]
def y=(y : Float64) #

[View source]
def z : Float64 #

[View source]
def z=(z : Float64) #

[View source]
def zero! #

[View source]