// Generated by scripts/generate.mjs from bindings/api.mjs. Do not edit.
///|
#external
pub type Line3
///|
#module("@mizchi/three-mbt/constructors")
pub extern "js" fn Line3::Line3(start : Vector3, end : Vector3) -> Line3 = "line3"
///|
pub extern "js" fn Line3::start(self : Line3) -> Vector3 =
#| (self) => self.start
///|
pub extern "js" fn Line3::set_start(self : Line3, value : Vector3) -> Unit =
#| (self, value) => { self.start = value; }
///|
pub extern "js" fn Line3::end(self : Line3) -> Vector3 =
#| (self) => self.end
///|
pub extern "js" fn Line3::set_end(self : Line3, value : Vector3) -> Unit =
#| (self, value) => { self.end = value; }
///|
pub extern "js" fn Line3::clone(self : Line3) -> Line3 =
#| (self) => self.clone()
///|
pub extern "js" fn Line3::copy(self : Line3, other : Line3) -> Line3 =
#| (self, other) => self.copy(other)
///|
pub extern "js" fn Line3::equals(self : Line3, other : Line3) -> Bool =
#| (self, other) => self.equals(other)
///|
pub extern "js" fn Line3::set(
self : Line3,
start : Vector3,
end : Vector3,
) -> Line3 =
#| (self, start, end) => self.set(start, end)
///|
pub extern "js" fn Line3::get_center(self : Line3, target : Vector3) -> Vector3 =
#| (self, target) => self.getCenter(target)
///|
pub extern "js" fn Line3::delta(self : Line3, target : Vector3) -> Vector3 =
#| (self, target) => self.delta(target)
///|
pub extern "js" fn Line3::distance_squared(self : Line3) -> Double =
#| (self) => self.distanceSq()
///|
pub extern "js" fn Line3::distance(self : Line3) -> Double =
#| (self) => self.distance()
///|
pub extern "js" fn Line3::at(
self : Line3,
t : Double,
target : Vector3,
) -> Vector3 =
#| (self, t, target) => self.at(t, target)
///|
pub extern "js" fn Line3::closest_point_to_point_parameter(
self : Line3,
point : Vector3,
clamp_to_line : Bool,
) -> Double =
#| (self, point, clamp_to_line) => self.closestPointToPointParameter(point, clamp_to_line)
///|
pub extern "js" fn Line3::closest_point_to_point(
self : Line3,
point : Vector3,
clamp_to_line : Bool,
target : Vector3,
) -> Vector3 =
#| (self, point, clamp_to_line, target) => self.closestPointToPoint(point, clamp_to_line, target)
///|
pub extern "js" fn Line3::distance_squared_to_line3(
self : Line3,
line : Line3,
target_on_self : Vector3,
target_on_line : Vector3,
) -> Double =
#| (self, line, target_on_self, target_on_line) => self.distanceSqToLine3(line, target_on_self, target_on_line)
///|
pub extern "js" fn Line3::apply_matrix4(
self : Line3,
matrix : Matrix4,
) -> Line3 =
#| (self, matrix) => self.applyMatrix4(matrix)