LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
savePreemptiveStrategy.m
1function [simDoc, section] = savePreemptiveStrategy(self, simDoc, section, ind)
2% [SIMDOC, SECTION] = SAVEPREEMPTIVESTRATEGY(SIMDOC, SECTION, CURRENTNODE)
3
4% Copyright (c) 2012-2026, Imperial College London
5% All rights reserved.
6visitsNode = simDoc.createElement('parameter');
7visitsNode.setAttribute('array', 'true');
8visitsNode.setAttribute('classPath', 'jmt.engine.NetStrategies.PSStrategy');
9visitsNode.setAttribute('name', 'PSStrategy');
10
11
12sn = self.getStruct;
13numOfClasses = sn.nclasses;
14exportClasses = self.getExportableClasses();
15i = sn.nodeToStation(ind);
16for r=1:numOfClasses
17 % Skip classes that should not be exported to JMT
18 if ~exportClasses(r)
19 continue;
20 end
21
22 refClassNode = simDoc.createElement('refClass');
23 refClassNode.appendChild(simDoc.createTextNode(sn.classnames{r}));
24 visitsNode.appendChild(refClassNode);
25
26 subParameterNode = simDoc.createElement('subParameter');
27 switch sn.sched(i)
28 case SchedStrategy.PS
29 subParameterNode.setAttribute('classPath', 'jmt.engine.NetStrategies.PSStrategies.EPSStrategy');
30 subParameterNode.setAttribute('name', 'EPSStrategy');
31 case SchedStrategy.DPS
32 subParameterNode.setAttribute('classPath', 'jmt.engine.NetStrategies.PSStrategies.DPSStrategy');
33 subParameterNode.setAttribute('name', 'DPSStrategy');
34 case SchedStrategy.GPS
35 subParameterNode.setAttribute('classPath', 'jmt.engine.NetStrategies.PSStrategies.GPSStrategy');
36 subParameterNode.setAttribute('name', 'GPSStrategy');
37 case SchedStrategy.LPS
38 subParameterNode.setAttribute('classPath', 'jmt.engine.NetStrategies.PSStrategies.EPSStrategy');
39 subParameterNode.setAttribute('name', 'EPSStrategy');
40 case SchedStrategy.PSPRIO
41 subParameterNode.setAttribute('classPath', 'jmt.engine.NetStrategies.PSStrategies.EPSStrategyPriority');
42 subParameterNode.setAttribute('name', 'EPSStrategyPriority');
43 case SchedStrategy.DPSPRIO
44 subParameterNode.setAttribute('classPath', 'jmt.engine.NetStrategies.PSStrategies.DPSStrategyPriority');
45 subParameterNode.setAttribute('name', 'DPSStrategyPriority');
46 case SchedStrategy.GPSPRIO
47 subParameterNode.setAttribute('classPath', 'jmt.engine.NetStrategies.PSStrategies.GPSStrategyPriority');
48 subParameterNode.setAttribute('name', 'GPSStrategyPriority');
49 end
50
51 visitsNode.appendChild(subParameterNode);
52 section.appendChild(visitsNode);
53end
54end
55