annotate +multiblock/Line.m @ 542:febd750965c4 feature/grids

Add classes for easy plotting of functions on a multi block grid
author Jonatan Werpers <jonatan@werpers.com>
date Mon, 14 Aug 2017 16:46:58 +0200
parents
children 19951684588e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
542
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 classdef Line < handle
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 properties
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3 grid
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4 lines
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6 YData
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7 end
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9 methods
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10 function obj = Line(g, gf)
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11 obj.grid = g;
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13 X = obj.grid.splitFunc(obj.grid.points());
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14 Y = obj.grid.splitFunc(gf);
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16 holdState = ishold();
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17 hold on
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
19 lines = {1, obj.grid.nBlocks};
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
20 for i = 1:obj.grid.nBlocks
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
21 lines{i} = plot(X{i}, Y{i});
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
22 end
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
23
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
24 if holdState == false
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
25 hold off
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
26 end
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
27
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
28 obj.lines = [lines{:}];
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
29
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
30 obj.YData = gf;
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
31 end
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
32
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
33 function set(obj, propertyName, propertyValue)
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
34 set(obj.lines, propertyName, propertyValue);
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
35 end
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
36
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
37 function obj = set.YData(obj, gf)
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
38 obj.YData = gf;
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
39
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
40 Y = obj.grid.funcToPlotMatrices(gf);
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
41 for i = 1:obj.grid.nBlocks
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
42 obj.lines(i).YData = Y{i};
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
43 end
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
44 end
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
45 end
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
46 end