// Generated by scripts/generate.mjs from bindings/api.mjs. Do not edit.
///|
#module("@mizchi/three-mbt/constructors")
pub extern "js" fn Matrix4::Matrix4() -> Matrix4 = "matrix4"
///|
pub extern "js" fn Matrix4::clone(self : Matrix4) -> Matrix4 =
#| (self) => self.clone()
///|
pub extern "js" fn Matrix4::copy(self : Matrix4, other : Matrix4) -> Matrix4 =
#| (self, other) => self.copy(other)
///|
pub extern "js" fn Matrix4::equals(self : Matrix4, other : Matrix4) -> Bool =
#| (self, other) => self.equals(other)
///|
pub extern "js" fn Matrix4::same_reference(
self : Matrix4,
other : Matrix4,
) -> Bool =
#| (self, other) => self === other
///|
pub extern "js" fn Matrix4::identity(self : Matrix4) -> Matrix4 =
#| (self) => self.identity()
///|
pub extern "js" fn Matrix4::multiply(
self : Matrix4,
other : Matrix4,
) -> Matrix4 =
#| (self, other) => self.multiply(other)
///|
pub extern "js" fn Matrix4::premultiply(
self : Matrix4,
other : Matrix4,
) -> Matrix4 =
#| (self, other) => self.premultiply(other)
///|
pub extern "js" fn Matrix4::multiply_matrices(
self : Matrix4,
left : Matrix4,
right : Matrix4,
) -> Matrix4 =
#| (self, left, right) => self.multiplyMatrices(left, right)
///|
pub extern "js" fn Matrix4::invert(self : Matrix4) -> Matrix4 =
#| (self) => self.invert()
///|
pub extern "js" fn Matrix4::transpose(self : Matrix4) -> Matrix4 =
#| (self) => self.transpose()
///|
pub extern "js" fn Matrix4::determinant(self : Matrix4) -> Double =
#| (self) => self.determinant()
///|
pub extern "js" fn Matrix4::make_translation(
self : Matrix4,
x : Double,
y : Double,
z : Double,
) -> Matrix4 =
#| (self, x, y, z) => self.makeTranslation(x, y, z)
///|
pub extern "js" fn Matrix4::make_scale(
self : Matrix4,
x : Double,
y : Double,
z : Double,
) -> Matrix4 =
#| (self, x, y, z) => self.makeScale(x, y, z)
///|
pub extern "js" fn Matrix4::make_rotation_x(
self : Matrix4,
angle : Double,
) -> Matrix4 =
#| (self, angle) => self.makeRotationX(angle)
///|
pub extern "js" fn Matrix4::make_rotation_y(
self : Matrix4,
angle : Double,
) -> Matrix4 =
#| (self, angle) => self.makeRotationY(angle)
///|
pub extern "js" fn Matrix4::make_rotation_z(
self : Matrix4,
angle : Double,
) -> Matrix4 =
#| (self, angle) => self.makeRotationZ(angle)
///|
pub extern "js" fn Matrix4::make_rotation_from_quaternion(
self : Matrix4,
quaternion : Quaternion,
) -> Matrix4 =
#| (self, quaternion) => self.makeRotationFromQuaternion(quaternion)
///|
pub extern "js" fn Matrix4::compose(
self : Matrix4,
position : Vector3,
quaternion : Quaternion,
scale : Vector3,
) -> Matrix4 =
#| (self, position, quaternion, scale) => self.compose(position, quaternion, scale)
///|
pub extern "js" fn Matrix4::decompose(
self : Matrix4,
position : Vector3,
quaternion : Quaternion,
scale : Vector3,
) -> Matrix4 =
#| (self, position, quaternion, scale) => self.decompose(position, quaternion, scale)
///|
pub extern "js" fn Matrix4::elements(self : Matrix4) -> FixedArray[Double] =
#| (self) => self.elements.slice()
///|
pub extern "js" fn Matrix4::from_array(
self : Matrix4,
values : FixedArray[Double],
offset : Int,
) -> Matrix4 =
#| (self, values, offset) => self.fromArray(values, offset)
///|
pub extern "js" fn Matrix4::to_array(self : Matrix4) -> FixedArray[Double] =
#| (self) => self.toArray()
///|
pub extern "js" fn Matrix4::to_array_into(
self : Matrix4,
values : FixedArray[Double],
offset : Int,
) -> FixedArray[Double] =
#| (self, values, offset) => self.toArray(values, offset)
///|
pub extern "js" fn Matrix4::set(
self : Matrix4,
n11 : Double,
n12 : Double,
n13 : Double,
n14 : Double,
n21 : Double,
n22 : Double,
n23 : Double,
n24 : Double,
n31 : Double,
n32 : Double,
n33 : Double,
n34 : Double,
n41 : Double,
n42 : Double,
n43 : Double,
n44 : Double,
) -> Matrix4 =
#| (self, n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44) => self.set(n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44)
///|
pub extern "js" fn Matrix4::extract_basis(
self : Matrix4,
x_axis : Vector3,
y_axis : Vector3,
z_axis : Vector3,
) -> Matrix4 =
#| (self, x_axis, y_axis, z_axis) => self.extractBasis(x_axis, y_axis, z_axis)
///|
pub extern "js" fn Matrix4::multiply_scalar(
self : Matrix4,
scale : Double,
) -> Matrix4 =
#| (self, scale) => self.multiplyScalar(scale)
///|
pub extern "js" fn Matrix4::copy_position(
self : Matrix4,
matrix : Matrix4,
) -> Matrix4 =
#| (self, matrix) => self.copyPosition(matrix)
///|
pub extern "js" fn Matrix4::extract_rotation(
self : Matrix4,
matrix : Matrix4,
) -> Matrix4 =
#| (self, matrix) => self.extractRotation(matrix)
///|
pub extern "js" fn Matrix4::set_from_matrix3(
self : Matrix4,
matrix : Matrix3,
) -> Matrix4 =
#| (self, matrix) => self.setFromMatrix3(matrix)
///|
pub extern "js" fn Matrix4::make_basis(
self : Matrix4,
x_axis : Vector3,
y_axis : Vector3,
z_axis : Vector3,
) -> Matrix4 =
#| (self, x_axis, y_axis, z_axis) => self.makeBasis(x_axis, y_axis, z_axis)
///|
pub extern "js" fn Matrix4::make_rotation_from_euler(
self : Matrix4,
euler : Euler,
) -> Matrix4 =
#| (self, euler) => self.makeRotationFromEuler(euler)
///|
pub extern "js" fn Matrix4::look_at(
self : Matrix4,
eye : Vector3,
target : Vector3,
up : Vector3,
) -> Matrix4 =
#| (self, eye, target, up) => self.lookAt(eye, target, up)
///|
pub extern "js" fn Matrix4::determinant_affine(self : Matrix4) -> Double =
#| (self) => self.determinantAffine()
///|
pub extern "js" fn Matrix4::set_position(
self : Matrix4,
position : Vector3,
) -> Matrix4 =
#| (self, position) => self.setPosition(position)
///|
pub extern "js" fn Matrix4::scale(self : Matrix4, scale : Vector3) -> Matrix4 =
#| (self, scale) => self.scale(scale)
///|
pub extern "js" fn Matrix4::get_max_scale_on_axis(self : Matrix4) -> Double =
#| (self) => self.getMaxScaleOnAxis()
///|
pub extern "js" fn Matrix4::make_rotation_axis(
self : Matrix4,
axis : Vector3,
angle : Double,
) -> Matrix4 =
#| (self, axis, angle) => self.makeRotationAxis(axis, angle)
///|
pub extern "js" fn Matrix4::make_shear(
self : Matrix4,
xy : Double,
xz : Double,
yx : Double,
yz : Double,
zx : Double,
zy : Double,
) -> Matrix4 =
#| (self, xy, xz, yx, yz, zx, zy) => self.makeShear(xy, xz, yx, yz, zx, zy)
///|
pub extern "js" fn Matrix4::make_perspective(
self : Matrix4,
left : Double,
right : Double,
top : Double,
bottom : Double,
near : Double,
far : Double,
) -> Matrix4 =
#| (self, left, right, top, bottom, near, far) => self.makePerspective(left, right, top, bottom, near, far)
///|
pub extern "js" fn Matrix4::make_orthographic(
self : Matrix4,
left : Double,
right : Double,
top : Double,
bottom : Double,
near : Double,
far : Double,
) -> Matrix4 =
#| (self, left, right, top, bottom, near, far) => self.makeOrthographic(left, right, top, bottom, near, far)