// Generated by scripts/generate.mjs from bindings/api.mjs. Do not edit.
///|
#external
pub type STLExporter
///|
#module("@mizchi/three-mbt/modeling")
pub extern "js" fn STLExporter::STLExporter() -> STLExporter = "sTLExporter"
///|
extern "js" fn STLExporter::ffi_export_ascii(
self : STLExporter,
root : Object3D,
) -> JsResult[String] =
#| (self, root) => { try { return { ok: true, value: (() => self.parse(root, { binary: false }))() }; } catch (error) { return { ok: false, error: String(error) }; } }
///|
pub fn STLExporter::export_ascii(
self : STLExporter,
root : Object3D,
) -> String raise ExportError {
match self.ffi_export_ascii(root).into_result() {
Ok(value) => value
Err(message) => raise ExportError(message)
}
}
///|
extern "js" fn STLExporter::ffi_export_binary(
self : STLExporter,
root : Object3D,
) -> JsResult[Bytes] =
#| (self, root) => { try { return { ok: true, value: (() => { const view = self.parse(root, { binary: true }); return new Uint8Array(view.buffer, view.byteOffset, view.byteLength).slice(); })() }; } catch (error) { return { ok: false, error: String(error) }; } }
///|
pub fn STLExporter::export_binary(
self : STLExporter,
root : Object3D,
) -> Bytes raise ExportError {
match self.ffi_export_binary(root).into_result() {
Ok(value) => value
Err(message) => raise ExportError(message)
}
}