rbmatlab  1.16.09
 All Classes Namespaces Files Functions Variables Modules 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
function DataTree.LeafNode active_leaf = get_active_leaf(IModel model, id)
retuns the leaf element for the current IDetailedModel configuration.
Definition: INode.m:456
virtual function DataTree.ILeafNode node = create_leaf_node(DataTree.ILeafNode arg_node, basepath, mu_cube, tslice)
is called on leaf elements of a DataTree and returns a new leaf out of it.
Interface for a node in a DataTree.
Definition: INode.m:18
virtual function DataTree.INode tree = create_tree(DataTree.ICreator creator, ids, mu_cube, tslice, basepath)
Creates a new tree from a subtree specified by ids, parameter and time index regions.
virtual function index = get_index(id, mu, nt)
Obtains the leaf index vector that best fits the child description given by the three arguments...
Definition: leaf.m:17
Struct with control fields for the analytical PDE functions, the discretization and the parametrizati...
Definition: dummyclasses.c:15
virtual function INode data = get(index)
Access to a child of the current node.
virtual function this = set(index, value)
Sets a child at the given path in the tree hierarchy.
virtual function children = length()
Returns the number of children of the node.