class PF::Transform3d

Defined in:

transform3d.cr

Constructors

Class Method Summary

Instance Method Summary

Constructor Detail

def self.new(matrix : PF::Matrix(Float64, 16)) #

[View source]
def self.new #

[View source]

Class Method Detail

def self.apply(point : Vector3(Float64), matrix : Matrix(Float64, 16)) #

TODO Optionally return the result of w in some way (pointer / tuple?)


[View source]
def self.identity #

[View source]
def self.point_at(position : Vector3(Float64), target : Vector3(Float64), up : Vector3(Float64) = Vector[0.0, 1.0, 0.0]) #

[View source]
def self.quick_inverse(other : Matrix) #

Does not work for scaling, only for rotation / translation


[View source]
def self.rot_x(theta : Float64) #

[View source]
def self.rot_y(theta : Float64) #

[View source]
def self.rot_z(theta : Float64) #

[View source]
def self.rotate(r : Vector3(Float64)) #

[View source]
def self.rotation(x : Float64, y : Float64, z : Float64) #

[View source]
def self.rotation(angle : Vector3(Float64)) #

[View source]
def self.translation(x : Float64, y : Float64, z : Float64) #

[View source]
def self.translation(pos : Vector3(Float64)) #

[View source]

Instance Method Detail

def apply(point : Vector3(Float64)) #

TODO Optionally return the result of w in some way (pointer / tuple?)


[View source]
def matrix : Matrix(Float64, 16) #

[View source]
def matrix=(matrix : Matrix(Float64, 16)) #

[View source]
def quick_invert #

Does not work for scaling, only for rotation / translation


[View source]
def reset #

[View source]
def rot_x(theta : Float64) #

[View source]
def rot_y(theta : Float64) #

[View source]
def rot_z(theta : Float64) #

[View source]
def translate(pos : Vector3(Float64)) #

[View source]