/** * @module vim-ts */ 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 readonly chunkCount = "g3d:chunk:count:0:int32:1"; static readonly instanceMesh = "g3d:instance:mesh:0:int32:1"; static readonly instanceMatrix = "g3d:instance:transform:0:float32:16"; static readonly instanceNodes = "g3d:instance:node:0:int32:1"; static readonly instanceGroups = "g3d:instance:group:0:int32:1"; static readonly instanceTags = "g3d:instance:tag:0:int64:1"; static readonly instanceFlags = "g3d:instance:tag:0:uint16:1"; static readonly instanceMins = "g3d:instance:min:0:float32:3"; static readonly instanceMaxs = "g3d:instance:max:0:float32:3"; static readonly meshChunk = "g3d:mesh:chunk:0:int32:1"; static readonly meshChunkIndices = "g3d:mesh:chunkindex:0:int32:1"; static readonly meshIndexCounts = "g3d:mesh:indexcount:0:int32:1"; static readonly meshVertexCounts = "g3d:mesh:vertexcount:0:int32:1"; static readonly meshOpaqueIndexCount = "g3d:mesh:opaqueindexcount:0:int32:1"; static readonly meshOpaqueVertexCount = "g3d:mesh:opaquevertexcount:0:int32:1"; } /** * 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 { chunkCount: number; instanceMeshes: Int32Array; instanceMatrices: Float32Array; instanceNodes: Int32Array; instanceGroups: Int32Array; instanceTags: BigInt64Array; instanceFlags: Uint16Array; instanceMins: Float32Array; instanceMaxs: Float32Array; meshChunks: Int32Array; meshChunkIndices: Int32Array; meshIndexCounts: Int32Array; meshVertexCounts: Int32Array; meshOpaqueIndexCounts: Int32Array; meshOpaqueVertexCounts: Int32Array; private nodeToInstance; constructor(chunkCount: Int32Array, instanceMeshes: Int32Array, instanceMatrices: Float32Array, instanceNodes: Int32Array, instanceGroups: Int32Array, instanceTags: BigInt64Array, instanceFlags: Uint16Array, instanceMins: Float32Array, instanceMaxs: Float32Array, meshChunks: Int32Array, meshChunkIndices: Int32Array, meshIndexCounts: Int32Array, meshVertexCounts: Int32Array, meshOpaqueIndexCounts: Int32Array, meshOpaqueVertexCounts: Int32Array); static createFromBfast(bfast: BFast): Promise; getMeshCount(): number; getMeshIndexCount(mesh: number, section: MeshSection): number; getMeshVertexCount(mesh: number, section: MeshSection): number; getInstanceMin(instance: number): Float32Array; getInstanceMax(instance: number): Float32Array; getInstanceMatrix(instance: number): Float32Array; }