// Generated by scripts/generate.mjs from bindings/api.mjs. Do not edit.
///|
#external
pub type Raycaster
///|
#module("@mizchi/three-mbt/constructors")
pub extern "js" fn Raycaster::Raycaster(
origin : Vector3,
direction : Vector3,
) -> Raycaster = "raycaster"
///|
pub extern "js" fn Raycaster::layers(self : Raycaster) -> Layers =
#| (self) => self.layers
///|
pub extern "js" fn Raycaster::near(self : Raycaster) -> Double =
#| (self) => self.near
///|
pub extern "js" fn Raycaster::set_near(
self : Raycaster,
value : Double,
) -> Unit =
#| (self, value) => { self.near = value; }
///|
pub extern "js" fn Raycaster::far(self : Raycaster) -> Double =
#| (self) => self.far
///|
pub extern "js" fn Raycaster::set_far(self : Raycaster, value : Double) -> Unit =
#| (self, value) => { self.far = value; }
///|
pub extern "js" fn Raycaster::set(
self : Raycaster,
origin : Vector3,
direction : Vector3,
) -> Unit =
#| (self, origin, direction) => self.set(origin, direction)
///|
pub extern "js" fn Raycaster::set_from_camera(
self : Raycaster,
coords : Vector2,
camera : Camera,
) -> Unit =
#| (self, coords, camera) => self.setFromCamera(coords, camera)
///|
pub extern "js" fn Raycaster::intersect_object(
self : Raycaster,
object : Object3D,
recursive : Bool,
) -> FixedArray[Intersection] =
#| (self, object, recursive) => self.intersectObject(object, recursive)
///|
pub extern "js" fn Raycaster::intersect_objects(
self : Raycaster,
objects : FixedArray[Object3D],
recursive : Bool,
) -> FixedArray[Intersection] =
#| (self, objects, recursive) => self.intersectObjects(objects, recursive)
///|
pub extern "js" fn Raycaster::ray(self : Raycaster) -> Ray =
#| (self) => self.ray
///|
extern "js" fn Raycaster::ffi_camera(self : Raycaster) -> Nullable[Camera] =
#| (self) => self.camera
///|
pub fn Raycaster::camera(self : Raycaster) -> Camera? {
self.ffi_camera().to_option()
}
///|
extern "js" fn Raycaster::ffi_set_camera(
self : Raycaster,
value : Nullable[Camera],
) -> Unit =
#| (self, value) => { self.camera = value; }
///|
pub fn Raycaster::set_camera(self : Raycaster, value : Camera?) -> Unit {
self.ffi_set_camera(Nullable::from_option(value))
}
///|
pub extern "js" fn Raycaster::line_threshold(self : Raycaster) -> Double =
#| (self) => self.params.Line.threshold
///|
pub extern "js" fn Raycaster::set_line_threshold(
self : Raycaster,
threshold : Double,
) -> Unit =
#| (self, threshold) => { self.params.Line.threshold = threshold; }
///|
pub extern "js" fn Raycaster::points_threshold(self : Raycaster) -> Double =
#| (self) => self.params.Points.threshold
///|
pub extern "js" fn Raycaster::set_points_threshold(
self : Raycaster,
threshold : Double,
) -> Unit =
#| (self, threshold) => { self.params.Points.threshold = threshold; }