import { mat4, vec3 } from "gl-matrix"; import { Element } from "../Model/Element"; import { SceneItem } from "../Model/SceneItem"; /** * 场景管理 */ export declare class SceneManager { constructor(); /** * 模板 */ get templates(): Element[]; /** * 放置的构件 */ get elements(): Element[]; /** * 添加模板 * @param buffer 模板数据 */ add_template(buffer: ArrayBuffer): void; /** * 必须在主模型加载完成之后加载 * 需要commit 生效 * @param template * @param loc */ add_element(template: Element, id: number, loc: vec3 | mat4): void; /** * 放置模板 * @param template */ prompt_template(template: Element, id: number): void; /** * 提交,add_element 之后需要调用 */ commit(): void; /** * 返回放置构件 * @returns */ save(): SceneItem[]; }