annotate +multiblock/Surface.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 24b2487b01c2
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 Surface < 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 surfs
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 ZData
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7 CData
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 end
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11 methods
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12 function obj = Surface(g, gf)
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13 obj.grid = g;
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15 coords = obj.grid.points();
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16 X = obj.grid.funcToPlotMatrices(coords(:,1));
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17 Y = obj.grid.funcToPlotMatrices(coords(:,2));
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 V = 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
20
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
21
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
22 holdState = ishold();
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
23 hold on
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
24
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
25 surfs = {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
26 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
27 surfs{i} = surf(X{i}, Y{i}, V{i});
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
28 end
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 if holdState == false
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
31 hold off
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
32 end
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
33
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
34 obj.surfs = [surfs{:}];
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
35
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
36 obj.ZData = gf;
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
37 obj.CData = gf;
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
38 end
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 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
41 set(obj.surfs, propertyName, propertyValue);
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
42 end
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
43
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
44 function obj = set.ZData(obj, gf)
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
45 obj.ZData = gf;
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
46
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
47 V = 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
48 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
49 obj.surfs(i).ZData = V{i};
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
50 end
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
51 end
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
52
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
53 function obj = set.CData(obj, gf)
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
54 obj.CData = gf;
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
55
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
56 V = 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
57 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
58 obj.surfs(i).CData = V{i};
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
59 end
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
60 end
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
61 end
febd750965c4 Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
62 end