// Generated by scripts/generate.mjs from bindings/api.mjs. Do not edit.
///|
#external
pub type TessellateModifier
///|
#module("@mizchi/three-mbt/modeling")
pub extern "js" fn TessellateModifier::TessellateModifier(
max_edge_length : Double,
max_iterations : Int,
) -> TessellateModifier = "tessellateModifier"
///|
pub extern "js" fn TessellateModifier::max_edge_length(
self : TessellateModifier,
) -> Double =
#| (self) => self.maxEdgeLength
///|
pub extern "js" fn TessellateModifier::set_max_edge_length(
self : TessellateModifier,
value : Double,
) -> Unit =
#| (self, value) => { self.maxEdgeLength = value; }
///|
pub extern "js" fn TessellateModifier::max_iterations(
self : TessellateModifier,
) -> Int =
#| (self) => self.maxIterations
///|
pub extern "js" fn TessellateModifier::set_max_iterations(
self : TessellateModifier,
value : Int,
) -> Unit =
#| (self, value) => { self.maxIterations = value; }
///|
extern "js" fn TessellateModifier::ffi_modify(
self : TessellateModifier,
geometry : BufferGeometry,
) -> JsResult[BufferGeometry] =
#| (self, geometry) => { try { return { ok: true, value: (() => self.modify(geometry))() }; } catch (error) { return { ok: false, error: String(error) }; } }
///|
pub fn TessellateModifier::modify(
self : TessellateModifier,
geometry : BufferGeometry,
) -> BufferGeometry raise ModelingError {
match self.ffi_modify(geometry).into_result() {
Ok(value) => value
Err(message) => raise ModelingError(message)
}
}