import { VcDrawingPin, VcDrawingPoint, VcDrawingPolygon, VcDrawingPolyline, VcDrawingRectangle, VcDrawingRegular } from 'vue-cesium/es/components/drawings/src'; import type { VcFabAction, VcGeometryInstanceProps, VcGeometryPolylineProps, VcLabelProps, VcPointProps, VcPolygonProps, VcPrimitiveProps } from 'vue-cesium/es/components'; import { pointDrawingActionDefault, polygonDrawingActionDefault, polylineDrawingActionDefault, rectangleDrawingActionDefault } from 'vue-cesium/es/components/drawings/src/defaultProps'; import { VcMeasurementArea, VcMeasurementDistance, VcMeasurementHeight, VcMeasurementHorizontal, VcMeasurementPoint, VcMeasurementPolyline, VcMeasurementRectangle, VcMeasurementVertical, VcMeasurementRegular } from 'vue-cesium/es/components/measurements/src'; import { VcAnalysisSightline, VcAnalysisViewshed } from 'vue-cesium/es/components/analyses/src'; import { areaMeasurementActionDefault, areaMeasurementDefault, componentDistanceMeasurementActionDefault, componentDistanceMeasurementDefault, distanceMeasurementActionDefault, distanceMeasurementDefault, heightMeasurementActionDefault, heightMeasurementDefault, horizontalMeasurementActionDefault, horizontalMeasurementDefault, pointMeasurementActionDefault, pointMeasurementDefault, polylineMeasurementActionDefault, polylineMeasurementDefault, rectangleMeasurementActionDefault, rectangleMeasurementDefault, verticalMeasurementActionDefault, verticalMeasurementDefault } from 'vue-cesium/es/components/measurements/src/defaultProps'; import { circleDrawingDefault, clearActionDefault, pointDrawingDefault, polygonDrawingDefault, polylineDrawingDefault, rectangleDrawingDefault } from 'vue-cesium/es/composables/use-drawing/defaultOpts'; import { sightlineAnalysisActionDefault, sightlineAnalysisDefault } from 'vue-cesium/es/components/analyses/src/defaultProps'; import type { CSSProperties, Ref } from 'vue'; import type { VcPickEvent, VcBtnTooltipProps, VcCartesian3Array, VcPosition, VcColor, AppearanceOption } from './types'; import { MeasureUnits } from 'vue-cesium/es/shared'; export declare type DrawingActionOpts = typeof pointDrawingActionDefault | typeof polylineDrawingActionDefault | typeof polygonDrawingActionDefault | typeof rectangleDrawingActionDefault | typeof clearActionDefault; export declare type DrawgingActionCmp = typeof VcDrawingPin | typeof VcDrawingPoint | typeof VcDrawingPolygon | typeof VcDrawingPolyline | typeof VcDrawingRegular | typeof VcDrawingRectangle; export declare type DrawingActionCmpRef = Ref; export declare type DrawingActionCmpOpts = typeof pointDrawingDefault | typeof polylineDrawingDefault | typeof polygonDrawingDefault | typeof rectangleDrawingDefault | typeof circleDrawingDefault; export declare type MeasurementActionOpts = typeof distanceMeasurementActionDefault | typeof componentDistanceMeasurementActionDefault | typeof polylineMeasurementActionDefault | typeof horizontalMeasurementActionDefault | typeof verticalMeasurementActionDefault | typeof heightMeasurementActionDefault | typeof areaMeasurementActionDefault | typeof pointMeasurementActionDefault | typeof rectangleMeasurementActionDefault | typeof clearActionDefault; export declare type MeasurementActionCmp = typeof VcMeasurementArea | typeof VcMeasurementDistance | typeof VcMeasurementHeight | typeof VcMeasurementHorizontal | typeof VcMeasurementPoint | typeof VcMeasurementPolyline | typeof VcMeasurementRectangle | typeof VcMeasurementRegular | typeof VcMeasurementVertical; export declare type MeasurementActionCmpRef = Ref; export declare type MeasurementActionCmpOpts = typeof distanceMeasurementDefault | typeof componentDistanceMeasurementDefault | typeof polylineMeasurementDefault | typeof horizontalMeasurementDefault | typeof verticalMeasurementDefault | typeof heightMeasurementDefault | typeof areaMeasurementDefault | typeof pointMeasurementDefault | typeof rectangleMeasurementDefault; export declare type AnalysisActionOpts = typeof sightlineAnalysisActionDefault | typeof clearActionDefault; export declare type AnalysisActionCmp = typeof VcAnalysisSightline | typeof VcAnalysisViewshed; export declare type AnalysisActionCmpRef = Ref; export declare type AnalysisActionCmpOpts = typeof sightlineAnalysisDefault; export interface VcDrawingActionInstance { name: string; type: 'measurement' | 'drawing' | 'analysis'; actionStyle: CSSProperties; actionClass: string; actionRef: Ref; actionOpts: MeasurementActionOpts | DrawingActionOpts | AnalysisActionOpts; cmp: MeasurementActionCmp | DrawgingActionCmp | AnalysisActionCmp; cmpRef: MeasurementActionCmpRef | DrawingActionCmpRef | AnalysisActionCmpRef; cmpOpts: MeasurementActionCmpOpts | DrawingActionCmpOpts | AnalysisActionCmpOpts; tip: string; isActive: boolean; } export interface VcPointDrawing { show: boolean; position: Cesium.Cartesian3; drawStatus: number; lng: number; lat: number; height: number; slope: number; billboardOpts: Object; labelOpts: Object; } export interface VcPolylineDrawing { show: boolean; positions: Array; tempPositions: Array; drawStatus: number; loop: boolean; area: number; distance: number; distances: Array; labels: Array; angles: Array; dashedLines?: Array<{ positions: Array; }>; heightPlane?: Cesium.Plane; heightPlaneCV?: Cesium.Plane; height?: number; firstMove?: boolean; tempNextPos?: Cesium.Cartesian3; } export interface VcSegmentDrawing { show: boolean; positions: Array; drawStatus: number; distance: number; labelPosition?: Cesium.Cartesian3; xyPolylinePositions?: Array; xyBoxPositions?: Array; xDistance?: number; xLabelPosition?: Cesium.Cartesian3; yDistance?: number; yLabelPosition?: Cesium.Cartesian3; xAngle?: number; xAnglePosition?: Cesium.Cartesian3; yAngle?: number; yAnglePosition?: Cesium.Cartesian3; labels: Array; draggingPlane?: Cesium.Plane; surfaceNormal?: Cesium.Cartesian3; polygonPositions?: Array; heading?: number; pitch?: number; shadowMap?: Cesium.ShadowMap; lightCamera?: Cesium.Camera; viewshedShadowMap?: Cesium.ShadowMap; spotLightCamera?: Cesium.Camera; frustum?: Cesium.PerspectiveFrustum; } export interface VcDrawingPrimitive { show?: boolean; appearance?: AppearanceOption; depthFailAppearance?: AppearanceOption; classificationType?: number; } export interface VcDrawTipOpts { show?: boolean; pixelOffset?: [number, number]; drawingTipStart?: string; drawingTipEnd?: string; drawingTipEditing?: string; } export interface VcEditorOpts { pixelOffset?: [number, number]; delay?: number; hideDelay?: number; move?: VcBtnTooltipProps; insert?: VcBtnTooltipProps; remove?: VcBtnTooltipProps; removeAll?: VcBtnTooltipProps; } export interface VcDrawingOpts { show?: boolean; drawtip?: VcDrawTipOpts; pointOpts?: VcPointProps; labelOpts?: VcLabelProps; polylineOpts?: VcGeometryPolylineProps; polygonOpts?: VcPolygonProps; editorOpts?: VcEditorOpts; primitiveOpts?: VcPrimitiveProps; geometryInstanceOpts?: VcGeometryInstanceProps; loop?: boolean; heightReference?: number; showComponentLines?: boolean; edge?: number; sightlineType?: string; regular?: boolean; disableDepthTest?: boolean; billboardOpts?: Object; } export declare type MeasurementType = 'distance' | 'component-distance' | 'polyline' | 'horizontal' | 'vertical' | 'height' | 'area' | 'point' | 'rectangle' | 'regular' | 'circle'; export declare type DrawingType = 'pin' | 'point' | 'polyline' | 'polygon' | 'rectangle' | 'regular' | 'circle'; export declare type AnalysisType = 'sightline' | 'viewshed'; export interface VcDrawingDrawEvt { index?: number; name: MeasurementType | DrawingType | AnalysisType; renderDatas: Array; finished: boolean; position?: Cesium.Cartesian3; windowPoistion: Cesium.Cartesian2; type: 'new' | 'move' | 'remove' | 'insert' | 'removeAll' | 'cancel'; } export interface VcDrawingActiveEvt { type: MeasurementType | DrawingType | AnalysisType; option: VcDrawingActionInstance; isActive: boolean; } export interface VcDrawingEditorEvt { type: 'move' | 'insert' | 'remove' | 'removeAll'; renderDatas: Array; name: MeasurementType | DrawingType | AnalysisType; index: number; } export interface VcDrawingMouseEvt { type: 'onmouseout' | 'onmouseover'; name: MeasurementType | DrawingType | AnalysisType; target: VcPickEvent; } export interface VcMeasurementOpts extends VcDrawingOpts { measureUnits?: MeasureUnits; decimals?: { distance?: number; angle?: number; area?: number; lng?: number; lat?: number; height?: number; slope?: number; }; locale?: string; } export interface VcComponentDistanceMeasurementOpts extends VcMeasurementOpts { showComponentLines?: boolean; xLabelOpts?: VcLabelProps; xAngleLabelOpts?: VcLabelProps; yLabelOpts?: VcLabelProps; yAngleLabelOpts?: VcLabelProps; } export interface VcPolylineMeasurementOpts extends VcMeasurementOpts { labelsOpts?: VcLabelProps; showAngleLabel?: boolean; showDistanceLabel?: boolean; loop?: boolean; } export interface VcHorizontalMeasurementOpts extends VcPolylineMeasurementOpts { showDashedLine?: boolean; dashLineOpts?: VcGeometryPolylineProps; } export interface VcRegularMeasurementOpts extends VcPolylineMeasurementOpts { edge?: number; loop?: boolean; } export interface VcViewshedAnalysisOpts extends VcDrawingOpts { ellipsoidOpts?: { show?: boolean; horizontalViewAngle?: number; verticalViewAngle?: number; color?: VcColor; }; } export declare type VcDrawingPreRenderDatas = Array;