// Generated by scripts/generate.mjs from bindings/api.mjs. Do not edit.
///|
#external
pub type Plane
///|
#module("@mizchi/three-mbt/constructors")
pub extern "js" fn Plane::Plane(normal : Vector3, constant : Double) -> Plane = "plane"
///|
pub extern "js" fn Plane::normal(self : Plane) -> Vector3 =
#| (self) => self.normal
///|
pub extern "js" fn Plane::constant(self : Plane) -> Double =
#| (self) => self.constant
///|
pub extern "js" fn Plane::set_constant(self : Plane, value : Double) -> Unit =
#| (self, value) => { self.constant = value; }
///|
pub extern "js" fn Plane::normalize(self : Plane) -> Plane =
#| (self) => self.normalize()
///|
pub extern "js" fn Plane::negate(self : Plane) -> Plane =
#| (self) => self.negate()
///|
pub extern "js" fn Plane::distance_to_point(
self : Plane,
point : Vector3,
) -> Double =
#| (self, point) => self.distanceToPoint(point)
///|
pub extern "js" fn Plane::project_point(
self : Plane,
point : Vector3,
target : Vector3,
) -> Vector3 =
#| (self, point, target) => self.projectPoint(point, target)
///|
pub extern "js" fn Plane::set_from_coplanar_points(
self : Plane,
a : Vector3,
b : Vector3,
c : Vector3,
) -> Plane =
#| (self, a, b, c) => self.setFromCoplanarPoints(a, b, c)
///|
pub extern "js" fn Plane::apply_matrix4(
self : Plane,
matrix : Matrix4,
) -> Plane =
#| (self, matrix) => self.applyMatrix4(matrix)
///|
pub extern "js" fn Plane::clone(self : Plane) -> Plane =
#| (self) => self.clone()
///|
pub extern "js" fn Plane::copy(self : Plane, other : Plane) -> Plane =
#| (self, other) => self.copy(other)
///|
pub extern "js" fn Plane::equals(self : Plane, other : Plane) -> Bool =
#| (self, other) => self.equals(other)
///|
pub extern "js" fn Plane::set(
self : Plane,
normal : Vector3,
constant : Double,
) -> Plane =
#| (self, normal, constant) => self.set(normal, constant)
///|
pub extern "js" fn Plane::set_components(
self : Plane,
x : Double,
y : Double,
z : Double,
w : Double,
) -> Plane =
#| (self, x, y, z, w) => self.setComponents(x, y, z, w)
///|
pub extern "js" fn Plane::set_from_normal_and_coplanar_point(
self : Plane,
normal : Vector3,
point : Vector3,
) -> Plane =
#| (self, normal, point) => self.setFromNormalAndCoplanarPoint(normal, point)
///|
pub extern "js" fn Plane::distance_to_sphere(
self : Plane,
sphere : Sphere,
) -> Double =
#| (self, sphere) => self.distanceToSphere(sphere)
///|
extern "js" fn Plane::ffi_intersect_line(
self : Plane,
line : Line3,
target : Vector3,
clamp_to_line : Bool,
) -> Nullable[Vector3] =
#| (self, line, target, clamp_to_line) => self.intersectLine(line, target, clamp_to_line)
///|
pub fn Plane::intersect_line(
self : Plane,
line : Line3,
target : Vector3,
clamp_to_line : Bool,
) -> Vector3? {
self.ffi_intersect_line(line, target, clamp_to_line).to_option()
}
///|
pub extern "js" fn Plane::intersects_line(self : Plane, other : Line3) -> Bool =
#| (self, other) => self.intersectsLine(other)
///|
pub extern "js" fn Plane::intersects_box(self : Plane, other : Box3) -> Bool =
#| (self, other) => self.intersectsBox(other)
///|
pub extern "js" fn Plane::intersects_sphere(
self : Plane,
other : Sphere,
) -> Bool =
#| (self, other) => self.intersectsSphere(other)
///|
pub extern "js" fn Plane::coplanar_point(
self : Plane,
target : Vector3,
) -> Vector3 =
#| (self, target) => self.coplanarPoint(target)
///|
pub extern "js" fn Plane::translate(self : Plane, offset : Vector3) -> Plane =
#| (self, offset) => self.translate(offset)