import { Sphere } from "../math/Sphere.ts"; import { Attribute } from "./Attribute.ts"; /** * Vertex data store. Per-vertex color is a first-class shading path, * not an afterthought. */ export declare class Geometry { #private; id: number; name: string; type: string; parameters: Record; boundingBox: unknown; boundingSphere: Sphere | undefined; /** Sets the position attribute from a flat array of xyz values. */ setPositions(array: Float32Array | number[]): this; /** Sets the uv attribute from a flat array of uv pairs. */ setUVs(array: Float32Array | number[]): this; /** Per-vertex color. First-class alongside positions and UVs. */ setColors(array: Float32Array | number[]): this; /** Sets the normal attribute from a flat array of normal xyz triples. */ setNormals(array: Float32Array | number[]): this; /** Sets the triangle index list. */ setIndex(array: Uint16Array | Uint32Array | number[]): this; getAttribute(name: string): Attribute | undefined; setAttribute(name: string, attribute: Attribute): this; deleteAttribute(name: string): boolean; get index(): Uint16Array | Uint32Array | undefined; get attributes(): Map; /** Compute flat (cross-product per face) vertex normals. */ computeVertexNormals(): this; /** Computes a minimal bounding sphere from the position attribute. */ computeBoundingSphere(): this; dispose(): void; } //# sourceMappingURL=Geometry.d.ts.map