@itwin/measure-tools-react
Version:
Frontend framework and tools for measurements
40 lines • 2.22 kB
TypeScript
import type { BeButtonEvent, ScreenViewport } from "@itwin/core-frontend";
import { EventHandled, SnapDetail } from "@itwin/core-frontend";
import type { Feature } from "../api/FeatureTracking.js";
import { MeasurementToolBase } from "../api/MeasurementTool.js";
import type { LocationMeasurement } from "../measurements/LocationMeasurement.js";
import { MeasureLocationToolModel } from "../toolmodels/MeasureLocationToolModel.js";
import type { DialogItem, DialogPropertySyncItem } from "@itwin/appui-abstract";
import { SheetMeasurementsHelper } from "../api/SheetMeasurementHelper.js";
/** Tool that measure precise locations */
export declare class MeasureLocationTool extends MeasurementToolBase<LocationMeasurement, MeasureLocationToolModel> {
static toolId: string;
static iconSpec: string;
private static readonly useDynamicMeasurementPropertyName;
protected get allowedDrawingTypes(): SheetMeasurementsHelper.DrawingType[];
private static _isUserNotifiedOfGeolocationFailure;
private _useDynamicMeasurement;
static get flyover(): string;
static get description(): string;
static get keyin(): string;
protected get feature(): Feature | undefined;
constructor(enableSheetMeasurements?: boolean, allowedViewportCallback?: (vp: ScreenViewport) => boolean);
onRestartTool(): Promise<void>;
onPostInstall(): Promise<void>;
onDataButtonDown(ev: BeButtonEvent): Promise<EventHandled>;
private sheetMeasurementsDataButtonDown;
onMouseMotion(ev: BeButtonEvent): Promise<void>;
private createLocationProps;
protected createToolModel(): MeasureLocationToolModel;
isValidLocation(ev: BeButtonEvent, isButtonEvent: boolean): boolean;
protected requestSnap(ev: BeButtonEvent): Promise<SnapDetail | undefined>;
/** Update the props to add GeoLocation information when available */
private queryGeoLocation;
private getSlopeFromNormal;
protected updateToolAssistance(): void;
onInstall(): Promise<boolean>;
onCleanup(): Promise<void>;
supplyToolSettingsProperties(): DialogItem[];
applyToolSettingPropertyChange(updatedValue: DialogPropertySyncItem): Promise<boolean>;
}
//# sourceMappingURL=MeasureLocationTool.d.ts.map