|
@@ -59,14 +59,27 @@ export default defineComponent({
|
|
return $store.state.guiRuntime.sourceUnits
|
|
return $store.state.guiRuntime.sourceUnits
|
|
})
|
|
})
|
|
|
|
|
|
|
|
+ function isAlmostSame(a:number,b:number) {
|
|
|
|
+ if ( Math.abs((a-b)/(a+b)) < 1e-15) return true
|
|
|
|
+ return false
|
|
|
|
+ }
|
|
|
|
+
|
|
const fromWavelengthInSourceUnits = computed({
|
|
const fromWavelengthInSourceUnits = computed({
|
|
get: () => toUnits($store.state.simulationSetup.gui.fromWL, sourceUnits.value),
|
|
get: () => toUnits($store.state.simulationSetup.gui.fromWL, sourceUnits.value),
|
|
- set: val => $store.commit('simulationSetup/setFromWL', fromUnits(sourceUnits.value, val))
|
|
|
|
|
|
+ set: val => {
|
|
|
|
+ if (!isAlmostSame($store.state.simulationSetup.gui.fromWL, fromUnits(sourceUnits.value, val))) {
|
|
|
|
+ $store.commit('simulationSetup/setFromWL', fromUnits(sourceUnits.value, val))
|
|
|
|
+ }
|
|
|
|
+ }
|
|
})
|
|
})
|
|
|
|
|
|
const toWavelengthInSourceUnits = computed({
|
|
const toWavelengthInSourceUnits = computed({
|
|
get: () => toUnits($store.state.simulationSetup.gui.toWL, sourceUnits.value),
|
|
get: () => toUnits($store.state.simulationSetup.gui.toWL, sourceUnits.value),
|
|
- set: val => $store.commit('simulationSetup/setToWL', fromUnits(sourceUnits.value, val))
|
|
|
|
|
|
+ set: val => {
|
|
|
|
+ if (!isAlmostSame($store.state.simulationSetup.gui.toWL, fromUnits(sourceUnits.value, val))) {
|
|
|
|
+ $store.commit('simulationSetup/setToWL', fromUnits(sourceUnits.value, val))
|
|
|
|
+ }
|
|
|
|
+ }
|
|
})
|
|
})
|
|
|
|
|
|
const pointsSource = computed({
|
|
const pointsSource = computed({
|