Skip to content

@tmrw-realityos/charm


@tmrw-realityos/charm / Mesh

Class: Mesh

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

Container of IPrimitives, although I can also contains the geometry info when constructing meshes manually.

Extended by

Constructors

Constructor

new Mesh(): Mesh

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

Returns

Mesh

Properties

bounding

bounding: AABB

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


colors?

optional colors: number[] | Uint8Array<ArrayBufferLike>

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


indices?

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

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


mustUpdate

mustUpdate: boolean = false

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


normals?

optional normals: Float32Array<ArrayBufferLike> | number[]

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


positions?

optional positions: Float32Array<ArrayBufferLike> | number[]

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


primitives

primitives: Primitive[] = []

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


source

source: string = ""

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


tangents?

optional tangents: Float32Array<ArrayBufferLike> | number[]

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


texcoords?

optional texcoords: Float32Array<ArrayBufferLike> | number[]

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


texcoords1?

optional texcoords1: Float32Array<ArrayBufferLike> | number[]

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

Methods

appendMesh()

appendMesh(mesh, transform): void

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

Parameters

mesh

Mesh

transform

undefined | mat4

Returns

void


bakeTransform()

bakeTransform(transform, start, range): void

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

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:188

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:77

Parameters

mesh

Mesh

Returns

void


createCube()

createCube(halfsize): void

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

Parameters

halfsize

number

Returns

void


createCylinder()

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

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

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:254

Parameters

halfsize

number

subdivisions

number = 10

Returns

void


createPlane()

createPlane(halfsize, xy): void

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

Parameters

halfsize

number

xy

boolean = false

Returns

void


createPrimitive()

createPrimitive(): Primitive

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

Returns

Primitive


createSphere()

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

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

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:421

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


updateBounding()

updateBounding(): void

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

Returns

void