vue-cesium
Version:
Vue 3.x components for CesiumJS.
238 lines (237 loc) • 9.46 kB
TypeScript
import type { ComputedRef, PropType, Ref } from 'vue';
import type { VcLabelProps, VcPointProps, VcPolygonProps } from '../../../primitive-collections';
import type { VcGeometryPolylineProps } from '../../../geometries';
import type { VcPrimitiveGroundPolylineProps, VcPrimitiveProps } from '../../../primitives';
import { VcDrawingDrawEvt, VcDrawingEditorEvt, VcDrawingMouseEvt, VcDrawingPreRenderDatas, VcDrawTipOpts, VcEditorOpts, VcSegmentDrawing } from 'vue-cesium/es/utils/drawing-types';
import { VcComponentInternalInstance, VcComponentPublicInstance, VcReadyObject } from 'vue-cesium/es/utils/types';
declare const _default: import("vue").DefineComponent<{
polylineOpts: PropType<VcGeometryPolylineProps>;
polygonOpts: PropType<VcPolygonProps>;
primitiveOpts: PropType<VcPrimitiveProps & VcPrimitiveGroundPolylineProps>;
clampToGround: BooleanConstructor;
edge: NumberConstructor;
showLabel: BooleanConstructor;
showDistanceLabel: BooleanConstructor;
showAngleLabel: BooleanConstructor;
labelOpts: PropType<VcLabelProps>;
labelsOpts: PropType<VcLabelProps>;
loop: BooleanConstructor;
autoUpdateLabelPosition: BooleanConstructor;
show: BooleanConstructor;
editable: BooleanConstructor;
drawtip: PropType<VcDrawTipOpts>;
pointOpts: PropType<VcPointProps>;
editorOpts: PropType<VcEditorOpts>;
mode: NumberConstructor;
preRenderDatas: PropType<VcDrawingPreRenderDatas>;
disableDepthTest: BooleanConstructor;
distanceFormatter: PropType<import("vue-cesium/es/utils/drawing-types").VcMeasurementFormatter>;
angleFormatter: PropType<import("vue-cesium/es/utils/drawing-types").VcMeasurementFormatter>;
areaFormatter: PropType<import("vue-cesium/es/utils/drawing-types").VcMeasurementFormatter>;
enableMouseEvent: {
type: BooleanConstructor;
default: boolean;
};
}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
activeEvt: (evt: import("vue-cesium/es/utils/drawing-types").VcDrawingActiveEvt, viewer: Cesium.Viewer) => boolean;
drawEvt: (evt: {
index?: number;
name: "distance" | "component-distance" | "polyline" | "horizontal" | "vertical" | "height" | "area" | "point" | "rectangle" | "regular" | "circle" | "pin" | "polygon" | "sightline" | "viewshed";
renderDatas: Ref<(import("vue-cesium/es/utils/drawing-types").VcPointDrawing | import("vue-cesium/es/utils/drawing-types").VcPolylineDrawing | VcSegmentDrawing)[]>;
finished: boolean;
position?: Cesium.Cartesian3;
windowPoistion: Cesium.Cartesian2;
type: "move" | "insert" | "remove" | "removeAll" | "new" | "cancel";
}, viewer: Cesium.Viewer) => boolean;
editorEvt: (evt: VcDrawingEditorEvt, viewer: Cesium.Viewer) => boolean;
mouseEvt: (evt: VcDrawingMouseEvt, viewer: Cesium.Viewer) => boolean;
beforeLoad: (instance: VcComponentInternalInstance) => boolean;
ready: (readyObj: VcReadyObject) => boolean;
unready: (e: any) => boolean;
destroyed: (instance: VcComponentInternalInstance) => boolean;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
polylineOpts: PropType<VcGeometryPolylineProps>;
polygonOpts: PropType<VcPolygonProps>;
primitiveOpts: PropType<VcPrimitiveProps & VcPrimitiveGroundPolylineProps>;
clampToGround: BooleanConstructor;
edge: NumberConstructor;
showLabel: BooleanConstructor;
showDistanceLabel: BooleanConstructor;
showAngleLabel: BooleanConstructor;
labelOpts: PropType<VcLabelProps>;
labelsOpts: PropType<VcLabelProps>;
loop: BooleanConstructor;
autoUpdateLabelPosition: BooleanConstructor;
show: BooleanConstructor;
editable: BooleanConstructor;
drawtip: PropType<VcDrawTipOpts>;
pointOpts: PropType<VcPointProps>;
editorOpts: PropType<VcEditorOpts>;
mode: NumberConstructor;
preRenderDatas: PropType<VcDrawingPreRenderDatas>;
disableDepthTest: BooleanConstructor;
distanceFormatter: PropType<import("vue-cesium/es/utils/drawing-types").VcMeasurementFormatter>;
angleFormatter: PropType<import("vue-cesium/es/utils/drawing-types").VcMeasurementFormatter>;
areaFormatter: PropType<import("vue-cesium/es/utils/drawing-types").VcMeasurementFormatter>;
enableMouseEvent: {
type: BooleanConstructor;
default: boolean;
};
}>> & {
onActiveEvt?: (evt: import("vue-cesium/es/utils/drawing-types").VcDrawingActiveEvt, viewer: Cesium.Viewer) => any;
onDrawEvt?: (evt: {
index?: number;
name: "distance" | "component-distance" | "polyline" | "horizontal" | "vertical" | "height" | "area" | "point" | "rectangle" | "regular" | "circle" | "pin" | "polygon" | "sightline" | "viewshed";
renderDatas: Ref<(import("vue-cesium/es/utils/drawing-types").VcPointDrawing | import("vue-cesium/es/utils/drawing-types").VcPolylineDrawing | VcSegmentDrawing)[]>;
finished: boolean;
position?: Cesium.Cartesian3;
windowPoistion: Cesium.Cartesian2;
type: "move" | "insert" | "remove" | "removeAll" | "new" | "cancel";
}, viewer: Cesium.Viewer) => any;
onEditorEvt?: (evt: VcDrawingEditorEvt, viewer: Cesium.Viewer) => any;
onMouseEvt?: (evt: VcDrawingMouseEvt, viewer: Cesium.Viewer) => any;
onBeforeLoad?: (instance: VcComponentInternalInstance) => any;
onReady?: (readyObj: VcReadyObject) => any;
onUnready?: (e: any) => any;
onDestroyed?: (instance: VcComponentInternalInstance) => any;
}, {
show: boolean;
loop: boolean;
showLabel: boolean;
editable: boolean;
disableDepthTest: boolean;
enableMouseEvent: boolean;
clampToGround: boolean;
showDistanceLabel: boolean;
showAngleLabel: boolean;
autoUpdateLabelPosition: boolean;
}>;
export default _default;
export type VcDrawingRegularProps = {
/**
* Specify whether to respond to mouse pick events.
*/
enableMouseEvent?: boolean;
/**
* Specify Whether the drawing object is visible.
*/
show?: boolean;
/**
* Specify whether the drawing result can be edited.
*/
editable?: boolean;
/**
* Specify drawing hints.
*/
drawtip?: VcDrawTipOpts;
/**
* Specify parameters for drawing points.
*/
pointOpts?: VcPointProps;
/**
* Specify parameters for drawing polylines.
*/
polylineOpts?: VcGeometryPolylineProps;
/**
* Specify parameters for drawing primitives.
*/
primitiveOpts?: VcPrimitiveProps & VcPrimitiveGroundPolylineProps;
/**
* Specify parameters for drawing polygons.
*/
polygonOpts?: VcPolygonProps;
/**
* Specify whether the drawing result object is attached to the ground or 3dtiles. Only polyline and polygon objects work.
*/
clampToGround?: boolean;
/**
* Specify the number of edges of a regular polygon.
*/
edge?: number;
/**
* Specify whether the depthTest is disabled.
* Default value: false
*/
disableDepthTest?: boolean;
/**
* Specify parameters for drawing label.
*/
labelOpts?: VcLabelProps;
/**
* Specify parameters for drawing labels.
*/
labelsOpts?: VcLabelProps;
/**
* Specify whether to update label position.
* Default value: false
*/
autoUpdateLabelPosition?: boolean;
/**
* Specify whether a line segment will be added between the last and first line positions to make this line a loop.
*/
loop?: boolean;
/**
* Specify editor options.
*/
editorOpts?: VcEditorOpts;
/**
* Specify editor mode.
*/
mode?: number;
/**
* Specify prerender datas.
*/
preRenderDatas?: VcDrawingPreRenderDatas;
/**
* Triggers before the VcDrawingRegular is loaded.
*/
onBeforeLoad?: (instance: VcComponentInternalInstance) => void;
/**
* Triggers when the VcDrawingRegular is successfully loaded.
*/
onReady?: (readyObject: VcReadyObject) => void;
/**
* Triggers when the component load failed.
*/
onUnready?: (e: any) => void;
/**
* Triggers when the VcDrawingRegular is destroyed.
*/
onDestroyed?: (instance: VcComponentInternalInstance) => void;
/**
* Triggers when drawing.
*/
onDrawEvt?: (evt: VcDrawingDrawEvt<VcSegmentDrawing>, viewer: Cesium.Viewer) => void;
/**
* Triggers when the editor button is clicked.
*/
onEditorEvt?: (evt: VcDrawingEditorEvt, viewer: Cesium.Viewer) => void;
/**
* Triggers when the mouse is over or out on the drawing point.
*/
onMouseEvt?: (evt: VcDrawingMouseEvt, viewer: Cesium.Viewer) => void;
};
export interface VcDrawingRegularRef extends VcComponentPublicInstance<VcDrawingRegularProps> {
/**
* Get the array of rendering models.
*/
renderDatas?: Ref<VcSegmentDrawing[]>;
/**
* Get the computedRenderDatas.
*/
computedRenderDatas?: ComputedRef<VcSegmentDrawing[]>;
/**
* start a new draw.
*/
startNew: () => void;
/**
* stop drawing.
*/
stop: (removeLatest?: boolean) => void;
/**
* clear and stop drawing.
*/
clear: () => void;
}