// Generated by scripts/generate.mjs from bindings/api.mjs. Do not edit.
///|
#external
pub type Triangle
///|
#module("@mizchi/three-mbt/constructors")
pub extern "js" fn Triangle::Triangle(
a : Vector3,
b : Vector3,
c : Vector3,
) -> Triangle = "triangle"
///|
pub extern "js" fn Triangle::a(self : Triangle) -> Vector3 =
#| (self) => self.a
///|
pub extern "js" fn Triangle::set_a(self : Triangle, value : Vector3) -> Unit =
#| (self, value) => { self.a = value; }
///|
pub extern "js" fn Triangle::b(self : Triangle) -> Vector3 =
#| (self) => self.b
///|
pub extern "js" fn Triangle::set_b(self : Triangle, value : Vector3) -> Unit =
#| (self, value) => { self.b = value; }
///|
pub extern "js" fn Triangle::c(self : Triangle) -> Vector3 =
#| (self) => self.c
///|
pub extern "js" fn Triangle::set_c(self : Triangle, value : Vector3) -> Unit =
#| (self, value) => { self.c = value; }
///|
pub extern "js" fn Triangle::clone(self : Triangle) -> Triangle =
#| (self) => self.clone()
///|
pub extern "js" fn Triangle::copy(
self : Triangle,
other : Triangle,
) -> Triangle =
#| (self, other) => self.copy(other)
///|
pub extern "js" fn Triangle::equals(self : Triangle, other : Triangle) -> Bool =
#| (self, other) => self.equals(other)
///|
pub extern "js" fn Triangle::set(
self : Triangle,
a : Vector3,
b : Vector3,
c : Vector3,
) -> Triangle =
#| (self, a, b, c) => self.set(a, b, c)
///|
pub extern "js" fn Triangle::set_from_points_and_indices(
self : Triangle,
points : FixedArray[Vector3],
a : Int,
b : Int,
c : Int,
) -> Triangle =
#| (self, points, a, b, c) => self.setFromPointsAndIndices(points, a, b, c)
///|
pub extern "js" fn Triangle::set_from_attribute_and_indices(
self : Triangle,
attribute : BufferAttribute,
a : Int,
b : Int,
c : Int,
) -> Triangle =
#| (self, attribute, a, b, c) => self.setFromAttributeAndIndices(attribute, a, b, c)
///|
pub extern "js" fn Triangle::get_area(self : Triangle) -> Double =
#| (self) => self.getArea()
///|
pub extern "js" fn Triangle::get_midpoint(
self : Triangle,
target : Vector3,
) -> Vector3 =
#| (self, target) => self.getMidpoint(target)
///|
pub extern "js" fn Triangle::get_normal(
self : Triangle,
target : Vector3,
) -> Vector3 =
#| (self, target) => self.getNormal(target)
///|
pub extern "js" fn Triangle::get_plane(
self : Triangle,
target : Plane,
) -> Plane =
#| (self, target) => self.getPlane(target)
///|
extern "js" fn Triangle::ffi_get_barycoord(
self : Triangle,
point : Vector3,
target : Vector3,
) -> Nullable[Vector3] =
#| (self, point, target) => self.getBarycoord(point, target)
///|
pub fn Triangle::get_barycoord(
self : Triangle,
point : Vector3,
target : Vector3,
) -> Vector3? {
self.ffi_get_barycoord(point, target).to_option()
}
///|
extern "js" fn Triangle::ffi_get_interpolation2(
self : Triangle,
point : Vector3,
a : Vector2,
b : Vector2,
c : Vector2,
target : Vector2,
) -> Nullable[Vector2] =
#| (self, point, a, b, c, target) => self.getInterpolation(point, a, b, c, target)
///|
pub fn Triangle::get_interpolation2(
self : Triangle,
point : Vector3,
a : Vector2,
b : Vector2,
c : Vector2,
target : Vector2,
) -> Vector2? {
self.ffi_get_interpolation2(point, a, b, c, target).to_option()
}
///|
extern "js" fn Triangle::ffi_get_interpolation3(
self : Triangle,
point : Vector3,
a : Vector3,
b : Vector3,
c : Vector3,
target : Vector3,
) -> Nullable[Vector3] =
#| (self, point, a, b, c, target) => self.getInterpolation(point, a, b, c, target)
///|
pub fn Triangle::get_interpolation3(
self : Triangle,
point : Vector3,
a : Vector3,
b : Vector3,
c : Vector3,
target : Vector3,
) -> Vector3? {
self.ffi_get_interpolation3(point, a, b, c, target).to_option()
}
///|
extern "js" fn Triangle::ffi_get_interpolation4(
self : Triangle,
point : Vector3,
a : Vector4,
b : Vector4,
c : Vector4,
target : Vector4,
) -> Nullable[Vector4] =
#| (self, point, a, b, c, target) => self.getInterpolation(point, a, b, c, target)
///|
pub fn Triangle::get_interpolation4(
self : Triangle,
point : Vector3,
a : Vector4,
b : Vector4,
c : Vector4,
target : Vector4,
) -> Vector4? {
self.ffi_get_interpolation4(point, a, b, c, target).to_option()
}
///|
pub extern "js" fn Triangle::contains_point(
self : Triangle,
point : Vector3,
) -> Bool =
#| (self, point) => self.containsPoint(point)
///|
pub extern "js" fn Triangle::intersects_box(
self : Triangle,
box : Box3,
) -> Bool =
#| (self, box) => self.intersectsBox(box)
///|
pub extern "js" fn Triangle::is_front_facing(
self : Triangle,
direction : Vector3,
) -> Bool =
#| (self, direction) => self.isFrontFacing(direction)
///|
pub extern "js" fn Triangle::closest_point_to_point(
self : Triangle,
point : Vector3,
target : Vector3,
) -> Vector3 =
#| (self, point, target) => self.closestPointToPoint(point, target)
///|
#module("@mizchi/three-mbt/statics")
pub extern "js" fn Triangle::normal_from_points(
a : Vector3,
b : Vector3,
c : Vector3,
target : Vector3,
) -> Vector3 = "Triangle_normal_from_points"
///|
#module("@mizchi/three-mbt/statics")
extern "js" fn Triangle::ffi_barycoord_from_points(
point : Vector3,
a : Vector3,
b : Vector3,
c : Vector3,
target : Vector3,
) -> Nullable[Vector3] = "Triangle_barycoord_from_points"
///|
pub fn Triangle::barycoord_from_points(
point : Vector3,
a : Vector3,
b : Vector3,
c : Vector3,
target : Vector3,
) -> Vector3? {
Triangle::ffi_barycoord_from_points(point, a, b, c, target).to_option()
}
///|
#module("@mizchi/three-mbt/statics")
pub extern "js" fn Triangle::contains_point_in_triangle(
point : Vector3,
a : Vector3,
b : Vector3,
c : Vector3,
) -> Bool = "Triangle_contains_point_in_triangle"
///|
#module("@mizchi/three-mbt/statics")
pub extern "js" fn Triangle::front_facing_from_points(
a : Vector3,
b : Vector3,
c : Vector3,
direction : Vector3,
) -> Bool = "Triangle_front_facing_from_points"
///|
extern "js" fn Triangle::ffi_interpolate_vector2(
self : Triangle,
point : Vector3,
a : Vector2,
b : Vector2,
c : Vector2,
target : Vector2,
) -> Nullable[Vector2] =
#| (self, point, a, b, c, target) => self.getInterpolation(point,a,b,c,target)
///|
pub fn Triangle::interpolate_vector2(
self : Triangle,
point : Vector3,
a : Vector2,
b : Vector2,
c : Vector2,
target : Vector2,
) -> Vector2? {
self.ffi_interpolate_vector2(point, a, b, c, target).to_option()
}
///|
#module("@mizchi/three-mbt/statics")
pub extern "js" fn Triangle::interpolate_attribute2(
attribute : BufferAttribute,
a : Int,
b : Int,
c : Int,
barycentric : Vector3,
target : Vector2,
) -> Vector2 = "Triangle_interpolate_attribute2"
///|
extern "js" fn Triangle::ffi_interpolate_vector3(
self : Triangle,
point : Vector3,
a : Vector3,
b : Vector3,
c : Vector3,
target : Vector3,
) -> Nullable[Vector3] =
#| (self, point, a, b, c, target) => self.getInterpolation(point,a,b,c,target)
///|
pub fn Triangle::interpolate_vector3(
self : Triangle,
point : Vector3,
a : Vector3,
b : Vector3,
c : Vector3,
target : Vector3,
) -> Vector3? {
self.ffi_interpolate_vector3(point, a, b, c, target).to_option()
}
///|
#module("@mizchi/three-mbt/statics")
pub extern "js" fn Triangle::interpolate_attribute3(
attribute : BufferAttribute,
a : Int,
b : Int,
c : Int,
barycentric : Vector3,
target : Vector3,
) -> Vector3 = "Triangle_interpolate_attribute3"
///|
extern "js" fn Triangle::ffi_interpolate_vector4(
self : Triangle,
point : Vector3,
a : Vector4,
b : Vector4,
c : Vector4,
target : Vector4,
) -> Nullable[Vector4] =
#| (self, point, a, b, c, target) => self.getInterpolation(point,a,b,c,target)
///|
pub fn Triangle::interpolate_vector4(
self : Triangle,
point : Vector3,
a : Vector4,
b : Vector4,
c : Vector4,
target : Vector4,
) -> Vector4? {
self.ffi_interpolate_vector4(point, a, b, c, target).to_option()
}
///|
#module("@mizchi/three-mbt/statics")
pub extern "js" fn Triangle::interpolate_attribute4(
attribute : BufferAttribute,
a : Int,
b : Int,
c : Int,
barycentric : Vector3,
target : Vector4,
) -> Vector4 = "Triangle_interpolate_attribute4"