Raw File
set.m
function w = set(w,varargin)
% SET Set asset properties and return the updated object

% This function is designed to work well with inherited classes
% with minimal or no modification.  It must be copied to the
% appropriate class directory.

property_argin = varargin;
while length(property_argin) >= 2,
  prop = property_argin{1};
  val = property_argin{2};
  property_argin = property_argin(3:end);
  
  objparmnames = fieldnames(w.parms);
  % check to see if it's in w.parms, which means it's a property
  % of this class
  if any(strcmp(prop, objparmnames))
    w.parms.(prop) = val;
  else % or check to see if it's part of the parent's parms
    try
      w.(w.parent) = set(w.(w.parent), prop, val);
    catch
      error('Invalid %s property', class(w))
    end
  end
end
back to top