struct Graphene::Matrix

Overview

A structure capable of holding a 4x4 matrix.

The contents of the #graphene_::matrix_t structure are private and should never be accessed directly.

Defined in:

lib/gi-crystal/src/auto/graphene-1.0/matrix.cr

Constructors

Class Method Summary

Instance Method Summary

Constructor Detail

def self.new(pointer : Pointer(Void), transfer : GICrystal::Transfer) #

[View source]
def self.new(data : LibGraphene::Matrix, _transfer : GICrystal::Transfer) #

[View source]
def self.new(value : Graphene::Simd4X4F | Nil = nil) #

[View source]

Class Method Detail

def self.g_type : UInt64 #

Returns the type id (GType) registered in GLib type system.


[View source]

Instance Method Detail

def ==(other : self) : Bool #

[View source]
def decompose : Graphene::Vec3 #

[View source]
def determinant : Float32 #

[View source]
def equal(b : Graphene::Matrix) : Bool #

[View source]
def equal_fast(b : Graphene::Matrix) : Bool #

[View source]
def free : Nil #

[View source]
def init_from_2d(xx : Float64, yx : Float64, xy : Float64, yy : Float64, x_0 : Float64, y_0 : Float64) : Graphene::Matrix #

[View source]
def init_from_float(v : Enumerable(Float32)) : Graphene::Matrix #

[View source]
def init_from_float(*v : Float32) #

[View source]
def init_from_matrix(src : Graphene::Matrix) : Graphene::Matrix #

[View source]
def init_from_vec4(v0 : Graphene::Vec4, v1 : Graphene::Vec4, v2 : Graphene::Vec4, v3 : Graphene::Vec4) : Graphene::Matrix #

[View source]
def init_frustum(left : Float32, right : Float32, bottom : Float32, top : Float32, z_near : Float32, z_far : Float32) : Graphene::Matrix #

[View source]
def init_identity : Graphene::Matrix #

[View source]
def init_look_at(eye : Graphene::Vec3, center : Graphene::Vec3, up : Graphene::Vec3) : Graphene::Matrix #

[View source]
def init_ortho(left : Float32, right : Float32, top : Float32, bottom : Float32, z_near : Float32, z_far : Float32) : Graphene::Matrix #

[View source]
def init_perspective(fovy : Float32, aspect : Float32, z_near : Float32, z_far : Float32) : Graphene::Matrix #

[View source]
def init_rotate(angle : Float32, axis : Graphene::Vec3) : Graphene::Matrix #

[View source]
def init_scale(x : Float32, y : Float32, z : Float32) : Graphene::Matrix #

[View source]
def init_skew(x_skew : Float32, y_skew : Float32) : Graphene::Matrix #

[View source]
def init_translate(p : Graphene::Point3D) : Graphene::Matrix #

[View source]
def interpolate(b : Graphene::Matrix, factor : Float64) : Graphene::Matrix #

[View source]
def inverse : Graphene::Matrix #

[View source]
def is_2d : Bool #

[View source]
def is_backface_visible : Bool #

[View source]
def is_identity : Bool #

[View source]
def is_singular : Bool #

[View source]
def multiply(b : Graphene::Matrix) : Graphene::Matrix #

[View source]
def near(b : Graphene::Matrix, epsilon : Float32) : Bool #

[View source]
def normalize : Graphene::Matrix #

[View source]
def perspective(depth : Float32) : Graphene::Matrix #

[View source]
def print : Nil #

[View source]
def project_point(p : Graphene::Point) : Graphene::Point #

[View source]
def project_rect(r : Graphene::Rect) : Graphene::Quad #

[View source]
def project_rect_bounds(r : Graphene::Rect) : Graphene::Rect #

[View source]
def rotate(angle : Float32, axis : Graphene::Vec3) : Nil #

[View source]
def rotate_euler(e : Graphene::Euler) : Nil #

[View source]
def rotate_quaternion(q : Graphene::Quaternion) : Nil #

[View source]
def rotate_x(angle : Float32) : Nil #

[View source]
def rotate_y(angle : Float32) : Nil #

[View source]
def rotate_z(angle : Float32) : Nil #

[View source]
def row(index_ : UInt32) : Graphene::Vec4 #

[View source]
def scale(factor_x : Float32, factor_y : Float32, factor_z : Float32) : Nil #

[View source]
def skew_xy(factor : Float32) : Nil #

[View source]
def skew_xz(factor : Float32) : Nil #

[View source]
def skew_yz(factor : Float32) : Nil #

[View source]
def to_2d(xx : Float64, yx : Float64, xy : Float64, yy : Float64, x_0 : Float64, y_0 : Float64) : Bool #

[View source]
def to_float(v : Enumerable(Float32)) : Nil #

[View source]
def to_float(*v : Float32) #

[View source]
def transform_bounds(r : Graphene::Rect) : Graphene::Rect #

[View source]
def transform_box(b : Graphene::Box) : Graphene::Box #

[View source]
def transform_point(p : Graphene::Point) : Graphene::Point #

[View source]
def transform_point3d(p : Graphene::Point3D) : Graphene::Point3D #

[View source]
def transform_ray(r : Graphene::Ray) : Graphene::Ray #

[View source]
def transform_rect(r : Graphene::Rect) : Graphene::Quad #

[View source]
def transform_sphere(s : Graphene::Sphere) : Graphene::Sphere #

[View source]
def transform_vec3(v : Graphene::Vec3) : Graphene::Vec3 #

[View source]
def transform_vec4(v : Graphene::Vec4) : Graphene::Vec4 #

[View source]
def translate(pos : Graphene::Point3D) : Nil #

[View source]
def transpose : Graphene::Matrix #

[View source]
def unproject_point3d(modelview : Graphene::Matrix, point : Graphene::Point3D) : Graphene::Point3D #

[View source]
def untransform_bounds(r : Graphene::Rect, bounds : Graphene::Rect) : Graphene::Rect #

[View source]
def untransform_point(p : Graphene::Point, bounds : Graphene::Rect) : Graphene::Point #

[View source]
def value(row : UInt32, col : UInt32) : Float32 #

[View source]
def value(*args, **options) #

[View source]
def value(*args, **options, &) #

[View source]
def value=(arg) #

[View source]
def x_scale : Float32 #

[View source]
def x_translation : Float32 #

[View source]
def y_scale : Float32 #

[View source]
def y_translation : Float32 #

[View source]
def z_scale : Float32 #

[View source]
def z_translation : Float32 #

[View source]