/** * 创建viewer3D工具箱,用来执行一些状态无关的操作 * @class ToolBox */ declare class ToolBox { viewer3D: any; threeMark: any; DOMMark: any; rotate: boolean; deltaX: number; position: any; target: any; r2: any; xMax: any; xMin: any; /** * @constructor ToolBox * @param {{viewer3D: object}} config - 初始化配置。viewer3D:viewer3D对象 */ constructor(config: any); /** * 从相机当前位置飞跃到指定的相机姿态 * @param {object} cameraInfo - 相机姿态对象 * @param {coordinate} cameraInfo.position - 相机位置 * @param {coordinate} cameraInfo.target - 相机焦点 * @param {coordinate} cameraInfo.up - 相机正方向 * @param {function} [callback] - 动画完成之后的回调函数 */ flyTo(cameraInfo: any, callback: any): void; /** * 添加THREEMark标签 * @desc 不支持批量添加 * @param {object} option - 标签配置 * @param {string} [option.id] - 标签id(必须唯一) * @param {string} option.name - 标签内容 * @param {string} [option.color = "#000000"] - 标签颜色 * @param {number} [option.scale] - 标签放大倍数 * @param {number[]} option.position - 标签起点三维坐标 */ addTHREEMarker(option: any): void; /** * 添加DOMMark标签 * @desc 不支持批量添加 * @param {object} option - 标签配置 * @param {string} [option.title = "标签"] - 标签标题 * @param {HTMLElement} option.domElement - 标签主题内容 * @param {string} [option.id = ""] - 标签id * @param {number[]} [option.color = [255, 0, 0]] - 标签颜色 * @param {number[]} [option.colorLine = [0, 0, 0]] - 线条颜色 * @param {number[]} [option.startPosition = [0, 0, 0]] - 标签起点三维坐标 * @param {number[]} [option.endPosition = [0, 0]] - 标签终点dom坐标(相对于canvas) * @param {boolean} [option.draggable = true] - 标签是否可以拖拽 */ addDOMMark(option: any): void; /** * 移除THREEMarker * @param {string[]} id - 标签id数组 */ removeTHREEMarker(id: string[]): void; /** * 移除DOMMarker * @param {string[]} id - 标签id数组 */ removeDOMMarker(id: string[]): void; /** * 获取构件中心 * @param {string|string[]} keys - 要查询位置的构件key或key数组 * @return {number[]} 中心坐标 */ getCenterByCptKey(keys: string | string[]): number[]; /** * 重置三维视角 * @method resetPerspective * @desc 不提供camera参数,会重置为默认视角 * @param {object} [camera] - 相机参数 * @param {THREE.Vector3} camera.position * @param {THREE.Vector3} camera.center * @param {THREE.Vector3} camera.up */ resetPerspective(camera: any): void; /** * 将modelKey转换为构件key * @param {string[]} modelKeys * @return {string[]} 构件key */ getCptkeyFromModelkey(modelKeys: string[]): any; /** * 缩放到指定包围包围盒大小 * @method zoomToBox * @param {string[]} keys - 要缩放的构件或者模型key数组 * @param {Number} [margin=0] - 包围盒缩放比例, 缺省值: 0, 当margin > 0 模型缩小(包围盒变大),当margin < 0 模型放大(包围盒变小) * @param {Number} [ratio=1] - 相机与中心距离的拉伸比例, 缺省值: 1 * @param {("cpt"|"model")} [type="cpt"] - key类型,"model"或者"cpt" */ zoomToBox(keys: string[], margin?: number, ratio?: number, type?: string): any; /** * 缓慢移动构件 * @method moveTo * @param {string} key - 构件key * @param {number[]} start - 起点坐标 * @param {number[]} stop - 终点坐标 * @param {number} time - 移动所需时长(ms) */ moveTo(key: string, start: number[], stop: number[], time: number): void; /** * 环绕飞跃 * @deprecated */ flyAround(): void; /** * 停止环绕飞跃 * @deprecated */ stopFlyAround(): void; /** * 获取环绕飞跃状态 * @deprecated * @return {boolean} */ getFlyState(): boolean; /** * @deprecated * @private */ __flyAround(): void; } export default ToolBox;