UNPKG

afdi-ambition-fbim-fe

Version:

3D组态BIM编辑器

239 lines (238 loc) 6.36 kB
import { vec3 } from 'gl-matrix'; import { Element } from 'sadi-sdk-ts'; import * as sadi from 'sadi-sdk-ts'; export declare abstract class ComponentBase { scene: sadi.Scene; constructor(scene: any); /** * 冻结构件 */ freezeByElement: (elements: any | any[]) => void; /** * 根据index显示构件 */ showElementsByIndexs: (indexs: number[]) => void; /** * 根据id显示自定义构件 */ showElementsByIds: (ids: number[]) => void; /** * 根据index隐藏构件 */ hideElementsByIndexs: (indexs: number[]) => void; /** * 根据id隐藏自定义构件 */ hideElementsByIds: (indexs: number[]) => void; /** * 根据Elements隐藏构件 */ hideElementsByElements: (elements: any[]) => void; /** * 根据Index获取构件 */ getElementByIndex: (index: number | number[], options?: { excludes: []; }) => sadi.Element | sadi.Element[]; /** * 获取所有构件 */ getAllElement: () => sadi.Element[]; /** * 隐藏所有 */ hideAll: () => void; /** * 显示所有 */ showAll: () => void; /** * 根据id查找构件元素 */ getElementById: (id: number | number[], options?: { excludes: any[]; }) => any; /** * 根据id查找构件 */ getElementByIdFormInit: (id: number | number[], options?: { excludes: any[]; }) => any; /** * 根据index数组冻结构件元素 */ freezeByIndex: (indexs: number[]) => void; /** * 解冻所有元素 */ unlockAll: () => void; /** * 设置几何体颜色 */ setInstanceColor: (ins: any | any[], options: { color: string; opacity?: number; }) => void; /** * 设置构件颜色 */ setElementColor: (element: any | any[], opts: { color: string; opacity?: number; }) => void; /** * 修改所有构件颜色 */ changeAllElementsColor: (color: string, opacity?: number) => void; /**清除选择的构件上的颜色 */ resetElementsColor: (elements: sadi.Element[]) => void; /** * 清除构件上所有颜色 */ resetAllElementsColor: () => void; /** * 泛光 */ setBloomParams: (params: { range: number; exposure: number; }) => void; /** * 根据构件元素设置泛光 */ addBloomByElement: (elements: any[]) => void; /** * 清除泛光效果 */ clearBloom: () => void; /** * 高亮 */ highlightObjects: (objects: sadi.SelectResult[], opts?: { isClearOlderHighlight: boolean; }) => void; /** * 清除所有高亮 */ clearHighlightElements: () => void; /** * 设置隔离高亮 */ setIsolationHighlights: (flag: boolean) => void; /** * 显示构件 */ showElementsByElements: (elements: any[], opts?: { hideOther: boolean; }) => void; /** * 根据文件获取构件模板 * @param file 文件 * @returns */ getTemplateByFile: (file: File) => Promise<sadi.Element[]>; /** * 根据文件放置构件 * @param buffer 二进制文件 * @param point 位置 * @param id 构件id * @returns void */ placeComponents: (buffer: ArrayBuffer, point: vec3[], id: number[]) => Promise<sadi.Element[]>; /** * 根据索引获取构件中心点 * @param index 构件索引 * @returns */ getComponentCenterByIndex: (index: number) => number[] | undefined; /** * 根据索引获取构件中心点z为最小值 * @param index 构件索引 * @returns */ getComponentCenterByIndexTwo: (index: number) => number[] | undefined; /** * 根据自定义构件id获取构件中心点 * @param index 构件索引 * @returns */ getComponentCenterByCustomId: (ids: number[]) => number[] | undefined; /** * 根据自定义构件id获取构件中心点z为最小值 * @param index 构件索引 * @returns */ getComponentCenterByCustomIdTwo: (ids: number[]) => number[] | undefined; /** * 根据索引获取构件中心店 * @param element 自定义构件 * @returns */ getComponentCenterByElement: (element: Element) => number[]; /** * 根据索引获取构件中心点多个构件 * @param element 自定义构件 * @returns */ getComponentCenterByElements: (elements: Element[]) => number[][]; /** * 根据索引获取构件顶点 * @param element * @returns */ getComponentTopByElement: (element: Element) => number[]; /** * 移动构件 * @param elementArr 构件数组 * @param arr 位置 */ moveComponents: (elementArr: Element[], arr?: [number, number, number]) => Promise<void>; /** * 缩放构件 * @param elementArr 构件数组 * @param arr 位置 */ scaleComponents: (elementArr: Element[], arr?: [number, number, number]) => Promise<void>; /** * 旋转构件 * @param elementArr 构件数组 * @param arr 位置 * @param rad 角度 */ rotateComponents: (elementArr: Element[], arr?: [number, number, number], rad?: number) => Promise<void>; /** * 删除构件 * @param elementArr 构件数组 */ deleteComponents: (elementArr: Element[]) => Promise<void>; /** * 根据索引获取构件轴心坐标 * @param index 构件索引 * @returns */ getComponentAxis: (element: Element) => vec3; /** * 保存新构件 * @returns */ saveNewComponent: () => Promise<ArrayBuffer>; /** * 加载新建构件 * @param buffer * @returns */ loadExtraElements: (buffer: ArrayBuffer) => Promise<void>; /** * 绘制平移坐标轴 * @param element 构件 */ enableAxis: (element: Element, flag: boolean, fun?: Function) => Promise<void>; /** * 根据id查找自定义构件元素 */ getElementByCustomId: (ids: number[]) => sadi.Element[]; /** * 根据构件与坐标设置构件位置 */ setComponentLocation: (element: Element, loc: [number, number, number]) => void; }