UNPKG

@arcgis/map-components

Version:
42 lines (41 loc) 2.04 kB
/// <reference types="@arcgis/core/interfaces.d.ts" /> import { default as DirectLineMeasurementAnalysis } from '@arcgis/core/analysis/DirectLineMeasurementAnalysis.js'; import { default as SceneView } from '@arcgis/core/views/SceneView'; import { AnalysisViewModel } from '../../support/AnalysisViewModel'; import { MeasurementModeString, MeasurementState, MeasurementValue } from '../../support/measurementUtils'; export interface Measurement { readonly mode: MeasurementModeString; readonly directDistance: MeasurementValue<__esri.Length>; readonly horizontalDistance: MeasurementValue<__esri.Length>; readonly verticalDistance: MeasurementValue<__esri.Length>; } export type State = "disabled" | "measured" | "measuring" | "ready"; export default class DirectLineMeasurement3DViewModel extends AnalysisViewModel<SceneView, DirectLineMeasurementAnalysis> { initialize(): void; get state(): Exclude<MeasurementState, "unsupported">; get displayState(): MeasurementState; /** * The current measurement calculated between the two points. */ get measurement(): Measurement; /** * List of unit systems (imperial, metric) and specific units for displaying the distance values. */ get unitOptions(): __esri.SystemOrLengthUnit[]; set unitOptions(units: __esri.SystemOrLengthUnit[] | undefined); private _userUnitOptions?; /** * Unit system (imperial, metric) or specific unit used for displaying the distance values. */ get unit(): __esri.SystemOrLengthUnit; set unit(unit: __esri.SystemOrLengthUnit | undefined); private _userUnit?; get defaultUnit(): __esri.MeasurementSystem | undefined; place(options?: { signal?: AbortSignal; }): Promise<void>; protected clearAnalysis(): void; protected readonly supportedViewType = "3d"; protected readonly unsupportedErrorMessage = "The Direct Line Measurement 3D component is only supported in 3D views."; protected constructAnalysis(): DirectLineMeasurementAnalysis; }