Mercurial > repos > public > sbplib
annotate +multiblock/Surface.m @ 577:e45c9b56d50d feature/grids
Add an Empty grid class
The need turned up for the flexural code when we may or may not have a grid for the open water and want to plot that solution.
In case there is no open water we need an empty grid to plot the empty gridfunction against to avoid errors.
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Thu, 07 Sep 2017 09:16:12 +0200 |
parents | 24b2487b01c2 |
children |
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 |
548
24b2487b01c2
Fix bugs in cell array initialization
Jonatan Werpers <jonatan@werpers.com>
parents:
542
diff
changeset
|
25 surfs = cell(1, obj.grid.nBlocks); |
542
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 |