1 |
gforget |
1.1 |
function r = plus(p,q) |
2 |
gforget |
1.2 |
%overloaded gcmfaces plus function : |
3 |
|
|
% simply calls double plus function for each face data |
4 |
|
|
% if any of the two arguments is a gcmfaces object |
5 |
gforget |
1.1 |
|
6 |
|
|
if isa(p,'gcmfaces'); r=p; else; r=q; end; |
7 |
|
|
for iFace=1:r.nFaces; |
8 |
|
|
iF=num2str(iFace); |
9 |
|
|
if isa(p,'gcmfaces')&isa(q,'gcmfaces'); |
10 |
|
|
eval(['r.f' iF '=p.f' iF '+q.f' iF ';']); |
11 |
|
|
elseif isa(p,'gcmfaces')&isa(q,'double'); |
12 |
|
|
eval(['r.f' iF '=p.f' iF '+q;']); |
13 |
|
|
elseif isa(p,'double')&isa(q,'gcmfaces'); |
14 |
|
|
eval(['r.f' iF '=p+q.f' iF ';']); |
15 |
|
|
else; |
16 |
|
|
error('gcmfaces plus: types are incompatible') |
17 |
|
|
end; |
18 |
|
|
end; |
19 |
|
|
|
20 |
|
|
|