casc-cesium
Version:
Vue 3.x components for CesiumJS.
135 lines (132 loc) • 3.83 kB
JavaScript
import { actionOptions, segmentDrawingDefault, polylineOptsDefault, polylinePrimitiveOptsDefault, polygonDrawingDefault, pointOptsDefault, editorOptsDefault } from '../../../composables/use-drawing/defaultOpts.mjs';
import { useDrawingFabProps } from '../../../composables/use-drawing/props.mjs';
import { getDefaultOptionByProps } from '../../../utils/util.mjs';
const sightlineAnalysisActionDefault = Object.assign({}, actionOptions, {
icon: "vc-icons-analysis-sightline"
});
const sightlineAnalysisDefault = Object.assign({}, segmentDrawingDefault, {
polylineOpts: Object.assign({}, polylineOptsDefault, {
colors: ["#51ff00", "red"]
}),
primitiveOpts: Object.assign({}, polylinePrimitiveOptsDefault, {
appearance: {
type: "PolylineColorAppearance"
},
depthFailAppearance: {
type: "PolylineColorAppearance"
}
}),
sightlineType: "polyline"
});
const viewshedAnalysisActionDefault = Object.assign({}, actionOptions, {
icon: "vc-icons-analysis-viewshed"
});
const viewshedAnalysisDefault = Object.assign({}, polygonDrawingDefault, {
pointOpts: Object.assign({}, pointOptsDefault, {
show: false
}),
polylineOpts: Object.assign({}, polylineOptsDefault, {
width: 15
}),
primitiveOpts: Object.assign({}, polylinePrimitiveOptsDefault, {
show: false,
appearance: {
type: "PolylineMaterialAppearance",
options: {
material: {
fabric: {
type: "PolylineArrow",
uniforms: {
color: [255, 255, 0, 255]
}
}
}
}
},
depthFailAppearance: {
type: "PolylineMaterialAppearance",
options: {
material: {
fabric: {
type: "PolylineArrow",
uniforms: {
color: [255, 255, 0, 255]
}
}
}
}
}
}),
editorOpts: {
pixelOffset: [16, -8],
delay: 1e3,
hideDelay: 1e3,
move: Object.assign({}, editorOptsDefault),
removeAll: Object.assign({}, editorOptsDefault, {
icon: "vc-icons-delete"
})
},
viewshedOpts: {
fovH: 90,
fovV: 60,
offsetHeight: 1.8,
visibleColor: "#00ff00",
invisibleColor: "#ff0000",
showGridLine: true,
faceColor: "rgba(255,255,255,0.1)",
lineColor: "rgba(255,255,255,0.4)"
}
});
const mainFabDefault = Object.assign({}, actionOptions, {
direction: "right",
icon: "vc-icons-analysis-button",
activeIcon: "vc-icons-analysis-button",
verticalActionsAlign: "center",
hideIcon: false,
persistent: false,
modelValue: true,
hideActionOnClick: false,
color: "info"
});
const analysisType = ["sightline", "viewshed"];
const isValidAnalysisType = (drawings) => {
let flag = true;
drawings.forEach((drawing) => {
if (!analysisType.includes(drawing)) {
console.error(`VueCesium: unknown analysis type: ${drawing}`);
flag = false;
}
});
return flag;
};
const analysesProps = {
...useDrawingFabProps,
analyses: {
type: Array,
default: () => analysisType,
validator: isValidAnalysisType
},
mainFabOpts: {
type: Object,
default: () => mainFabDefault
},
sightlineActionOpts: {
type: Object,
default: () => sightlineAnalysisActionDefault
},
sightlineAnalysisOpts: {
type: Object,
default: () => sightlineAnalysisDefault
},
viewshedActionOpts: {
type: Object,
default: () => viewshedAnalysisActionDefault
},
viewshedAnalysisOpts: {
type: Object,
default: () => viewshedAnalysisDefault
}
};
const defaultOptions = getDefaultOptionByProps(analysesProps);
export { analysesProps, analysisType, defaultOptions, mainFabDefault, sightlineAnalysisActionDefault, sightlineAnalysisDefault, viewshedAnalysisActionDefault, viewshedAnalysisDefault };
//# sourceMappingURL=defaultProps.mjs.map