videx-3d
Version:
React 3D component library designed for sub surface visualizations in the browser
47 lines (46 loc) • 2.45 kB
TypeScript
import { BufferGeometry, TypedArray } from 'three';
export type BufferAttributeDrawRange = {
start: number;
count: number;
};
export type BufferAttributeGroups = (BufferAttributeDrawRange & {
materialIndex?: number | undefined;
})[];
export type BufferAttributeLike = {
array: TypedArray;
itemSize: number;
};
export type BufferGeometryLike = {
[index: string]: any;
drawRange?: BufferAttributeDrawRange | undefined;
groups?: BufferAttributeGroups | undefined;
attributes: Record<string, BufferAttributeLike>;
index?: ArrayBufferLike | undefined;
userData?: any;
};
export type PackedBufferAttribute = {
buffer: ArrayBufferLike;
attributeType: string;
itemSize: number;
};
export type PackedAttributes = Record<string, PackedBufferAttribute>;
export type PackedBufferGeometry = {
drawRange: BufferAttributeDrawRange;
groups: BufferAttributeGroups;
attributes: PackedAttributes;
index: ArrayBufferLike | undefined;
indexType: string | undefined;
userData?: any;
};
export type PackedBufferGeometryCollection = Record<string, PackedBufferGeometry>;
export declare function getTypedArrayType(array: ArrayBufferLike): "Int8Array" | "Float32Array" | "Uint8Array" | "Int16Array" | "Uint16Array" | "Int32Array" | "Uint32Array" | "Float64Array";
export declare function getTypedArrayFromBuffer(buffer: ArrayBufferLike, type: string): Float32Array<ArrayBufferLike> | Int8Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike> | Int16Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Int32Array<ArrayBufferLike> | Uint32Array<ArrayBufferLike> | Float64Array<ArrayBufferLike>;
export declare function packAttribute(typedArray: TypedArray, itemSize?: number): PackedBufferAttribute;
export declare function packBufferGeometryLike(geometry: BufferGeometryLike): [PackedBufferGeometry, ArrayBufferLike[]];
export declare function packBufferGeometry(bufferGeometry: BufferGeometry): [PackedBufferGeometry, ArrayBufferLike[]];
export declare function packBufferGeometries(bufferGeometries: BufferGeometry[]): {
data: PackedBufferGeometryCollection;
transferrables: ArrayBufferLike[];
};
export declare function unpackBufferGeometry(packed: PackedBufferGeometry): BufferGeometry<import('three').NormalBufferAttributes>;
export declare function unpackBufferGeometries(data: PackedBufferGeometryCollection): Record<string, BufferGeometry<import('three').NormalBufferAttributes>>;