sig
type t
external create : unit -> Osg.Matrix.t = "matrix_create"
external to_array : Osg.Matrix.t -> float array array = "matrix_to_array"
val to_tuple :
Osg.Matrix.t ->
(float * float * float * float) * (float * float * float * float) *
(float * float * float * float) * (float * float * float * float)
external pre_mult3 : Osg.Vec3.t -> Osg.Matrix.t -> Osg.Vec3.t
= "matrix_pre_mult3"
external post_mult3 : Osg.Matrix.t -> Osg.Vec3.t -> Osg.Vec3.t
= "matrix_post_mult3"
external pre_mult4 : Osg.Vec4.t -> Osg.Matrix.t -> Osg.Vec4.t
= "matrix_pre_mult4"
external post_mult4 : Osg.Matrix.t -> Osg.Vec4.t -> Osg.Vec4.t
= "matrix_post_mult4"
external mult : Osg.Matrix.t -> Osg.Matrix.t -> Osg.Matrix.t
= "matrix_mult"
external inverse : Osg.Matrix.t -> Osg.Matrix.t = "matrix_inverse"
external translate : float -> float -> float -> Osg.Matrix.t
= "matrix_translate"
external translate_vec3 : Osg.Vec3.t -> Osg.Matrix.t
= "matrix_translate_vec3"
external scale : float -> float -> float -> Osg.Matrix.t = "matrix_scale"
external scale_vec3 : Osg.Vec3.t -> Osg.Matrix.t = "matrix_scale_vec3"
external rotate : float -> float -> float -> float -> Osg.Matrix.t
= "matrix_rotate"
external rotate_vec3 : float -> Osg.Vec3.t -> Osg.Matrix.t
= "matrix_rotate_vec3"
external rotate_quat : Osg.Quat.t -> Osg.Matrix.t = "matrix_rotate_quat"
external rotate_from_to : Osg.Vec3.t -> Osg.Vec3.t -> Osg.Matrix.t
= "matrix_rotate_from_to"
external frustum :
float -> float -> float -> float -> float -> float -> Osg.Matrix.t
= "matrix_frustum_bytecode" "matrix_frustum_native"
external look_at : Osg.Vec3.t -> Osg.Vec3.t -> Osg.Vec3.t -> Osg.Matrix.t
= "matrix_look_at"
external ortho :
float -> float -> float -> float -> float -> float -> Osg.Matrix.t
= "matrix_ortho_bytecode" "matrix_ortho_native"
external ortho_2d : float -> float -> float -> float -> Osg.Matrix.t
= "matrix_ortho_2d"
external get_rotate : Osg.Matrix.t -> Osg.Quat.t = "matrix_get_rotate"
external get_trans : Osg.Matrix.t -> Osg.Vec3.t = "matrix_get_trans"
external get_scale : Osg.Matrix.t -> Osg.Vec3.t = "matrix_get_scale"
external set_rotate : Osg.Matrix.t -> Osg.Quat.t -> unit
= "matrix_set_rotate"
external set_trans : Osg.Matrix.t -> Osg.Vec3.t -> unit
= "matrix_set_trans"
end