LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
savePlaceCapacities.m
1function [simDoc, section] = savePlaceCapacities(self, simDoc, section, ind)
2% [SIMDOC, SECTION] = SAVEPLACECAPACITY(SIMDOC, SECTION, NODEIDX)
3
4% Copyright (c) 2012-2026, Imperial College London
5% All rights reserved.
6
7
8placeCapacityNode = simDoc.createElement('parameter');
9placeCapacityNode.setAttribute('array', 'true');
10placeCapacityNode.setAttribute('classPath', 'java.lang.Integer');
11placeCapacityNode.setAttribute('name', 'capacities');
12sn = self.getStruct;
13
14% Get exportable classes (handles cache classes and class-switching)
15exportClasses = self.getExportableClasses();
16
17numOfClasses = sn.nclasses;
18
19i = sn.nodeToStation(ind);
20for r=1:numOfClasses
21 % Skip classes that should not be exported to JMT
22 if ~exportClasses(r)
23 continue;
24 end
25
26 refClassNode = simDoc.createElement('refClass');
27 refClassNode.appendChild(simDoc.createTextNode(sn.classnames{r}));
28 placeCapacityNode.appendChild(refClassNode);
29
30 subParameterNode = simDoc.createElement('subParameter');
31 subParameterNode.setAttribute('classPath', 'java.lang.Integer');
32 subParameterNode.setAttribute('name', 'capacity');
33
34 valueNode2 = simDoc.createElement('value');
35 if isinf(sn.classcap(i,r))
36 valueNode2.appendChild(simDoc.createTextNode(int2str(-1)));
37 else
38 valueNode2.appendChild(simDoc.createTextNode(int2str(sn.classcap(i,r))));
39 end
40
41 subParameterNode.appendChild(valueNode2);
42 placeCapacityNode.appendChild(subParameterNode);
43end
44section.appendChild(placeCapacityNode);
45end