UNPKG

@itwin/core-frontend

Version:
38 lines 1.65 kB
/** @packageDocumentation * @module Tiles */ import { ImdlModel } from "./ImdlModel"; import { VertexIndices } from "../internal/render/VertexIndices"; /** Parameters supplied to [[indexedEdgeParamsFromCompactEdges]]. * @internal */ export interface CompactEdgeParams { /** The number of always-visible edges. * @note The number of silhouette edges is the same as the number of [[normalPairs]]. */ numVisibleEdges: number; /** 2 bit visibility of each edge to the next edge in the triangle, in the same order as the triangle indices in [[vertexIndices]]. */ visibility: Uint8Array; /** The indices describing the topology of the triangle mesh. */ vertexIndices: VertexIndices; /** If any silhouettes are present, the [OctEncodedNormalPair]($common)s associated with each. */ normalPairs?: Uint32Array; /** The maximum width or height for the resultant [[EdgeTable]]. */ maxEdgeTableDimension: number; } /** @internal */ export interface CompactEdge { index0: number; index1: number; normals?: number; } /** Iterate over the compact edges. * @note The same object is returned on each iteration, mutated in place. * @internal */ export declare function compactEdgeIterator(visibilityFlags: Uint8Array, normalPairs: Uint32Array | undefined, numIndices: number, decodeIndex: (index: number) => number): IterableIterator<CompactEdge>; /** Convert an [[ImdlCompactEdges]] to an [[IndexedEdgeParams]]. * @internal */ export declare function indexedEdgeParamsFromCompactEdges(compact: CompactEdgeParams): ImdlModel.IndexedEdgeParams | undefined; //# sourceMappingURL=CompactEdges.d.ts.map