rbmatlab  1.13.10
 All Classes Namespaces Files Functions Variables Groups Pages
ILeafNode.m
1 classdef ILeafNode < DataTree.INode
2  % Interface for a leaf node of a data tree
3  %
4  % See DataTree.INode for more information on data trees::
5 
6  methods
7  function children = length(dummy)
8  % function children = length(dummy)
9  % @copybrief DataTree.INode.length()
10  %
11  % Default implementation
12  %
13  % Return values:
14  % children: '=0'
15  children = 0;
16  end
17 
18  function index = get_index(dummy1, dummy2, dummy3, dummy)
19  % function index = get_index(dummy1, dummy2, dummy3, dummy)
20  % @copybrief DataTree.INode.get_index()
21  %
22  % Default implementation
23  %
24  % Return values:
25  % index: '=[]'
26  index = [];
27  end
28 
29 % function index = get_path_index(dummy1, dummy2, dummy3, dummy)
30 % % function index = get_path_index(dummy1, dummy2, dummy3, dummy)
31 % % @copybrief DataTree.INode.get_path_index()
32 % %
33 % % Default implementation
34 % %
35 % % Return values:
36 % % index: '=[]'
37 % index = [];
38 % end
39 
40  function this = set(dummy1, dummy2, value)
41  % function this = set(dummy1, dummy2, value)
42  % @copybrief DataTree.INode.set()
43  %
44  % Default implementation
45  %
46  % Parameters:
47  % value: object of type .DataTree.INode which replaces the leaf node with a
48  % new data tree.
49  %
50  % Return values:
51  % this: reference to newly set data node
52  this = value;
53  end
54 
55  function data = get(this, index)
56  % function data = get(this, index)
57  % @copybrief DataTree.INode.get()
58  %
59  % Default implementation
60  %
61  % Parameters:
62  % index: the index needs to be empty.
63  %
64  % Return Values:
65  % data: returns this data leaf node
66  assert( isempty(index) );
67  data = this;
68  end
69 
70  function node = get_active_leaf(this, model, id)
71  % function node = get_active_leaf(this, model, id)
72  % @copybrief DataTree.INode.get_active_leaf()
73  %
74  % @copydetails DataTree.INode.get_active_leaf()
75  %
76  % Parameters:
77  % model: of type DataTree.IModel
78  %
79  % Return values:
80  % node: of type .DataTree.ILeafNode
81  %
82  % Required fields of model:
83  % descr: ModelDescr object speciyfing the problem discretization.
84 
85  node = this;
86  end
87 
88  function tree = create_tree(this, creator, ids, mu_cube, tslice, basepath)
89  % function tree = create_tree(this, creator, ids, mu_cube, tslice, basepath)
90  % @copybrief DataTree.INode.create_tree()
91  %
92  % @copydetails DataTree.INode.create_tree()
93  %
94  % Default implementation: This method calls DataTree.ICreator.create_leaf_node()
95  % method of the 'creator' argument.
96 
97  if nargin < 4
98  mu_cube = [];
99  end
100  if nargin < 5
101  tslice = [];
102  end
103  if nargin < 6
104  basepath = [];
105  end
106 
107  tree = create_leaf_node(creator, this, basepath, mu_cube, tslice);
108  end
109 
110  end
111 end