diff +multiblock/Line.m @ 832:5573913a0949 feature/burgers1d

Merged with default, and updated +scheme/Burgers1D accordingly
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Tue, 11 Sep 2018 15:58:35 +0200
parents 24b2487b01c2
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/+multiblock/Line.m	Tue Sep 11 15:58:35 2018 +0200
@@ -0,0 +1,47 @@
+classdef Line < handle
+    properties
+        grid
+        lines
+
+        YData
+    end
+
+    methods
+        function obj = Line(g, gf)
+            assertType(g, 'multiblock.Grid')
+            obj.grid = g;
+
+            X = obj.grid.splitFunc(obj.grid.points());
+            Y = obj.grid.splitFunc(gf);
+
+            holdState = ishold();
+            hold on
+
+            lines = cell(1, obj.grid.nBlocks);
+            for i = 1:obj.grid.nBlocks
+                lines{i} = plot(X{i}, Y{i});
+            end
+
+            if holdState == false
+                hold off
+            end
+
+            obj.lines = [lines{:}];
+
+            obj.YData = gf;
+        end
+
+        function set(obj, propertyName, propertyValue)
+            set(obj.lines, propertyName, propertyValue);
+        end
+
+        function obj = set.YData(obj, gf)
+            obj.YData = gf;
+
+            Y = obj.grid.funcToPlotMatrices(gf);
+            for i = 1:obj.grid.nBlocks
+                obj.lines(i).YData = Y{i};
+            end
+        end
+    end
+end