mirror of
https://github.com/PhotonVision/photonvision
synced 2026-07-05 03:21:40 +00:00
71 lines
1.9 KiB
Vue
71 lines
1.9 KiB
Vue
|
|
<script setup lang="ts">
|
||
|
|
import { computed } from "vue";
|
||
|
|
import CamerasCard from "@/components/dashboard/CamerasCard.vue";
|
||
|
|
import CameraAndPipelineSelectCard from "@/components/dashboard/CameraAndPipelineSelectCard.vue";
|
||
|
|
import StreamConfigCard from "@/components/dashboard/StreamConfigCard.vue";
|
||
|
|
import PipelineConfigCard from "@/components/dashboard/ConfigOptions.vue";
|
||
|
|
import { useCameraSettingsStore } from "@/stores/settings/CameraSettingsStore";
|
||
|
|
import { useStateStore } from "@/stores/StateStore";
|
||
|
|
|
||
|
|
const cameraViewType = computed<number[]>({
|
||
|
|
get: (): number[] => {
|
||
|
|
// Only show the input stream in Color Picking Mode
|
||
|
|
if(useStateStore().colorPickingMode) return [0];
|
||
|
|
|
||
|
|
// Only show the output stream in Driver Mode or Calibration Mode
|
||
|
|
if(useCameraSettingsStore().isDriverMode || useCameraSettingsStore().isCalibrationMode) return [1];
|
||
|
|
|
||
|
|
const ret: number[] = [];
|
||
|
|
if(useCameraSettingsStore().currentPipelineSettings.inputShouldShow) {
|
||
|
|
ret.push(0);
|
||
|
|
}
|
||
|
|
if(useCameraSettingsStore().currentPipelineSettings.outputShouldShow) {
|
||
|
|
ret.push(1);
|
||
|
|
}
|
||
|
|
|
||
|
|
if(ret.length === 0) return [0];
|
||
|
|
|
||
|
|
return ret;
|
||
|
|
},
|
||
|
|
set: v => {
|
||
|
|
useCameraSettingsStore().changeCurrentPipelineSetting({
|
||
|
|
inputShouldShow: v.includes(0),
|
||
|
|
outputShouldShow: v.includes(1)
|
||
|
|
}, true);
|
||
|
|
}
|
||
|
|
});
|
||
|
|
</script>
|
||
|
|
|
||
|
|
<template>
|
||
|
|
<v-container
|
||
|
|
class="pa-3"
|
||
|
|
fluid
|
||
|
|
>
|
||
|
|
<v-row
|
||
|
|
no-gutters
|
||
|
|
align="center"
|
||
|
|
justify="center"
|
||
|
|
>
|
||
|
|
<v-col
|
||
|
|
cols="12"
|
||
|
|
class="pb-3 pr-lg-3"
|
||
|
|
lg="8"
|
||
|
|
align-self="stretch"
|
||
|
|
>
|
||
|
|
<CamerasCard v-model="cameraViewType" />
|
||
|
|
</v-col>
|
||
|
|
<v-col
|
||
|
|
cols="12"
|
||
|
|
class="pb-3"
|
||
|
|
lg="4"
|
||
|
|
style="display: flex; flex-direction: column"
|
||
|
|
align-self="stretch"
|
||
|
|
>
|
||
|
|
<CameraAndPipelineSelectCard />
|
||
|
|
<StreamConfigCard v-model="cameraViewType" />
|
||
|
|
</v-col>
|
||
|
|
</v-row>
|
||
|
|
<PipelineConfigCard />
|
||
|
|
</v-container>
|
||
|
|
</template>
|