// Generated by scripts/generate.mjs from bindings/api.mjs. Do not edit.

///|
#external
pub type StereoCamera

///|
#module("@mizchi/three-mbt/constructors")
pub extern "js" fn StereoCamera::StereoCamera() -> StereoCamera = "stereoCamera"

///|
pub extern "js" fn StereoCamera::kind(self : StereoCamera) -> String =
  #| (self) => self.type

///|
pub extern "js" fn StereoCamera::aspect(self : StereoCamera) -> Double =
  #| (self) => self.aspect

///|
pub extern "js" fn StereoCamera::set_aspect(
  self : StereoCamera,
  value : Double,
) -> Unit =
  #| (self, value) => { self.aspect = value; }

///|
pub extern "js" fn StereoCamera::eye_sep(self : StereoCamera) -> Double =
  #| (self) => self.eyeSep

///|
pub extern "js" fn StereoCamera::set_eye_sep(
  self : StereoCamera,
  value : Double,
) -> Unit =
  #| (self, value) => { self.eyeSep = value; }

///|
pub extern "js" fn StereoCamera::camera_l(
  self : StereoCamera,
) -> PerspectiveCamera =
  #| (self) => self.cameraL

///|
pub extern "js" fn StereoCamera::camera_r(
  self : StereoCamera,
) -> PerspectiveCamera =
  #| (self) => self.cameraR

///|
pub extern "js" fn StereoCamera::update(
  self : StereoCamera,
  camera : PerspectiveCamera,
) -> Unit =
  #| (self, camera) => self.update(camera)