comparison +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
comparison
equal deleted inserted replaced
541:3377bedf371f 542:febd750965c4
1 classdef Line < handle
2 properties
3 grid
4 lines
5
6 YData
7 end
8
9 methods
10 function obj = Line(g, gf)
11 obj.grid = g;
12
13 X = obj.grid.splitFunc(obj.grid.points());
14 Y = obj.grid.splitFunc(gf);
15
16 holdState = ishold();
17 hold on
18
19 lines = {1, obj.grid.nBlocks};
20 for i = 1:obj.grid.nBlocks
21 lines{i} = plot(X{i}, Y{i});
22 end
23
24 if holdState == false
25 hold off
26 end
27
28 obj.lines = [lines{:}];
29
30 obj.YData = gf;
31 end
32
33 function set(obj, propertyName, propertyValue)
34 set(obj.lines, propertyName, propertyValue);
35 end
36
37 function obj = set.YData(obj, gf)
38 obj.YData = gf;
39
40 Y = obj.grid.funcToPlotMatrices(gf);
41 for i = 1:obj.grid.nBlocks
42 obj.lines(i).YData = Y{i};
43 end
44 end
45 end
46 end