diff --git a/src/components/FusionSettings/FusionLocale.vue b/src/components/FusionSettings/FusionLocale.vue index 5dced7e..80ddd9c 100644 --- a/src/components/FusionSettings/FusionLocale.vue +++ b/src/components/FusionSettings/FusionLocale.vue @@ -61,6 +61,7 @@ (val > -1 && val < 1920) || $t('Please enter 0-100'), ]" /> +
{{$t('Whether to operate synchronously')}}
@@ -96,7 +97,7 @@
-
+

alpha

@@ -104,7 +105,7 @@
-
+

p

@@ -112,7 +113,7 @@
-
+

gamma

@@ -162,6 +163,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) //正确的 索引编号 let arr = [1, 0, 2, 3]; let serverconfig = JSON.parse($store.state.fusion_configuration); @@ -172,34 +174,34 @@ export default defineComponent({ ); }); const add = (type: string) => { - let tmp:Number; - tmp=0.01; + let tmp: Number; + tmp = 0.01; switch (type) { case "alpha": - array[group.value].alpha=Number((array[group.value].alpha+=tmp).toFixed(2)) + array[group.value].alpha = Number((array[group.value].alpha += tmp).toFixed(2)) break; case "p": - array[group.value].p=Number((array[group.value].p+=tmp).toFixed(2)) + array[group.value].p = Number((array[group.value].p += tmp).toFixed(2)) break; case "gamma": - array[group.value].gamma=Number((array[group.value].gamma+=tmp).toFixed(2)) + array[group.value].gamma = Number((array[group.value].gamma += tmp).toFixed(2)) break; default: break; } } const reduce = (type: string) => { - let tmp:Number; - tmp=-0.01; + let tmp: Number; + tmp = -0.01; switch (type) { case "alpha": - array[group.value].alpha=Number((array[group.value].alpha+=tmp).toFixed(2)) + array[group.value].alpha = Number((array[group.value].alpha += tmp).toFixed(2)) break; case "p": - array[group.value].p=Number((array[group.value].p+=tmp).toFixed(2)) + array[group.value].p = Number((array[group.value].p += tmp).toFixed(2)) break; case "gamma": - array[group.value].gamma=Number((array[group.value].gamma+=tmp).toFixed(2)) + array[group.value].gamma = Number((array[group.value].gamma += tmp).toFixed(2)) break; default: break; @@ -368,6 +370,7 @@ export default defineComponent({ array[0].isshow, Number(array[0].value) ); + save_set_cache(); }, { deep: true } @@ -383,6 +386,7 @@ export default defineComponent({ array[1].isshow, Number(array[1].value) ); + if(auto_sync.value)left_right_auto_add(newVal-oldVal); save_set_cache(); }, { deep: true } @@ -398,6 +402,7 @@ export default defineComponent({ array[2].isshow, Number(array[2].value) ); + if(auto_sync.value)left_right_auto_add(newVal-oldVal); save_set_cache(); }, { deep: true } @@ -445,6 +450,7 @@ export default defineComponent({ array[1].isshow, Number(array[1].value) ); + if(auto_sync.value)left_right_auto_add(0); save_set_cache(); }, { deep: true } @@ -460,6 +466,7 @@ export default defineComponent({ array[2].isshow, Number(array[2].value) ); + if(auto_sync.value)left_right_auto_add(0); save_set_cache(); }, { deep: true } @@ -503,6 +510,48 @@ export default defineComponent({ console.log("ResetBlendingConfig error"); } }; + const left_right_auto_add = (difference: number) => { + + let tmpobjall = JSON.parse($store.state.fusion_configuration) + if ($store.getters.GetTheCurrentlySelectedCamera[1] == 0) { + + let tmp = set_cache.value[1] == null ? tmpobjall.projectors[1].params : JSON.parse(set_cache.value[1]); + let set_cache_tmp: any = [] + if (tmp[1].hasOwnProperty("power")) { + for (let index = 0; index < 4; index++) { + let tmpobj = { alpha: Number(tmp[arr[index]].alpha.toFixed(2)), p: Number(tmp[arr[index]].power.toFixed(2)), gamma: Number(tmp[arr[index]].gamma.toFixed(2)), isshow: tmp[arr[index]].enable, value: Number(tmp[arr[index]].size) } + set_cache_tmp.push(tmpobj) + } + } else { + set_cache_tmp = tmp + } + if (ste_status.value == 0) { + set_cache_tmp[1].value = Number(set_cache_tmp[1].value) + difference + set_cache_tmp[1].isshow = array[2].isshow + set?.SetBlendingOverlap(0, 1, 0, set_cache_tmp[1].isshow, Number(set_cache_tmp[1].value)); + set_cache.value[1] = JSON.stringify(set_cache_tmp); + } + } + if ($store.getters.GetTheCurrentlySelectedCamera[1] == 1) { + + let tmp = set_cache.value[0] == null ? tmpobjall.projectors[0].params : JSON.parse(set_cache.value[0]); + let set_cache_tmp: any = [] + if (tmp[0].hasOwnProperty("power")) { + for (let index = 0; index < 4; index++) { + let tmpobj = { alpha: Number(tmp[arr[index]].alpha.toFixed(2)), p: Number(tmp[arr[index]].power.toFixed(2)), gamma: Number(tmp[arr[index]].gamma.toFixed(2)), isshow: tmp[arr[index]].enable, value: Number(tmp[arr[index]].size) } + set_cache_tmp.push(tmpobj) + } + } else { + set_cache_tmp = tmp + } + if (ste_status.value == 0) { + set_cache_tmp[2].value = Number(set_cache_tmp[2].value) + difference + set_cache_tmp[2].isshow = array[1].isshow + set?.SetBlendingOverlap(0, 0, 2, set_cache_tmp[2].isshow , Number(set_cache_tmp[2].value)); + set_cache.value[0] = JSON.stringify(set_cache_tmp); + } + } + } return { group, array, @@ -513,7 +562,8 @@ export default defineComponent({ resetall, set_cache, reduce, - add + add, + auto_sync }; }, }); diff --git a/src/components/FusionSettings/GridSettings.vue b/src/components/FusionSettings/GridSettings.vue index 3554aa3..539170e 100644 --- a/src/components/FusionSettings/GridSettings.vue +++ b/src/components/FusionSettings/GridSettings.vue @@ -1,86 +1,182 @@ \ No newline at end of file + diff --git a/src/i18n/en-US/index.ts b/src/i18n/en-US/index.ts index 6fa556b..e47a08f 100644 --- a/src/i18n/en-US/index.ts +++ b/src/i18n/en-US/index.ts @@ -428,4 +428,8 @@ export default { "resetall config":"resetall config", "disable blending params":"Dsable blending params", "show blending grids":"show grids", + "line color":"line color", + "center line color":"center line color", + "center circle color":"center circle color", + "Whether to operate synchronously":"Whether to operate synchronously" }; diff --git a/src/i18n/zh-CN/index.ts b/src/i18n/zh-CN/index.ts index 45439e2..e2e839d 100644 --- a/src/i18n/zh-CN/index.ts +++ b/src/i18n/zh-CN/index.ts @@ -697,4 +697,8 @@ export default { "resetall config":"重置所有配置", "disable blending params":"禁用融合参数", "show blending grids":"显示网格", + "line color":"线条颜色", + "center line color":"中心线颜色", + "center circle color":"中心圆颜色", + "Whether to operate synchronously":"是否同步操作" };