vue-cesium-jyt
Version:
Vue 3.x components for CesiumJS.
208 lines (207 loc) • 10.7 kB
TypeScript
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<typeof VcDrawingPoint | typeof VcDrawingPolyline | typeof VcDrawingPolygon | typeof VcDrawingRegular | typeof VcDrawingRectangle>;
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<typeof VcMeasurementDistance | typeof VcMeasurementPolyline | typeof VcMeasurementHorizontal | typeof VcMeasurementVertical | typeof VcMeasurementHeight | typeof VcMeasurementArea | typeof VcMeasurementPoint | typeof VcMeasurementRectangle | typeof VcMeasurementRegular>;
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<typeof VcAnalysisSightline | typeof VcAnalysisViewshed>;
export declare type AnalysisActionCmpOpts = typeof sightlineAnalysisDefault;
export interface VcDrawingActionInstance {
name: string;
type: 'measurement' | 'drawing' | 'analysis';
actionStyle: CSSProperties;
actionClass: string;
actionRef: Ref<typeof VcFabAction>;
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<Cesium.Cartesian3>;
tempPositions: Array<Cesium.Cartesian3>;
drawStatus: number;
loop: boolean;
area: number;
distance: number;
distances: Array<number>;
labels: Array<VcLabelProps>;
angles: Array<number>;
dashedLines?: Array<{
positions: Array<Cesium.Cartesian3>;
}>;
heightPlane?: Cesium.Plane;
heightPlaneCV?: Cesium.Plane;
height?: number;
firstMove?: boolean;
tempNextPos?: Cesium.Cartesian3;
}
export interface VcSegmentDrawing {
show: boolean;
positions: Array<Cesium.Cartesian3>;
drawStatus: number;
distance: number;
labelPosition?: Cesium.Cartesian3;
xyPolylinePositions?: Array<Cesium.Cartesian3>;
xyBoxPositions?: Array<Cesium.Cartesian3>;
xDistance?: number;
xLabelPosition?: Cesium.Cartesian3;
yDistance?: number;
yLabelPosition?: Cesium.Cartesian3;
xAngle?: number;
xAnglePosition?: Cesium.Cartesian3;
yAngle?: number;
yAnglePosition?: Cesium.Cartesian3;
labels: Array<VcLabelProps>;
draggingPlane?: Cesium.Plane;
surfaceNormal?: Cesium.Cartesian3;
polygonPositions?: Array<Cesium.Cartesian3>;
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<VcPointDrawing | VcPolylineDrawing | VcSegmentDrawing>;
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<VcPointDrawing | VcPolylineDrawing | VcSegmentDrawing>;
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<VcCartesian3Array | VcPosition>;