From 5027ba52330f3a258de9d63a2b02e828c016f452 Mon Sep 17 00:00:00 2001 From: shefengchun <1077478963@qq.com> Date: Fri, 24 Feb 2023 14:00:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FusionSettings/DensityCorrection.vue | 7 +- .../FusionSettings/FourPointCalibration.vue | 69 +++++++++++++++++-- .../FusionSettings/FusionLocale.vue | 3 +- .../FusionSettings/GridSettings.vue | 2 +- .../FusionSettings/SurfaceCorrection.vue | 15 ++-- src/components/FusionSettingsDialog.vue | 14 ++-- 6 files changed, 85 insertions(+), 25 deletions(-) diff --git a/src/components/FusionSettings/DensityCorrection.vue b/src/components/FusionSettings/DensityCorrection.vue index a1e9511..7f98319 100644 --- a/src/components/FusionSettings/DensityCorrection.vue +++ b/src/components/FusionSettings/DensityCorrection.vue @@ -557,7 +557,8 @@ export default defineComponent({ let tmp = JSON.parse($store.state.fusion_configuration).options; auxiliary_line.value = tmp.blending_grids_density_assistant_lines == "1" now_v_h.value = "level" - start_point(5, 'all') + start_point(Number(options_value_h_point_amount.value[0]), 'h') + start_point(Number(options_value_v_point_amount.value[0]), 'v') if ( sessionStorage.DensityCorrection && sessionStorage.DensityCorrection.length > 0 @@ -931,7 +932,7 @@ export default defineComponent({ */ const details_selsect_v = (details: any) => { let spt = details.deltaY / 100 - if (spt < 0) { + if (spt > 0) { if (options_model_v.value >= value_v_point.value.length - 1) { options_model_v.value = 0 } else { @@ -947,7 +948,7 @@ export default defineComponent({ } const details_selsect_h = (details: any) => { let spt = details.deltaY / 100 - if (spt < 0) { + if (spt > 0) { if (options_model_h.value >= value_h_point.value.length - 1) { options_model_h.value = 0 } else { diff --git a/src/components/FusionSettings/FourPointCalibration.vue b/src/components/FusionSettings/FourPointCalibration.vue index b8a2593..7e2a752 100644 --- a/src/components/FusionSettings/FourPointCalibration.vue +++ b/src/components/FusionSettings/FourPointCalibration.vue @@ -62,7 +62,9 @@ import { watch, nextTick, onBeforeUnmount, - defineExpose + defineExpose, +toRefs, +inject } from "vue"; import { useStore } from "src/store"; import { useI18n } from "vue-i18n"; @@ -83,7 +85,15 @@ export default defineComponent({ components: { Vue3DraggableResizable }, - setup() { + props: { + col: { + type: String, + }, + row: { + type: String, + } + }, + setup(props) { let set = GlobalData.getInstance().getCurrentClient(); let $store = useStore(); let $t = useI18n(); @@ -227,12 +237,38 @@ export default defineComponent({ let tmp = coordinate_transformation_xy_to_value(obj_x, obj_y) value.value[index].x = Math.round(tmp.x) value.value[index].y = Math.round(tmp.y) - send_value(index, Math.round(tmp.x), Math.round(tmp.y)) + /** + * 判断摄像机 + */ + if(now_selsect_projector?.value=='0-0'){ + + if(index==1||index==3){ + value.value[index].x = Math.round(tmp.x)>allconfig.projector_width?allconfig.projector_width:Math.round(tmp.x) + } + } + if(now_selsect_projector?.value=='0-1'){ + if(index==0||index==2){ + value.value[index].x = Math.round(tmp.x)<0?0:Math.round(tmp.x) + } + } + + send_value(index, value.value[index].x , value.value[index].y) save_set_cache() } const chang = (index: number, $event: any, type: string) => { index = Number(index) + if (now_selsect_projector?.value == '0-0') { + + if (index == 1 || index == 3) { + value.value[index].x > allconfig.projector_width ? value.value[index].x =allconfig.projector_width : value.value[index].x + } + } + if (now_selsect_projector?.value == '0-1') { + if (index == 0 || index == 2) { + value.value[index].x < 0 ? value.value[index].x= 0 : value.value[index].x + } + } let tmp = coordinate_transformation_value_to_xy(value.value[index].x, value.value[index].y) value_point.value[index].y = Math.round(tmp.y) value_point.value[index].x = Math.round(tmp.x) @@ -365,7 +401,7 @@ export default defineComponent({ */ const details_selsect=(details:any) => { let spt=details.deltaY/100 - if(spt<0){ + if(spt>0){ if(options_model.value>=value_point.value.length-1){ options_model.value=0 }else{ @@ -389,9 +425,28 @@ export default defineComponent({ switch (type) { case 'x': if (spt < 0) { - value.value[options_model.value].x++ + if(now_selsect_projector?.value=='0-0'&&props.col=='2'){ + + if(options_model.value==1||options_model.value==3){ + value.value[options_model.value].x>allconfig.projector_width?value.value[options_model.value].x = allconfig.projector_width:value.value[options_model.value].x++ + }else{ + value.value[options_model.value].x++ + } + }else{ + value.value[options_model.value].x++ + } } else { - value.value[options_model.value].x-- + + if(now_selsect_projector?.value=='0-1'&&props.col=='2'){ + if(options_model.value==0||options_model.value==2){ + value.value[options_model.value].x <0?value.value[options_model.value].x = 0:value.value[options_model.value].x -- + }else{ + value.value[options_model.value].x-- + } + }else{ + value.value[options_model.value].x -- + } + } break; default: @@ -408,7 +463,9 @@ export default defineComponent({ defineExpose({ options_model, }); + const now_selsect_projector:any = inject("now_selsect_projector"); return { + now_selsect_projector, details_selsect, resetall, div, diff --git a/src/components/FusionSettings/FusionLocale.vue b/src/components/FusionSettings/FusionLocale.vue index 8516039..7bbb5d4 100644 --- a/src/components/FusionSettings/FusionLocale.vue +++ b/src/components/FusionSettings/FusionLocale.vue @@ -184,6 +184,7 @@ import { onBeforeUnmount, reactive, onMounted, +toRefs, } from "vue"; import { useStore } from "src/store"; import { useI18n } from "vue-i18n"; @@ -207,7 +208,7 @@ export default defineComponent({ { alpha: 0, p: 0, gamma: 0, isshow: false, value: 0 }, { alpha: 0, p: 0, gamma: 0, isshow: false, value: 0 }, ]); - const auto_sync = ref(false) + const auto_sync = ref(true) const auxiliary_line = ref(false) const send_auxiliary_line = (val: boolean) => { set?.SetBlendingOption("blending_grids_assistant_lines", val ? "1" : "0"); diff --git a/src/components/FusionSettings/GridSettings.vue b/src/components/FusionSettings/GridSettings.vue index bc3aa3c..6660458 100644 --- a/src/components/FusionSettings/GridSettings.vue +++ b/src/components/FusionSettings/GridSettings.vue @@ -130,7 +130,7 @@ export default defineComponent({ const index = ref(0); const color = reactive(["#ffffff", "#CCCCCC", "#000", "#000"]); let model = reactive([20, 40, 20]); - let options = ref([10, 20, 30, 40, 50]); + let options = ref([10, 20, 30, 40, 50, 60 ,80]); let line_width_options = ref([2,4,6,8,10, 20, 30, 40, 50]); const submit = () => { switch (index.value) { diff --git a/src/components/FusionSettings/SurfaceCorrection.vue b/src/components/FusionSettings/SurfaceCorrection.vue index 4bbf3c2..595c3ba 100644 --- a/src/components/FusionSettings/SurfaceCorrection.vue +++ b/src/components/FusionSettings/SurfaceCorrection.vue @@ -183,8 +183,8 @@ export default defineComponent({ }; const use_server_config = () => { - value_point_amount.value = 9 - let a = 9 + value_point_amount.value = Number(Object.keys(config.multi_curved_surface)[0]) + let a = value_point_amount.value value.value = [] value_point.value = [] for (let index = 0; index < config.multi_curved_surface[a].length; index++) { @@ -372,7 +372,7 @@ export default defineComponent({ onMounted(() => { Proportion.value.x = allconfig.projector_width / (div.value.offsetWidth - point.value.w) Proportion.value.y = allconfig.projector_height / (div.value.offsetHeight - point.value.h) - start_point(9) + start() use_server_config() if ( @@ -383,6 +383,7 @@ export default defineComponent({ use_set_cache(); } options_value_point_amount.value = Object.keys(config.multi_curved_surface) + start_point(Number(options_value_point_amount.value[0])) window.onresize = () => { return (() => { if (div != null) { @@ -536,9 +537,9 @@ export default defineComponent({ for (let key in tmpconfig.multi_curved_surface) { options_value_point_amount.value.push(key) } - value_point_amount.value = 9 - amount = 9 - now_amount.value = 9 + value_point_amount.value = Number(options_value_point_amount.value[0]) + amount = Number(options_value_point_amount.value[0]) + now_amount.value = Number(options_value_point_amount.value[0]) $store.commit("setfusion_configuration", res?.config); value.value = [] value_point.value = [] @@ -642,7 +643,7 @@ export default defineComponent({ */ const details_selsect=(details:any) => { let spt=details.deltaY/100 - if(spt<0){ + if(spt>0){ if(options_model.value>=value_point.value.length-1){ options_model.value=0 }else{ diff --git a/src/components/FusionSettingsDialog.vue b/src/components/FusionSettingsDialog.vue index 815d705..1920cb5 100644 --- a/src/components/FusionSettingsDialog.vue +++ b/src/components/FusionSettingsDialog.vue @@ -71,7 +71,7 @@ ]" />
- +
@@ -203,6 +203,7 @@ import { computed, onMounted, onBeforeMount, +provide, } from "vue"; import { useStore } from "src/store"; import { useQuasar, copyToClipboard } from "quasar"; @@ -422,6 +423,7 @@ export default defineComponent({ case 'FourPointCalibration': tmp = '4' set?.SetBlendingOption("blending_grids_control_point_count", `4`) + set?.SetBlendingOption("blending_grids_select_point", `4:1`) break; case 'SurfaceCorrection': tmp = '9' @@ -515,12 +517,7 @@ export default defineComponent({ config.value.col = tmp.col; config.value.row = tmp.row; $store.commit("setfusion_configuration", res?.config); - - if(config.value.col==1&&config.value.row==1){ - optionsstr.value = "FourPointCalibration" - }else{ - optionsstr.value = "FusionLocale"; - } + optionsstr.value = "FourPointCalibration"; allconfig = JSON.parse($store.state.fusion_configuration); if(allconfig.resolution){ for (let index = 0; index < allconfig.resolution.length; index++) { @@ -624,7 +621,9 @@ export default defineComponent({ const currently_selected_projector = (value: string) => { set?.SetBlendingOption('blending_grids_select_projector', value); now_selsect_projector.value=value + } + provide("now_selsect_projector",now_selsect_projector); /** * 设置投影机布局 @@ -703,6 +702,7 @@ export default defineComponent({ } } return { + now_selsect_projector, re_match_data, trigger_dialog, confirm,