1classdef Chain < NetworkElement
4 % Copyright (c) 2012-2026, Imperial College London
11 index; % index within model
18 function self = Chain(name)
21 self@NetworkElement(name);
24 function self = setName(self, name)
25 % SELF = SETNAME(NAME)
30 function self = setVisits(self,
class, v)
31 % SELF = SETVISITS(CLASS, V)
33 idx = self.getClass(
class.name);
37 function self = addClass(self,
class, v, index)
38 % SELF = ADDCLASS(CLASS, V, INDEX)
40 if nargin<3%~exist(
'v',
'var')
43 idx = self.getClass(class.name);
46 self.classnames{idx} =
class.name;
48 self.index{idx} = index;
49 self.completes{idx} =
class.completes;
51 self.classes{end+1} =
class;
52 self.classnames{end+1} =
class.name;
53 self.visits{end+1} = v;
54 self.index{end+1} = index;
55 self.completes{end+1} =
class.completes;
59 function
bool = hasClass(self, className)
60 % BOOL = HASCLASS(CLASSNAME)
63 if getClass(self, className) == -1
68 function idx = getClass(self, className)
69 % IDX = GETCLASS(CLASSNAME)
72 if ~isempty(self.classes)
73 idx = find(cellfun(@(c) strcmpi(c.name,className), self.
classes));