// Generated by scripts/generate.mjs from bindings/api.mjs. Do not edit.
///|
#external
pub type Box3
///|
#module("@mizchi/three-mbt/constructors")
pub extern "js" fn Box3::Box3() -> Box3 = "box3"
///|
pub extern "js" fn Box3::min(self : Box3) -> Vector3 =
#| (self) => self.min
///|
pub extern "js" fn Box3::max(self : Box3) -> Vector3 =
#| (self) => self.max
///|
pub extern "js" fn Box3::set(self : Box3, min : Vector3, max : Vector3) -> Box3 =
#| (self, min, max) => self.set(min, max)
///|
pub extern "js" fn Box3::set_from_object(
self : Box3,
object : Object3D,
) -> Box3 =
#| (self, object) => self.setFromObject(object)
///|
pub extern "js" fn Box3::get_center(self : Box3, target : Vector3) -> Vector3 =
#| (self, target) => self.getCenter(target)
///|
pub extern "js" fn Box3::get_size(self : Box3, target : Vector3) -> Vector3 =
#| (self, target) => self.getSize(target)
///|
pub extern "js" fn Box3::contains_point(self : Box3, point : Vector3) -> Bool =
#| (self, point) => self.containsPoint(point)
///|
pub extern "js" fn Box3::intersects_box(self : Box3, box : Box3) -> Bool =
#| (self, box) => self.intersectsBox(box)
///|
pub extern "js" fn Box3::expand_by_point(self : Box3, point : Vector3) -> Box3 =
#| (self, point) => self.expandByPoint(point)
///|
pub extern "js" fn Box3::union(self : Box3, box : Box3) -> Box3 =
#| (self, box) => self.union(box)
///|
pub extern "js" fn Box3::is_empty(self : Box3) -> Bool =
#| (self) => self.isEmpty()
///|
pub extern "js" fn Box3::clone(self : Box3) -> Box3 =
#| (self) => self.clone()
///|
pub extern "js" fn Box3::copy(self : Box3, other : Box3) -> Box3 =
#| (self, other) => self.copy(other)
///|
pub extern "js" fn Box3::equals(self : Box3, other : Box3) -> Bool =
#| (self, other) => self.equals(other)
///|
pub extern "js" fn Box3::set_from_points(
self : Box3,
points : FixedArray[Vector3],
) -> Box3 =
#| (self, points) => self.setFromPoints(points)
///|
pub extern "js" fn Box3::set_from_center_and_size(
self : Box3,
center : Vector3,
size : Vector3,
) -> Box3 =
#| (self, center, size) => self.setFromCenterAndSize(center, size)
///|
pub extern "js" fn Box3::make_empty(self : Box3) -> Box3 =
#| (self) => self.makeEmpty()
///|
pub extern "js" fn Box3::expand_by_vector(
self : Box3,
vector : Vector3,
) -> Box3 =
#| (self, vector) => self.expandByVector(vector)
///|
pub extern "js" fn Box3::expand_by_scalar(self : Box3, scalar : Double) -> Box3 =
#| (self, scalar) => self.expandByScalar(scalar)
///|
pub extern "js" fn Box3::contains_box(self : Box3, box : Box3) -> Bool =
#| (self, box) => self.containsBox(box)
///|
pub extern "js" fn Box3::get_parameter(
self : Box3,
point : Vector3,
target : Vector3,
) -> Vector3 =
#| (self, point, target) => self.getParameter(point, target)
///|
pub extern "js" fn Box3::clamp_point(
self : Box3,
point : Vector3,
target : Vector3,
) -> Vector3 =
#| (self, point, target) => self.clampPoint(point, target)
///|
pub extern "js" fn Box3::distance_to_point(
self : Box3,
point : Vector3,
) -> Double =
#| (self, point) => self.distanceToPoint(point)
///|
pub extern "js" fn Box3::intersect(self : Box3, box : Box3) -> Box3 =
#| (self, box) => self.intersect(box)
///|
pub extern "js" fn Box3::translate(self : Box3, offset : Vector3) -> Box3 =
#| (self, offset) => self.translate(offset)
///|
pub extern "js" fn Box3::set_from_array(
self : Box3,
values : FixedArray[Double],
) -> Box3 =
#| (self, values) => self.setFromArray(values)
///|
pub extern "js" fn Box3::set_from_buffer_attribute(
self : Box3,
attribute : BufferAttribute,
) -> Box3 =
#| (self, attribute) => self.setFromBufferAttribute(attribute)
///|
pub extern "js" fn Box3::expand_by_object(
self : Box3,
object : Object3D,
precise : Bool,
) -> Box3 =
#| (self, object, precise) => self.expandByObject(object, precise)
///|
pub extern "js" fn Box3::intersects_sphere(self : Box3, other : Sphere) -> Bool =
#| (self, other) => self.intersectsSphere(other)
///|
pub extern "js" fn Box3::intersects_plane(self : Box3, other : Plane) -> Bool =
#| (self, other) => self.intersectsPlane(other)
///|
pub extern "js" fn Box3::intersects_triangle(
self : Box3,
other : Triangle,
) -> Bool =
#| (self, other) => self.intersectsTriangle(other)
///|
pub extern "js" fn Box3::get_bounding_sphere(
self : Box3,
target : Sphere,
) -> Sphere =
#| (self, target) => self.getBoundingSphere(target)
///|
pub extern "js" fn Box3::apply_matrix4(self : Box3, matrix : Matrix4) -> Box3 =
#| (self, matrix) => self.applyMatrix4(matrix)
///|
extern "js" fn Box3::ffi_to_json(self : Box3) -> JsResult[String] =
#| (self) => { try { return { ok: true, value: (() => JSON.stringify(self.toJSON()))() }; } catch (error) { return { ok: false, error: String(error) }; } }
///|
pub fn Box3::to_json(self : Box3) -> Json raise SerializationError {
match self.ffi_to_json().into_result() {
Ok(value) =>
@json.parse(value) catch {
error => raise SerializationError((error : Error).to_string())
}
Err(message) => raise SerializationError(message)
}
}
///|
extern "js" fn Box3::ffi_to_json_string(self : Box3) -> JsResult[String] =
#| (self) => { try { return { ok: true, value: (() => JSON.stringify(self.toJSON()))() }; } catch (error) { return { ok: false, error: String(error) }; } }
///|
pub fn Box3::to_json_string(self : Box3) -> String raise SerializationError {
match self.ffi_to_json_string().into_result() {
Ok(value) => value
Err(message) => raise SerializationError(message)
}
}