import { AngleMeasurement } from "@xtctwins/tctwins-core/types/plugins/AngleMeasurementsPlugin/AngleMeasurement"; import Controller from "../../Controller"; import EventTrigger from "../../EventTrigger"; /** * 表示角度测量类 * @class */ export default class MeasureAngleTool extends Controller { private _angleMeasurementsPlugin; private _angleMeasurementsMouseControl; private _angleMeasurementsTouchControl; protected eventTrigger: EventTrigger; private _approximate; private _precision; private angleMeasureContainer; constructor(parent: any, cfg: any); initSettings(): void; protected _initializeMeasure(): void; /** * 设置精度 * @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]: AngleMeasurement; }; /** * @param id * @returns 返回指定id测量对象 */ getMeasurementById(id: string): AngleMeasurement; /** * * @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 * @param angleVisible */ setAngleLabelVisible(id: string, angleVisible: boolean): void; /** * @param id 删除指定id测量对象 */ destroyMeasurementById(id: string): void; /** * 清除所有测量内容 */ clear(): void; stop(): void; /** * destroy测量插件对象 */ destroy(): void; }