/ concept-collection / mesh-converter
Sign in
concept-collection / mesh-converter
mesh-converter / src / mesh / types.ts
27 lines · 781 BCodeBlameHistory
50876cdConvert real mesh formats with meshio via PyodideJeremy Magland 2 * Internal mesh representation: a triangle mesh with optional per-vertex
3 * attributes. Every format parses into this and serializes out of it.
5export interface MeshData {
6 /** Flat xyz triples, 3 numbers per vertex */
50876cdConvert real mesh formats with meshio via PyodideJeremy Magland 7 positions: Float32Array
edd4e73Mesh converter: upload, view, and export meshes across formatsJeremy Magland 8 /** Flat triangle indices (0-based), 3 numbers per face */
50876cdConvert real mesh formats with meshio via PyodideJeremy Magland 9 indices: Uint32Array
edd4e73Mesh converter: upload, view, and export meshes across formatsJeremy Magland 10 /** Flat xyz triples, 3 numbers per vertex, or null */
50876cdConvert real mesh formats with meshio via PyodideJeremy Magland 11 normals: Float32Array | null
edd4e73Mesh converter: upload, view, and export meshes across formatsJeremy Magland 12 /** Flat rgb triples in [0,1], 3 numbers per vertex, or null */
50876cdConvert real mesh formats with meshio via PyodideJeremy Magland 13 colors: Float32Array | null
16export interface MeshCapabilities {
17 normals: boolean
18 colors: boolean
21export function vertexCount(mesh: MeshData): number {
22 return mesh.positions.length / 3
25export function faceCount(mesh: MeshData): number {
26 return mesh.indices.length / 3
moveopenescclose