LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
saveClassSwitchStrategy.m
1function [simDoc, section] = saveClassSwitchStrategy(self, simDoc, section, ind)
2% [SIMDOC, SECTION] = SAVECLASSSWITCHSTRATEGY(SIMDOC, SECTION, NODEIDX)
3
4% Copyright (c) 2012-2026, Imperial College London
5% All rights reserved.
6
7paramNode = simDoc.createElement('parameter');
8paramNode.setAttribute('array', 'true');
9paramNode.setAttribute('classPath', 'java.lang.Object');
10paramNode.setAttribute('name', 'matrix');
11
12sn = self.getStruct;
13K = sn.nclasses;
14exportClasses = self.getExportableClasses();
15i = ind;
16jset = find(sn.connmatrix(ind,:));
17for r=1:K
18 % Skip classes that should not be exported to JMT
19 if ~exportClasses(r)
20 continue;
21 end
22
23 refClassNode = simDoc.createElement('refClass');
24 refClassNode.appendChild(simDoc.createTextNode(sn.classnames{r}));
25 paramNode.appendChild(refClassNode);
26
27
28 subParNodeRow = simDoc.createElement('subParameter');
29 subParNodeRow.setAttribute('array', 'true');
30 subParNodeRow.setAttribute('classPath', 'java.lang.Float');
31 subParNodeRow.setAttribute('name', 'row');
32 for s=1:K
33 % Skip classes that should not be exported to JMT
34 if ~exportClasses(s)
35 continue;
36 end
37
38 refClassNode = simDoc.createElement('refClass');
39 refClassNode.appendChild(simDoc.createTextNode(sn.classnames{s}));
40 subParNodeRow.appendChild(refClassNode);
41
42 subParNodeCell = simDoc.createElement('subParameter');
43 subParNodeCell.setAttribute('classPath', 'java.lang.Float');
44 subParNodeCell.setAttribute('name', 'cell');
45 valNode = simDoc.createElement('value');
46 valNode.appendChild(simDoc.createTextNode(sprintf('%12.12f', sum(sn.rtnodes((i-1)*K+r, (jset-1)*K+s)))));
47 subParNodeCell.appendChild(valNode);
48 subParNodeRow.appendChild(subParNodeCell);
49
50 end
51 paramNode.appendChild(subParNodeRow);
52
53end
54section.appendChild(paramNode);
55
56end