// Generated by scripts/generate.mjs from bindings/api.mjs. Do not edit.
///|
#external
pub type PerspectiveCamera
///|
#module("@mizchi/three-mbt/constructors")
pub extern "js" fn PerspectiveCamera::PerspectiveCamera(
fov : Double,
aspect : Double,
near : Double,
far : Double,
) -> PerspectiveCamera = "perspectiveCamera"
///|
pub fn PerspectiveCamera::as_camera(self : PerspectiveCamera) -> Camera = "%identity"
///|
pub fn PerspectiveCamera::as_object3d(self : PerspectiveCamera) -> Object3D = "%identity"
///|
pub extern "js" fn PerspectiveCamera::update_projection_matrix(
self : PerspectiveCamera,
) -> Unit =
#| (self) => self.updateProjectionMatrix()
///|
pub extern "js" fn PerspectiveCamera::fov(self : PerspectiveCamera) -> Double =
#| (self) => self.fov
///|
pub extern "js" fn PerspectiveCamera::set_fov(
self : PerspectiveCamera,
value : Double,
) -> Unit =
#| (self, value) => { self.fov = value; }
///|
pub extern "js" fn PerspectiveCamera::aspect(
self : PerspectiveCamera,
) -> Double =
#| (self) => self.aspect
///|
pub extern "js" fn PerspectiveCamera::set_aspect(
self : PerspectiveCamera,
value : Double,
) -> Unit =
#| (self, value) => { self.aspect = value; }
///|
pub extern "js" fn PerspectiveCamera::near(self : PerspectiveCamera) -> Double =
#| (self) => self.near
///|
pub extern "js" fn PerspectiveCamera::set_near(
self : PerspectiveCamera,
value : Double,
) -> Unit =
#| (self, value) => { self.near = value; }
///|
pub extern "js" fn PerspectiveCamera::far(self : PerspectiveCamera) -> Double =
#| (self) => self.far
///|
pub extern "js" fn PerspectiveCamera::set_far(
self : PerspectiveCamera,
value : Double,
) -> Unit =
#| (self, value) => { self.far = value; }
///|
pub extern "js" fn PerspectiveCamera::zoom(self : PerspectiveCamera) -> Double =
#| (self) => self.zoom
///|
pub extern "js" fn PerspectiveCamera::set_zoom(
self : PerspectiveCamera,
value : Double,
) -> Unit =
#| (self, value) => { self.zoom = value; }
///|
pub extern "js" fn PerspectiveCamera::set_focal_length(
self : PerspectiveCamera,
length : Double,
) -> Unit =
#| (self, length) => self.setFocalLength(length)
///|
pub extern "js" fn PerspectiveCamera::get_focal_length(
self : PerspectiveCamera,
) -> Double =
#| (self) => self.getFocalLength()
///|
extern "js" fn PerspectiveCamera::ffi_view(
self : PerspectiveCamera,
) -> Nullable[CameraView] =
#| (self) => self.view
///|
pub fn PerspectiveCamera::view(self : PerspectiveCamera) -> CameraView? {
self.ffi_view().to_option()
}
///|
pub extern "js" fn PerspectiveCamera::copy(
self : PerspectiveCamera,
other : PerspectiveCamera,
recursive : Bool,
) -> PerspectiveCamera =
#| (self, other, recursive) => self.copy(other, recursive)
///|
pub extern "js" fn PerspectiveCamera::set_view_offset(
self : PerspectiveCamera,
full_width : Double,
full_height : Double,
x : Double,
y : Double,
width : Double,
height : Double,
) -> Unit =
#| (self, full_width, full_height, x, y, width, height) => self.setViewOffset(full_width, full_height, x, y, width, height)
///|
pub extern "js" fn PerspectiveCamera::clear_view_offset(
self : PerspectiveCamera,
) -> Unit =
#| (self) => self.clearViewOffset()
///|
pub extern "js" fn PerspectiveCamera::focus(self : PerspectiveCamera) -> Double =
#| (self) => self.focus
///|
pub extern "js" fn PerspectiveCamera::set_focus(
self : PerspectiveCamera,
value : Double,
) -> Unit =
#| (self, value) => { self.focus = value; }
///|
pub extern "js" fn PerspectiveCamera::film_gauge(
self : PerspectiveCamera,
) -> Double =
#| (self) => self.filmGauge
///|
pub extern "js" fn PerspectiveCamera::set_film_gauge(
self : PerspectiveCamera,
value : Double,
) -> Unit =
#| (self, value) => { self.filmGauge = value; }
///|
pub extern "js" fn PerspectiveCamera::film_offset(
self : PerspectiveCamera,
) -> Double =
#| (self) => self.filmOffset
///|
pub extern "js" fn PerspectiveCamera::set_film_offset(
self : PerspectiveCamera,
value : Double,
) -> Unit =
#| (self, value) => { self.filmOffset = value; }
///|
pub extern "js" fn PerspectiveCamera::get_effective_fov(
self : PerspectiveCamera,
) -> Double =
#| (self) => self.getEffectiveFOV()
///|
pub extern "js" fn PerspectiveCamera::get_film_width(
self : PerspectiveCamera,
) -> Double =
#| (self) => self.getFilmWidth()
///|
pub extern "js" fn PerspectiveCamera::get_film_height(
self : PerspectiveCamera,
) -> Double =
#| (self) => self.getFilmHeight()
///|
pub extern "js" fn PerspectiveCamera::get_view_bounds(
self : PerspectiveCamera,
distance : Double,
min_target : Vector2,
max_target : Vector2,
) -> Unit =
#| (self, distance, min_target, max_target) => self.getViewBounds(distance, min_target, max_target)
///|
pub extern "js" fn PerspectiveCamera::get_view_size(
self : PerspectiveCamera,
distance : Double,
target : Vector2,
) -> Vector2 =
#| (self, distance, target) => self.getViewSize(distance, target)
///|
pub extern "js" fn PerspectiveCamera::cast_shadow(
self : PerspectiveCamera,
) -> Bool =
#| (self) => self.castShadow
///|
pub extern "js" fn PerspectiveCamera::set_cast_shadow(
self : PerspectiveCamera,
value : Bool,
) -> Unit =
#| (self, value) => { self.castShadow = value; }
///|
pub extern "js" fn PerspectiveCamera::receive_shadow(
self : PerspectiveCamera,
) -> Bool =
#| (self) => self.receiveShadow
///|
pub extern "js" fn PerspectiveCamera::set_receive_shadow(
self : PerspectiveCamera,
value : Bool,
) -> Unit =
#| (self, value) => { self.receiveShadow = value; }
///|
pub extern "js" fn PerspectiveCamera::id(self : PerspectiveCamera) -> Int =
#| (self) => self.id
///|
pub extern "js" fn PerspectiveCamera::uuid(self : PerspectiveCamera) -> String =
#| (self) => self.uuid
///|
pub extern "js" fn PerspectiveCamera::kind(self : PerspectiveCamera) -> String =
#| (self) => self.type
///|
pub extern "js" fn PerspectiveCamera::name(self : PerspectiveCamera) -> String =
#| (self) => self.name
///|
pub extern "js" fn PerspectiveCamera::visible(self : PerspectiveCamera) -> Bool =
#| (self) => self.visible
///|
/// Returns the live three.js reference, not a copy.
pub extern "js" fn PerspectiveCamera::position(
self : PerspectiveCamera,
) -> Vector3 =
#| (self) => self.position
///|
/// Returns the live three.js reference, not a copy.
pub extern "js" fn PerspectiveCamera::rotation(
self : PerspectiveCamera,
) -> Euler =
#| (self) => self.rotation
///|
/// Returns the live three.js reference, not a copy.
pub extern "js" fn PerspectiveCamera::quaternion(
self : PerspectiveCamera,
) -> Quaternion =
#| (self) => self.quaternion
///|
/// Returns the live three.js reference, not a copy.
pub extern "js" fn PerspectiveCamera::scale(
self : PerspectiveCamera,
) -> Vector3 =
#| (self) => self.scale
///|
/// Returns the live three.js reference, not a copy.
pub extern "js" fn PerspectiveCamera::up(self : PerspectiveCamera) -> Vector3 =
#| (self) => self.up
///|
/// Returns the live three.js reference, not a copy.
pub extern "js" fn PerspectiveCamera::matrix(
self : PerspectiveCamera,
) -> Matrix4 =
#| (self) => self.matrix
///|
/// Returns the live three.js reference, not a copy.
pub extern "js" fn PerspectiveCamera::matrix_world(
self : PerspectiveCamera,
) -> Matrix4 =
#| (self) => self.matrixWorld
///|
pub extern "js" fn PerspectiveCamera::set_name(
self : PerspectiveCamera,
name : String,
) -> Unit =
#| (self, name) => { self.name = name; }
///|
pub extern "js" fn PerspectiveCamera::set_visible(
self : PerspectiveCamera,
visible : Bool,
) -> Unit =
#| (self, visible) => { self.visible = visible; }
///|
pub extern "js" fn PerspectiveCamera::children(
self : PerspectiveCamera,
) -> FixedArray[Object3D] =
#| (self) => self.children.slice()
///|
pub extern "js" fn PerspectiveCamera::add(
self : PerspectiveCamera,
child : Object3D,
) -> Object3D =
#| (self, child) => self.add(child)
///|
pub extern "js" fn PerspectiveCamera::remove(
self : PerspectiveCamera,
child : Object3D,
) -> Object3D =
#| (self, child) => self.remove(child)
///|
pub extern "js" fn PerspectiveCamera::attach(
self : PerspectiveCamera,
child : Object3D,
) -> Object3D =
#| (self, child) => self.attach(child)
///|
pub extern "js" fn PerspectiveCamera::remove_from_parent(
self : PerspectiveCamera,
) -> Object3D =
#| (self) => self.removeFromParent()
///|
pub extern "js" fn PerspectiveCamera::look_at(
self : PerspectiveCamera,
target : Vector3,
) -> Unit =
#| (self, target) => self.lookAt(target)
///|
pub extern "js" fn PerspectiveCamera::rotate_x(
self : PerspectiveCamera,
angle : Double,
) -> Object3D =
#| (self, angle) => self.rotateX(angle)
///|
pub extern "js" fn PerspectiveCamera::rotate_y(
self : PerspectiveCamera,
angle : Double,
) -> Object3D =
#| (self, angle) => self.rotateY(angle)
///|
pub extern "js" fn PerspectiveCamera::rotate_z(
self : PerspectiveCamera,
angle : Double,
) -> Object3D =
#| (self, angle) => self.rotateZ(angle)
///|
pub extern "js" fn PerspectiveCamera::translate_x(
self : PerspectiveCamera,
distance : Double,
) -> Object3D =
#| (self, distance) => self.translateX(distance)
///|
pub extern "js" fn PerspectiveCamera::translate_y(
self : PerspectiveCamera,
distance : Double,
) -> Object3D =
#| (self, distance) => self.translateY(distance)
///|
pub extern "js" fn PerspectiveCamera::translate_z(
self : PerspectiveCamera,
distance : Double,
) -> Object3D =
#| (self, distance) => self.translateZ(distance)
///|
pub extern "js" fn PerspectiveCamera::apply_matrix4(
self : PerspectiveCamera,
matrix : Matrix4,
) -> Unit =
#| (self, matrix) => self.applyMatrix4(matrix)
///|
pub extern "js" fn PerspectiveCamera::apply_quaternion(
self : PerspectiveCamera,
quaternion : Quaternion,
) -> Object3D =
#| (self, quaternion) => self.applyQuaternion(quaternion)
///|
pub extern "js" fn PerspectiveCamera::update_matrix(
self : PerspectiveCamera,
) -> Unit =
#| (self) => self.updateMatrix()
///|
pub extern "js" fn PerspectiveCamera::update_matrix_world(
self : PerspectiveCamera,
force : Bool,
) -> Unit =
#| (self, force) => self.updateMatrixWorld(force)
///|
pub extern "js" fn PerspectiveCamera::update_world_matrix(
self : PerspectiveCamera,
update_parents : Bool,
update_children : Bool,
) -> Unit =
#| (self, update_parents, update_children) => self.updateWorldMatrix(update_parents, update_children)
///|
pub extern "js" fn PerspectiveCamera::get_world_position(
self : PerspectiveCamera,
target : Vector3,
) -> Vector3 =
#| (self, target) => self.getWorldPosition(target)
///|
pub extern "js" fn PerspectiveCamera::get_world_quaternion(
self : PerspectiveCamera,
target : Quaternion,
) -> Quaternion =
#| (self, target) => self.getWorldQuaternion(target)
///|
pub extern "js" fn PerspectiveCamera::get_world_scale(
self : PerspectiveCamera,
target : Vector3,
) -> Vector3 =
#| (self, target) => self.getWorldScale(target)
///|
pub extern "js" fn PerspectiveCamera::get_world_direction(
self : PerspectiveCamera,
target : Vector3,
) -> Vector3 =
#| (self, target) => self.getWorldDirection(target)
///|
pub extern "js" fn PerspectiveCamera::local_to_world(
self : PerspectiveCamera,
vector : Vector3,
) -> Vector3 =
#| (self, vector) => self.localToWorld(vector)
///|
pub extern "js" fn PerspectiveCamera::world_to_local(
self : PerspectiveCamera,
vector : Vector3,
) -> Vector3 =
#| (self, vector) => self.worldToLocal(vector)
///|
pub extern "js" fn PerspectiveCamera::traverse(
self : PerspectiveCamera,
callback : (Object3D) -> Unit,
) -> Unit =
#| (self, callback) => self.traverse(callback)
///|
pub extern "js" fn PerspectiveCamera::traverse_visible(
self : PerspectiveCamera,
callback : (Object3D) -> Unit,
) -> Unit =
#| (self, callback) => self.traverseVisible(callback)
///|
/// Copies coordinates into the live position vector; does not retain the input vector.
pub extern "js" fn PerspectiveCamera::set_position(
self : PerspectiveCamera,
position : Vector3,
) -> Unit =
#| (self, position) => { self.position.copy(position); }
///|
/// Sets local position coordinates while preserving the live position reference.
pub extern "js" fn PerspectiveCamera::set_position_xyz(
self : PerspectiveCamera,
x : Double,
y : Double,
z : Double,
) -> Unit =
#| (self, x, y, z) => { self.position.set(x, y, z); }
///|
/// Copies Euler angles and order; native quaternion synchronization is preserved.
pub extern "js" fn PerspectiveCamera::set_rotation(
self : PerspectiveCamera,
rotation : Euler,
) -> Unit =
#| (self, rotation) => { self.rotation.copy(rotation); }
///|
/// Sets local Euler angles in radians, retaining the current Euler order.
pub extern "js" fn PerspectiveCamera::set_rotation_xyz(
self : PerspectiveCamera,
x : Double,
y : Double,
z : Double,
) -> Unit =
#| (self, x, y, z) => { self.rotation.set(x, y, z); }
///|
/// Copies quaternion components; native Euler synchronization is preserved. Does not normalize.
pub extern "js" fn PerspectiveCamera::set_quaternion(
self : PerspectiveCamera,
quaternion : Quaternion,
) -> Unit =
#| (self, quaternion) => { self.quaternion.copy(quaternion); }
///|
/// Copies local scale components into the existing live scale vector.
pub extern "js" fn PerspectiveCamera::set_scale(
self : PerspectiveCamera,
scale : Vector3,
) -> Unit =
#| (self, scale) => { self.scale.copy(scale); }
///|
/// Sets the three local scale components.
pub extern "js" fn PerspectiveCamera::set_scale_xyz(
self : PerspectiveCamera,
x : Double,
y : Double,
z : Double,
) -> Unit =
#| (self, x, y, z) => { self.scale.set(x, y, z); }
///|
/// Sets all local scale components to the supplied value.
pub extern "js" fn PerspectiveCamera::set_uniform_scale(
self : PerspectiveCamera,
scale : Double,
) -> Unit =
#| (self, scale) => { self.scale.setScalar(scale); }
///|
/// Adds a child using native reparenting and event behavior.
pub extern "js" fn PerspectiveCamera::add_child(
self : PerspectiveCamera,
child : Object3D,
) -> Unit =
#| (self, child) => { self.add(child); }
///|
/// Adds children in order using native reparenting and event behavior. An empty list is a no-op.
pub extern "js" fn PerspectiveCamera::add_children(
self : PerspectiveCamera,
children : FixedArray[Object3D],
) -> Unit =
#| (self, children) => { if (children.length > 0) { self.add(...children); }; }
///|
/// Adds this object to the parent, retaining this object as the cascade receiver.
pub extern "js" fn PerspectiveCamera::add_to(
self : PerspectiveCamera,
parent : Object3D,
) -> Unit =
#| (self, parent) => { parent.add(self); }
///|
/// Removes a child using native event behavior. Does not dispose resources.
pub extern "js" fn PerspectiveCamera::remove_child(
self : PerspectiveCamera,
child : Object3D,
) -> Unit =
#| (self, child) => { self.remove(child); }