UNPKG

@itwin/core-frontend

Version:
63 lines 2.29 kB
/** @packageDocumentation * @module Rendering */ import { RenderFeatureTable, RenderMaterial } from "@itwin/core-common"; import { VertexTable } from "./VertexTable"; import { VertexIndices } from "./VertexIndices"; import { SurfaceMaterial } from "./SurfaceParams"; import { MaterialParams } from "../../render/MaterialParams"; import { MeshParams } from "./MeshParams"; import { PointStringParams } from "./PointStringParams"; import { PolylineParams } from "./PolylineParams"; /** @internal */ export interface VertexTableWithIndices { vertices: VertexTable; indices: VertexIndices; material?: SurfaceMaterial; } /** Builds up a [[VertexIndices]]. * Exported strictly for tests. * @internal */ export declare class IndexBuffer { private readonly _builder; private readonly _index32; private readonly _index8; constructor(initialCapacity?: number); get numIndices(): number; push(index: number): void; toVertexIndices(): VertexIndices; } type CreateRenderMaterial = (args: MaterialParams) => RenderMaterial | undefined; /** @internal */ export type ComputeAnimationNodeId = (featureIndex: number) => number; /** @internal */ export interface SplitVertexTableArgs { featureTable: RenderFeatureTable; maxDimension: number; computeNodeId: ComputeAnimationNodeId; } /** @internal */ export interface SplitPointStringArgs extends SplitVertexTableArgs { params: PointStringParams; } /** Given a PointStringParams and a function that can associate a node Id with an element Id, produce a mapping of nodes to PointStringParams, splitting up * the input params as needed. * @internal */ export declare function splitPointStringParams(args: SplitPointStringArgs): Map<number, PointStringParams>; /** @internal */ export interface SplitMeshArgs extends SplitVertexTableArgs { params: MeshParams; createMaterial: CreateRenderMaterial; } /** @internal */ export declare function splitMeshParams(args: SplitMeshArgs): Map<number, MeshParams>; /** @internal */ export interface SplitPolylineArgs extends SplitVertexTableArgs { params: PolylineParams; } /** @internal */ export declare function splitPolylineParams(args: SplitPolylineArgs): Map<number, PolylineParams>; export {}; //# sourceMappingURL=VertexTableSplitter.d.ts.map