three-cad-viewer
    Preparing search index...

    Interface Shape

    A tessellated 3D shape.

    Data can come in different formats depending on serialization:

    • Arrays from JSON: number[] or number[][]
    • TypedArrays from binary: Float32Array, Uint32Array, Uint8Array
    interface Shape {
        edge_types:
            | number[]
            | Uint32Array<ArrayBufferLike>
            | Uint8Array<ArrayBufferLike>;
        edges: number[] | Float32Array<ArrayBufferLike> | number[][];
        face_types: number[] | Uint32Array<ArrayBufferLike>;
        normals: number[] | Float32Array<ArrayBufferLike> | number[][];
        obj_vertices: number[] | Float32Array<ArrayBufferLike>;
        segments_per_edge?: number[] | Uint32Array<ArrayBufferLike>;
        triangles: number[] | number[][] | Uint32Array<ArrayBufferLike>;
        triangles_per_face?: number[] | Uint32Array<ArrayBufferLike>;
        uvs?: number[] | Float32Array<ArrayBufferLike>;
        vertices: number[] | Float32Array<ArrayBufferLike>;
    }
    Index

    Properties

    edge_types:
        | number[]
        | Uint32Array<ArrayBufferLike>
        | Uint8Array<ArrayBufferLike>

    OCP types of the edges

    edges: number[] | Float32Array<ArrayBufferLike> | number[][]

    Edge segments - flat Float32Array with segments_per_edge, or nested number[][]

    face_types: number[] | Uint32Array<ArrayBufferLike>

    OCP types of the faces

    normals: number[] | Float32Array<ArrayBufferLike> | number[][]

    Vertex normals - flat array, nested number[][], or Float32Array

    obj_vertices: number[] | Float32Array<ArrayBufferLike>

    Flattened list of 3-dim vertices of the CAD object

    segments_per_edge?: number[] | Uint32Array<ArrayBufferLike>

    Number of segments per edge (when edges is flat)

    triangles: number[] | number[][] | Uint32Array<ArrayBufferLike>

    Triangle indices - flat Uint32Array with triangles_per_face, or nested number[][]

    triangles_per_face?: number[] | Uint32Array<ArrayBufferLike>

    Number of triangles per face (when triangles is flat)

    uvs?: number[] | Float32Array<ArrayBufferLike>

    UV coordinates (2 floats per vertex, same indexing as vertices)

    vertices: number[] | Float32Array<ArrayBufferLike>

    Flattened list of 3-dim vertices defining the triangles