-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtriplotfull.m
More file actions
61 lines (57 loc) · 1.42 KB
/
triplotfull.m
File metadata and controls
61 lines (57 loc) · 1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
function hh = triplotfull(tri,varargin)
narginchk(1,inf);
start = 1;
if isa(tri, 'TriRep')
if tri.size(1) == 0
error(message('MATLAB:triplot:EmptyTri'));
elseif tri.size(2) ~= 3
error(message('MATLAB:triplot:NonTriangles'));
end
x = tri.X(:,1);
y = tri.X(:,2);
edges = tri.edges();
if (nargin == 1) || (mod(nargin-1,2) == 0)
c = 'blue';
else
c = varargin{1};
start = 2;
end
elseif isa(tri, 'triangulation')
if tri.size(1) == 0
error(message('MATLAB:triplot:EmptyTri'));
elseif tri.size(2) ~= 3
error(message('MATLAB:triplot:NonTriangles'));
end
x = tri.Points(:,1);
y = tri.Points(:,2);
edges = tri.edges();
if (nargin == 1) || (mod(nargin-1,2) == 0)
c = 'blue';
else
c = varargin{1};
start = 2;
end
else
x = varargin{1};
y = varargin{2};
warnState = warning('off','MATLAB:triangulation:PtsNotInTriWarnId');
tr = triangulation(tri,x(:),y(:));
warning(warnState);
edges = tr.edges();
if (nargin == 3) || (mod(nargin-3,2) == 0)
c = 'blue';
start = 3;
else
c = varargin{3};
start = 4;
end
end
x = x(edges)';
y = y(edges)';
nedges = size(x,2);
x = [x; NaN(1,nedges)];
y = [y; NaN(1,nedges)];
x = x(:);
y = y(:);
h = fill(x,y,'r',varargin{start:end});
if nargout == 1, hh = h; end