vim-webgl-component
Version:
A demonstration app built on top of the vim-webgl-viewer
58 lines (57 loc) • 2.97 kB
TypeScript
/**
* @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<G3dScene>;
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;
}