// Generated by scripts/generate.mjs from bindings/api.mjs. Do not edit.
///|
#external
pub type CSG
///|
#module("@mizchi/three-mbt/csg")
pub extern "js" fn CSG::CSG() -> CSG = "cSG"
///|
extern "js" fn CSG::ffi_initialize(self : CSG) -> @js_async.Promise[Unit] =
#| (self) => Promise.resolve().then(() => self.initialize())
///|
pub async fn CSG::initialize(self : CSG) -> Unit raise ModelingError {
try {
let value = self.ffi_initialize().wait()
value
} catch {
error => raise ModelingError((error : Error).to_string())
}
}
///|
extern "js" fn CSG::ffi_initialize_from_url(
self : CSG,
url : String,
) -> @js_async.Promise[Unit] =
#| (self, url) => Promise.resolve().then(() => self.initializeFromUrl(url))
///|
pub async fn CSG::initialize_from_url(
self : CSG,
url : String,
) -> Unit raise ModelingError {
try {
let value = self.ffi_initialize_from_url(url).wait()
value
} catch {
error => raise ModelingError((error : Error).to_string())
}
}
///|
extern "js" fn CSG::ffi_initialize_from_bytes(
self : CSG,
data : Bytes,
) -> @js_async.Promise[Unit] =
#| (self, data) => Promise.resolve().then(() => self.initializeFromBytes(data))
///|
pub async fn CSG::initialize_from_bytes(
self : CSG,
data : Bytes,
) -> Unit raise ModelingError {
try {
let value = self.ffi_initialize_from_bytes(data).wait()
value
} catch {
error => raise ModelingError((error : Error).to_string())
}
}
///|
pub extern "js" fn CSG::ready(self : CSG) -> Bool =
#| (self) => self.ready()
///|
pub extern "js" fn CSG::weld_tolerance(self : CSG) -> Double =
#| (self) => self.weldTolerance()
///|
extern "js" fn CSG::ffi_set_weld_tolerance(
self : CSG,
value : Double,
) -> JsResult[Unit] =
#| (self, value) => { try { return { ok: true, value: (() => self.setWeldTolerance(value))() }; } catch (error) { return { ok: false, error: String(error) }; } }
///|
pub fn CSG::set_weld_tolerance(
self : CSG,
value : Double,
) -> Unit raise ModelingError {
match self.ffi_set_weld_tolerance(value).into_result() {
Ok(value) => value
Err(message) => raise ModelingError(message)
}
}
///|
extern "js" fn CSG::ffi_union_geometry(
self : CSG,
left : BufferGeometry,
right : BufferGeometry,
right_material_offset : Int,
) -> JsResult[BufferGeometry] =
#| (self, left, right, right_material_offset) => { try { return { ok: true, value: (() => self.unionGeometry(left, right, right_material_offset))() }; } catch (error) { return { ok: false, error: String(error) }; } }
///|
pub fn CSG::union_geometry(
self : CSG,
left : BufferGeometry,
right : BufferGeometry,
right_material_offset : Int,
) -> BufferGeometry raise ModelingError {
match
self.ffi_union_geometry(left, right, right_material_offset).into_result() {
Ok(value) => value
Err(message) => raise ModelingError(message)
}
}
///|
extern "js" fn CSG::ffi_union_mesh(
self : CSG,
left : Mesh,
right : Mesh,
) -> JsResult[Mesh] =
#| (self, left, right) => { try { return { ok: true, value: (() => self.unionMesh(left, right))() }; } catch (error) { return { ok: false, error: String(error) }; } }
///|
pub fn CSG::union_mesh(
self : CSG,
left : Mesh,
right : Mesh,
) -> Mesh raise ModelingError {
match self.ffi_union_mesh(left, right).into_result() {
Ok(value) => value
Err(message) => raise ModelingError(message)
}
}
///|
extern "js" fn CSG::ffi_subtract_geometry(
self : CSG,
left : BufferGeometry,
right : BufferGeometry,
right_material_offset : Int,
) -> JsResult[BufferGeometry] =
#| (self, left, right, right_material_offset) => { try { return { ok: true, value: (() => self.subtractGeometry(left, right, right_material_offset))() }; } catch (error) { return { ok: false, error: String(error) }; } }
///|
pub fn CSG::subtract_geometry(
self : CSG,
left : BufferGeometry,
right : BufferGeometry,
right_material_offset : Int,
) -> BufferGeometry raise ModelingError {
match
self.ffi_subtract_geometry(left, right, right_material_offset).into_result() {
Ok(value) => value
Err(message) => raise ModelingError(message)
}
}
///|
extern "js" fn CSG::ffi_subtract_mesh(
self : CSG,
left : Mesh,
right : Mesh,
) -> JsResult[Mesh] =
#| (self, left, right) => { try { return { ok: true, value: (() => self.subtractMesh(left, right))() }; } catch (error) { return { ok: false, error: String(error) }; } }
///|
pub fn CSG::subtract_mesh(
self : CSG,
left : Mesh,
right : Mesh,
) -> Mesh raise ModelingError {
match self.ffi_subtract_mesh(left, right).into_result() {
Ok(value) => value
Err(message) => raise ModelingError(message)
}
}
///|
extern "js" fn CSG::ffi_intersect_geometry(
self : CSG,
left : BufferGeometry,
right : BufferGeometry,
right_material_offset : Int,
) -> JsResult[BufferGeometry] =
#| (self, left, right, right_material_offset) => { try { return { ok: true, value: (() => self.intersectGeometry(left, right, right_material_offset))() }; } catch (error) { return { ok: false, error: String(error) }; } }
///|
pub fn CSG::intersect_geometry(
self : CSG,
left : BufferGeometry,
right : BufferGeometry,
right_material_offset : Int,
) -> BufferGeometry raise ModelingError {
match
self
.ffi_intersect_geometry(left, right, right_material_offset)
.into_result() {
Ok(value) => value
Err(message) => raise ModelingError(message)
}
}
///|
extern "js" fn CSG::ffi_intersect_mesh(
self : CSG,
left : Mesh,
right : Mesh,
) -> JsResult[Mesh] =
#| (self, left, right) => { try { return { ok: true, value: (() => self.intersectMesh(left, right))() }; } catch (error) { return { ok: false, error: String(error) }; } }
///|
pub fn CSG::intersect_mesh(
self : CSG,
left : Mesh,
right : Mesh,
) -> Mesh raise ModelingError {
match self.ffi_intersect_mesh(left, right).into_result() {
Ok(value) => value
Err(message) => raise ModelingError(message)
}
}