import { mat4 } from "gl-matrix"; import { IBox } from "../math/IBox"; import { ITreeNodeData } from "../tree-node/ITreeNodeData"; import { IMaterialAbstractData } from "./material/IMaterialAbstractData"; export declare enum PRIMITIVE_MODE { POINTS = 0, LINES = 1, LINE_LOOP = 2, LINE_STRIP = 3, TRIANGLES = 4, TRIANGLE_STRIP = 5, TRIANGLE_FAN = 6 } export interface IAttributeData extends ITreeNodeData { readonly array: Int8Array | Uint8Array | Int16Array | Uint16Array | Uint32Array | Float32Array; readonly byteOffset: number; readonly byteStride?: number; readonly count: number; readonly elementBytes: number; readonly itemBytes: number; readonly itemSize: number; readonly max: number[]; readonly min: number[]; readonly morphAttributeData: IAttributeData[]; readonly normalized: boolean; readonly sparse?: boolean; readonly sparseIndices?: Int8Array | Uint8Array | Int16Array | Uint16Array | Uint32Array | Float32Array; readonly sparseValues?: Int8Array | Uint8Array | Int16Array | Uint16Array | Uint32Array | Float32Array; readonly target: number | undefined; clone(): IAttributeData; } export interface IPrimitiveData extends ITreeNodeData { readonly attributes: { [key: string]: IAttributeData; }; boundingBox: IBox; indices: IAttributeData | null; clone(): IPrimitiveData; computeBoundingBox(matrix: mat4): IBox; } export interface IGeometryData extends ITreeNodeData { readonly mode: PRIMITIVE_MODE; readonly primitive: IPrimitiveData; attributeMaterial: IMaterialAbstractData | null; boundingBox: IBox; castShadow: boolean; effectMaterials: { material: IMaterialAbstractData; token: string; }[]; material: IMaterialAbstractData | null; materialVariants: { material: IMaterialAbstractData; variant: number; }[]; morphWeights: number[]; receiveShadow: boolean; renderOrder: number; standardMaterial: IMaterialAbstractData | null; clone(): IGeometryData; } //# sourceMappingURL=IGeometryData.d.ts.map