import { DistanceMeasurement } from "@xtctwins/tctwins-core/types/plugins/DistanceMeasurementsPlugin/DistanceMeasurement"; import Controller from "../../Controller"; import EventTrigger from "../../EventTrigger"; /** * 表示距离测量类 * @class */ export default class MeasureDistanceTool extends Controller { private _distanceMeasurementsPlugin; private _distanceMeasurementsMouseControl; private _distanceMeasurementsTouchControl; protected eventTrigger: EventTrigger; private _approximate; private _precision; private _unit; private _scale; private distanceMeasureContainer; constructor(parent: any, cfg: any); initSettings(): void; protected _initializeMeasure(): void; /** * @param {string} unit */ set unit(unit: string); set scale(scale: number); get scale(): number; /** * 设置精度 * @param {number} precision */ set precision(precision: number); get precision(): number; /** * @param {number} offsetX */ set offsetX(offsetX: number); /** * @return {number} mouse offset */ get offsetX(): number; /** * @param {number} offsetX */ set offsetY(offsetY: number); /** * @return {number} mouse offset */ get offsetY(): number; /** * 设置是否自动捕捉聚焦 * @param snappingEnabled * @returns */ setSnappingEnabled(snappingEnabled: boolean): boolean; /** * @returns 返回测量结果个数 */ getNumMeasurements(): number; /** * @returns 返回测量结果列表 */ getMeasurementsList(): { [key: string]: DistanceMeasurement; }; /** * @param id * @returns 返回指定id测量对象 */ getMeasurementById(id: string): DistanceMeasurement; /** * * @param id * @returns 返回指定id测量距离结果 */ getMeasureResultByID(id: string): number; /** * 设置指定id测量线的颜色 * @param id * @param color */ setMeasureColorByID(id: string, color: string): void; /** * 设置指定id测量线能否识别 "mouseOver" "mouseLeave" 等事件 * @param id * @param clickable */ setMeasureClickbleById(id: string, clickable: boolean): void; /** * 设置指定id测量对象高亮 * @param id * @param highlighted */ setMeasureHightlighted(id: string, highlighted: boolean): void; /** * 设置所有高亮或取消 * @param highlighted */ setAllHightLighted(highlighted: boolean): void; /** * 设置指定id测量结果隐藏或显示 * @param id string * @param visible boolean */ setVisibleById(id: string, visible: boolean): void; /** * 设置指定id测量标签隐藏或显示 * @param id string * @param labelsVisible boolean */ setLableVisibleById(id: string, labelsVisible: boolean): void; /** * @param id 删除指定id测量对象 */ destroyMeasurementById(id: string): void; /** * 清除所有测量内容 */ clear(): void; stop(): void; /** * destroy测量插件对象 */ destroy(): void; }