Skip to content
Shapemetry

TriangleMesh

Indexed triangle soup (not half-edge Mesh).

import { TriangleMesh } from '@huukhanhnguyen/geometry'

API reference

TriangleMesh.boundingBox

TriangleMesh.boundingBox(positions: Float64Array, indices: Uint32Array): Float64Array

Wasm: triangle_mesh_bounding_box

TriangleMesh.chainCutLoops

TriangleMesh.chainCutLoops(segments: Float64Array): string

Wasm: triangle_mesh_chain_cut_loops

TriangleMesh.clipToPlane

TriangleMesh.clipToPlane(positions: Float64Array, indices: Uint32Array, plane: Float64Array): Float64Array

Wasm: triangle_mesh_clip_to_plane

TriangleMesh.containsPoint

TriangleMesh.containsPoint(positions: Float64Array, indices: Uint32Array, x: number, y: number, z: number): boolean

Wasm: triangle_mesh_contains

TriangleMesh.deform

TriangleMesh.deform(positions: Float64Array, indices: Uint32Array, tags: Uint32Array, extras: Float64Array, origin_x: number, origin_y: number, origin_z: number, direction_x: number, direction_y: number, direction_z: number, kind: string, parameter: number, detail: number): Float64Array

Wasm: triangle_mesh_deform

TriangleMesh.displace

TriangleMesh.displace(positions: Float64Array, indices: Uint32Array, field_width: number, field_height: number, field_channels: number, field_data: Float32Array, amount: number, tile: number, detail: number): Float64Array

Wasm: triangle_mesh_displace

TriangleMesh.faceNormal

TriangleMesh.faceNormal(positions: Float64Array, indices: Uint32Array, face_index: number): Float64Array

Wasm: triangle_mesh_face_normal

TriangleMesh.flatten

TriangleMesh.flatten(positions: Float64Array, indices: Uint32Array): Float64Array

Wasm: triangle_mesh_flatten

TriangleMesh.fromPoints

TriangleMesh.fromPoints(points: Float64Array): Float64Array

Wasm: triangle_mesh_from_points

TriangleMesh.intersect

TriangleMesh.intersect(positions_a: Float64Array, indices_a: Uint32Array, positions_b: Float64Array, indices_b: Uint32Array): Float64Array

Wasm: triangle_mesh_intersect

TriangleMesh.isSolid

TriangleMesh.isSolid(positions: Float64Array, indices: Uint32Array): boolean

Wasm: triangle_mesh_is_solid

TriangleMesh.loopSubdivide

TriangleMesh.loopSubdivide(positions: Float64Array, indices: Uint32Array, iterations: number): Float64Array

Wasm: triangle_mesh_loop_subdivide

TriangleMesh.planarize

TriangleMesh.planarize(pool: Float64Array, faces_json: string, pinned: Uint8Array): Float64Array

Wasm: triangle_mesh_planarize

TriangleMesh.reverse

TriangleMesh.reverse(positions: Float64Array, indices: Uint32Array, uvs: Float64Array, normals: Float64Array): Float64Array

Wasm: triangle_mesh_reverse

TriangleMesh.simplify

TriangleMesh.simplify(positions: Float64Array, indices: Uint32Array, options_json: string): Float64Array

Wasm: triangle_mesh_simplify

TriangleMesh.solidify

TriangleMesh.solidify(positions: Float64Array, indices: Uint32Array, thickness: number): Float64Array

Wasm: triangle_mesh_solidify

TriangleMesh.splitByPlane

TriangleMesh.splitByPlane(positions: Float64Array, indices: Uint32Array, uvs: Float64Array, normals: Float64Array, plane: Float64Array): Float64Array

Wasm: triangle_mesh_split_by_plane

TriangleMesh.subtract

TriangleMesh.subtract(positions_a: Float64Array, indices_a: Uint32Array, positions_b: Float64Array, indices_b: Uint32Array): Float64Array

Wasm: triangle_mesh_subtract

TriangleMesh.surfaceArea

TriangleMesh.surfaceArea(positions: Float64Array, indices: Uint32Array): number

Wasm: triangle_mesh_surface_area

TriangleMesh.transform

TriangleMesh.transform(positions: Float64Array, indices: Uint32Array, uvs: Float64Array, normals: Float64Array, matrix: Float64Array): Float64Array

Wasm: triangle_mesh_transform

TriangleMesh.union

TriangleMesh.union(positions_a: Float64Array, indices_a: Uint32Array, positions_b: Float64Array, indices_b: Uint32Array): Float64Array

Wasm: triangle_mesh_union

TriangleMesh.uvMatrixAt

TriangleMesh.uvMatrixAt(positions: Float64Array, indices: Uint32Array, uvs: Float64Array, face_index: number, normal: Float64Array): Float64Array | undefined

Wasm: triangle_mesh_uv_matrix_at

TriangleMesh.volume

TriangleMesh.volume(positions: Float64Array, indices: Uint32Array): number

Wasm: triangle_mesh_volume

TriangleMesh.weld

TriangleMesh.weld(positions: Float64Array, indices: Uint32Array, tolerance?: number | null): Float64Array

Wasm: triangle_mesh_weld

See GEOMETRY_CATALOG.md for catalog ownership.

Last updated: 📖 1 min readEdit on GitHub