Mercurial > repos > public > sbplib
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 |