Skip to content

@tmrw-realityos/charm


@tmrw-realityos/charm / Mesh

Class: Mesh

Defined in: packages/charm/src/graphics/mesh.ts:28

Extended by

Constructors

new Mesh()

new Mesh(): Mesh

Defined in: packages/charm/src/graphics/mesh.ts:42

Returns

Mesh

Properties

bounding

bounding: AABB

Defined in: packages/charm/src/graphics/mesh.ts:29


colors?

optional colors: number[] | Uint8Array<ArrayBufferLike>

Defined in: packages/charm/src/graphics/mesh.ts:36


indices?

optional indices: Uint32Array<ArrayBufferLike> | number[] | Uint16Array<ArrayBufferLike>

Defined in: packages/charm/src/graphics/mesh.ts:37


mustUpdate

mustUpdate: boolean = false

Defined in: packages/charm/src/graphics/mesh.ts:38


normals?

optional normals: Float32Array<ArrayBufferLike> | number[]

Defined in: packages/charm/src/graphics/mesh.ts:32


positions?

optional positions: Float32Array<ArrayBufferLike> | number[]

Defined in: packages/charm/src/graphics/mesh.ts:31


primitives

primitives: Primitive[] = []

Defined in: packages/charm/src/graphics/mesh.ts:40


tangents?

optional tangents: Float32Array<ArrayBufferLike> | number[]

Defined in: packages/charm/src/graphics/mesh.ts:35


texcoords?

optional texcoords: Float32Array<ArrayBufferLike> | number[]

Defined in: packages/charm/src/graphics/mesh.ts:33


texcoords1?

optional texcoords1: Float32Array<ArrayBufferLike> | number[]

Defined in: packages/charm/src/graphics/mesh.ts:34

Methods

appendMesh()

appendMesh(mesh, transform): void

Defined in: packages/charm/src/graphics/mesh.ts:130

Parameters

mesh

Mesh

transform

undefined | mat4

Returns

void


bakeTransform()

bakeTransform(transform, start, range): void

Defined in: packages/charm/src/graphics/mesh.ts:99

applies a transformation in place to every vertex and normal

Parameters

transform

mat4

a mat4 that contains the transform to apply

start

number = 0

an offset defined from which primitive to start

range

number = -1

the number of primitives that must be affected

Returns

void


computeNormals()

computeNormals(): Float32Array

Defined in: packages/charm/src/graphics/mesh.ts:187

computes the normals for every vertex based on connectivity and face orientation

Returns

Float32Array


copyFrom()

copyFrom(mesh): void

Defined in: packages/charm/src/graphics/mesh.ts:76

Parameters

mesh

Mesh

Returns

void


createCube()

createCube(halfsize): void

Defined in: packages/charm/src/graphics/mesh.ts:297

Parameters

halfsize

number

Returns

void


createCylinder()

createCylinder(height, lowRadius, highRadius, subdivisions): void

Defined in: packages/charm/src/graphics/mesh.ts:320

Parameters

height

number

lowRadius

number

highRadius

number

subdivisions

number = 32

Returns

void


createGrid()

createGrid(halfsize, subdivisions): void

Defined in: packages/charm/src/graphics/mesh.ts:253

Parameters

halfsize

number

subdivisions

number = 10

Returns

void


createPlane()

createPlane(halfsize, xy): void

Defined in: packages/charm/src/graphics/mesh.ts:276

Parameters

halfsize

number

xy

boolean = false

Returns

void


createPrimitive()

createPrimitive(): Primitive

Defined in: packages/charm/src/graphics/mesh.ts:51

Returns

Primitive


createSphere()

createSphere(radius, subdivisions, arc, hemi): void

Defined in: packages/charm/src/graphics/mesh.ts:367

Parameters

radius

number

subdivisions

number = 24

arc

number = 24

hemi

boolean = false

Returns

void


createTorus()

createTorus(innerradius, outerradius, angle, innerslices, outerslices): void

Defined in: packages/charm/src/graphics/mesh.ts:420

innerradius is the small, outerradius is the big one. Use angle to only create a partial torus

Parameters

innerradius

number

outerradius

number

angle

number = ...

innerslices

number = 24

outerslices

number = 32

Returns

void


destroy()

destroy(_backend): void

Defined in: packages/charm/src/graphics/mesh.ts:49

Parameters

_backend

RendererBackend

Returns

void


updateBounding()

updateBounding(): void

Defined in: packages/charm/src/graphics/mesh.ts:57

Returns

void


uploadToGPU()

uploadToGPU(_backend): void

Defined in: packages/charm/src/graphics/mesh.ts:47

Parameters

_backend

RendererBackend

Returns

void