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

///|
#external
pub type OutlinePass

///|
#module("@mizchi/three-mbt/postprocessing")
pub extern "js" fn OutlinePass::OutlinePass(
  resolution : Vector2,
  scene : Scene,
  camera : Camera,
) -> OutlinePass = "outlinePass"

///|
pub fn OutlinePass::as_pass(self : OutlinePass) -> Pass = "%identity"

///|
pub extern "js" fn OutlinePass::selected_objects(
  self : OutlinePass,
) -> FixedArray[Object3D] =
  #| (self) => self.selectedObjects.slice()

///|
pub extern "js" fn OutlinePass::set_selected_objects(
  self : OutlinePass,
  objects : FixedArray[Object3D],
) -> Unit =
  #| (self, objects) => { self.selectedObjects = objects.slice(); }

///|
pub extern "js" fn OutlinePass::visible_edge_color(self : OutlinePass) -> Color =
  #| (self) => self.visibleEdgeColor

///|
pub extern "js" fn OutlinePass::hidden_edge_color(self : OutlinePass) -> Color =
  #| (self) => self.hiddenEdgeColor

///|
pub extern "js" fn OutlinePass::edge_strength(self : OutlinePass) -> Double =
  #| (self) => self.edgeStrength

///|
pub extern "js" fn OutlinePass::set_edge_strength(
  self : OutlinePass,
  value : Double,
) -> Unit =
  #| (self, value) => { self.edgeStrength = value; }

///|
pub extern "js" fn OutlinePass::edge_glow(self : OutlinePass) -> Double =
  #| (self) => self.edgeGlow

///|
pub extern "js" fn OutlinePass::set_edge_glow(
  self : OutlinePass,
  value : Double,
) -> Unit =
  #| (self, value) => { self.edgeGlow = value; }

///|
pub extern "js" fn OutlinePass::edge_thickness(self : OutlinePass) -> Double =
  #| (self) => self.edgeThickness

///|
pub extern "js" fn OutlinePass::set_edge_thickness(
  self : OutlinePass,
  value : Double,
) -> Unit =
  #| (self, value) => { self.edgeThickness = value; }

///|
pub extern "js" fn OutlinePass::pulse_period(self : OutlinePass) -> Double =
  #| (self) => self.pulsePeriod

///|
pub extern "js" fn OutlinePass::set_pulse_period(
  self : OutlinePass,
  value : Double,
) -> Unit =
  #| (self, value) => { self.pulsePeriod = value; }