0001 function xyz = set(xyz, varargin)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028 VERSION = '$Id: set.m,v 1.1 2007/12/24 19:47:06 hewitson Exp $';
0029
0030
0031 if nargin == 2
0032 if ischar(varargin{2})
0033 in = char(varargin{2});
0034 if strcmp(in, 'Params')
0035 xyz = plist;
0036 return
0037 elseif strcmp(in, 'Version')
0038 xyz = VERSION;
0039 return
0040 end
0041 end
0042 end
0043
0044 if (nargout ~= 0)
0045
0046 propArgin = varargin;
0047
0048 while length(propArgin) >= 2
0049 prop = propArgin{1};
0050 val = propArgin{2};
0051 propArgin = propArgin(3:end);
0052 switch prop
0053 case 'name'
0054 xyz.name = val;
0055 case 'created'
0056 xyz.created = val;
0057 case 'version'
0058 xyz.version = val;
0059 case 'z'
0060 xyz.z = val;
0061 case 'y'
0062 xyz.y = val;
0063 case 'x'
0064 xyz.x = val;
0065 case 'xunits'
0066 xyz.xunits = val;
0067 case 'yunits'
0068 xyz.yunits = val;
0069 case 'zunits'
0070 xyz.zunits = val;
0071 otherwise
0072 error([val, ' is not a property of xyzdata class']);
0073 end
0074 end
0075
0076 else
0077 if ischar(varargin{2})
0078 error('### please use: %s = set(%s, ''%s'', ''%s'');', ...
0079 inputname(1), ...
0080 inputname(1), ...
0081 varargin{1}, ...
0082 varargin{2});
0083 elseif isnumeric(varargin{2})
0084 error('### please use: %s = set(%s, ''%s'', %d);', ...
0085 inputname(1), ...
0086 inputname(1), ...
0087 varargin{1}, ...
0088 varargin{2});
0089 else
0090 error('### please use: %s = set(%s, ''key'', ''value'');', ...
0091 inputname(1), ...
0092 inputname(1));
0093 end
0094 end