Appearance
@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?
optionalcolors:number[] |Uint8Array<ArrayBufferLike>
Defined in: packages/charm/src/graphics/mesh.ts:42
indices?
optionalindices: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?
optionalnormals:Float32Array<ArrayBufferLike> |number[]
Defined in: packages/charm/src/graphics/mesh.ts:38
positions?
optionalpositions: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?
optionaltangents:Float32Array<ArrayBufferLike> |number[]
Defined in: packages/charm/src/graphics/mesh.ts:41
texcoords?
optionaltexcoords:Float32Array<ArrayBufferLike> |number[]
Defined in: packages/charm/src/graphics/mesh.ts:39
texcoords1?
optionaltexcoords1: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
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