/** * @module vim-ts */ import { AbstractG3d } from './abstractG3d'; import { BFast } from './bfast'; import { MeshSection } from './g3d'; export declare type FilterMode = undefined | 'mesh' | 'instance' | 'group' | 'tag'; /** * See https://github.com/vimaec/vim#vim-geometry-attributes */ export declare class SceneAttributes { static instanceFiles: string; static instanceIndices: string; static instanceNodes: string; static instanceGroups: string; static instanceTags: string; static instanceMins: string; static instanceMaxs: string; static meshInstanceCounts: string; static meshIndexCounts: string; static meshVertexCounts: string; static meshOpaqueIndexCount: string; static meshOpaqueVertexCount: string; static all: string[]; } /** * Represents the index, as in book index, of a collection of G3dMesh. * Allows to find and download G3dMesh as needed. * Allows to preallocate geometry to render G3dMeshes. */ export declare class G3dScene { rawG3d: AbstractG3d; instanceMeshes: Int32Array; instanceIndices: Int32Array; instanceNodes: Int32Array; instanceGroups: Int32Array; instanceTags: BigInt64Array; instanceMins: Float32Array; instanceMaxs: Float32Array; meshInstanceCounts: Int32Array; meshIndexCounts: Int32Array; meshVertexCounts: Int32Array; meshOpaqueIndexCounts: Int32Array; meshOpaqueVertexCounts: Int32Array; private nodeToInstance; private meshSceneInstances; constructor(rawG3d: AbstractG3d, instanceFiles: Int32Array, instanceIndices: Int32Array, instanceNodes: Int32Array, instanceGroups: Int32Array, instanceTags: BigInt64Array, instanceMins: Float32Array, instanceMaxs: Float32Array, meshInstanceCounts: Int32Array, meshIndexCounts: Int32Array, meshVertexCounts: Int32Array, meshOpaqueIndexCounts: Int32Array, meshOpaqueVertexCounts: Int32Array); private createMap; static createFromAbstract(g3d: AbstractG3d): G3dScene; static createFromPath(path: string): Promise; static createFromBfast(bfast: BFast): Promise; getMeshSceneInstance(mesh: number, meshIndex: number): number; getMeshCount(): number; getMeshIndexCount(mesh: number, section: MeshSection): number; getMeshVertexCount(mesh: number, section: MeshSection): number; getMeshInstanceCount(mesh: number): number; getNodeMin(node: number): Float32Array; getNodeMax(node: number): Float32Array; getInstanceMin(instance: number): Float32Array; getInstanceMax(instance: number): Float32Array; }