mutations.ts 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. import { MutationTree } from 'vuex';
  2. import {
  3. simulationSetupStateInterface as sssi,
  4. simulationSetup,
  5. layer,
  6. nearFieldPlane,
  7. nearFieldSetup,
  8. } from './state';
  9. import { cloneDeep } from 'lodash';
  10. import { markRaw } from 'vue';
  11. const mutation: MutationTree<sssi> = {
  12. setNmies(
  13. state: sssi,
  14. newVal: {
  15. spectrum: import('src/nmiejs').nmie_class;
  16. nearField: import('src/nmiejs').nmie_class;
  17. farField: import('src/nmiejs').nmie_class;
  18. }
  19. ) {
  20. state.nmies.spectrum.instance = markRaw(newVal.spectrum);
  21. state.nmies.nearField.instance = markRaw(newVal.nearField);
  22. state.nmies.farField.instance = markRaw(newVal.farField);
  23. },
  24. markNmieAsStarted(state: sssi) {
  25. state.nmies.spectrum.isNmieRunning = true;
  26. },
  27. markNmieAsFinished(state: sssi) {
  28. state.nmies.spectrum.isNmieRunning = false;
  29. },
  30. setNmieTotalRunTime(state: sssi, val: number) {
  31. state.nmies.spectrum.nmieTotalRunTime = val;
  32. },
  33. markNmieNearFieldAsStarted(state: sssi) {
  34. state.nmies.nearField.isNmieRunning = true;
  35. },
  36. markNmieNearFieldAsFinished(state: sssi) {
  37. state.nmies.nearField.isNmieRunning = false;
  38. },
  39. setNmieNearFieldTotalRunTime(state: sssi, val: number) {
  40. state.nmies.nearField.nmieTotalRunTime = val;
  41. },
  42. markNmieFarFieldAsStarted(state: sssi) {
  43. state.nmies.farField.isNmieRunning = true;
  44. },
  45. markNmieFarFieldAsFinished(state: sssi) {
  46. state.nmies.farField.isNmieRunning = false;
  47. },
  48. setNmieFarFieldTotalRunTime(state: sssi, val: number) {
  49. state.nmies.farField.nmieTotalRunTime = val;
  50. },
  51. setCurrentState(state: sssi, newVal: simulationSetup) {
  52. state.current = cloneDeep(newVal);
  53. },
  54. copySetupFromGuiToCurrent(state: sssi) {
  55. state.current = cloneDeep(state.gui);
  56. },
  57. // Mutations for simulation setup as represented\set in GUI
  58. setGuiState(state: sssi, newVal: simulationSetup) {
  59. state.gui = cloneDeep(newVal);
  60. },
  61. setLayers(state: sssi, newVal: layer[]) {
  62. state.gui.layers = cloneDeep(newVal);
  63. },
  64. setHostIndex(state: sssi, val: number) {
  65. state.gui.hostIndex = val;
  66. },
  67. setFromWL(state: sssi, val: number) {
  68. state.gui.fromWL = val;
  69. },
  70. setToWL(state: sssi, val: number) {
  71. state.gui.toWL = val;
  72. },
  73. setPointsWL(state: sssi, val: number) {
  74. state.gui.pointsWL = val;
  75. },
  76. setPlotLabel(state: sssi, val: string) {
  77. state.gui.plotLabel = val;
  78. },
  79. setNumberOfModesToPlot(state: sssi, val: number) {
  80. state.gui.numberOfModesToPlot = val;
  81. },
  82. setNearFieldSetup(state: sssi, val: nearFieldSetup) {
  83. state.gui.nearFieldSetup = cloneDeep(val);
  84. },
  85. setNearFieldWL(state: sssi, val: number) {
  86. state.gui.nearFieldSetup.atWL = val;
  87. },
  88. setNearFieldRelativePlotSize(state: sssi, val: number) {
  89. state.gui.nearFieldSetup.relativePlotSize = val;
  90. },
  91. setNearFieldAtRelativeX0(state: sssi, val: number) {
  92. if (Math.abs(val) < 1e-15) val = 0;
  93. state.gui.nearFieldSetup.atRelativeX0 = val;
  94. },
  95. setNearFieldAtRelativeY0(state: sssi, val: number) {
  96. if (Math.abs(val) < 1e-15) val = 0;
  97. state.gui.nearFieldSetup.atRelativeY0 = val;
  98. },
  99. setNearFieldAtRelativeZ0(state: sssi, val: number) {
  100. if (Math.abs(val) < 1e-15) val = 0;
  101. state.gui.nearFieldSetup.atRelativeZ0 = val;
  102. },
  103. setNearFieldPlotXSideResolution(state: sssi, val: number) {
  104. state.gui.nearFieldSetup.plotXSideResolution = val;
  105. },
  106. setNearFieldPlotYSideResolution(state: sssi, val: number) {
  107. state.gui.nearFieldSetup.plotYSideResolution = val;
  108. },
  109. setNearFieldCrossSection(state: sssi, val: nearFieldPlane) {
  110. state.gui.nearFieldSetup.crossSection = val;
  111. },
  112. // setNearFieldMaxComputeTime (state: sssi, val: number) {state.gui.nearFieldSetup.maxComputeTime = val},
  113. setFarFieldWL(state: sssi, val: number) {
  114. state.gui.farFieldWL = val;
  115. },
  116. };
  117. export default mutation;