% ISSUBCLASSOF determines if the one class is a subclass of another%% CALL:% res = isSubclassOf('class1', 'class2')% res = isSubclassOf(metaObject, 'class2');% res = isSubclassOf(metaObject1, metaObject2);%% $Id: isSubclassOf.m,v 1.3 2011/04/29 15:02:17 ingo Exp $%function res = isSubclassOf(varargin) if nargin ~= 2 help(mfilename); error('Incorrect inputs'); end mo1 = getMetaObject(varargin{1}); mo2 = getMetaObject(varargin{2}); if isempty(mo1) || isempty(mo2) error('### One of the inputs is not a meta class object/name'); end res = lt(mo1, mo2);endfunction obj = getMetaObject(in) if ischar(in) obj = meta.class.fromName(in); elseif isa(in, 'meta.class') obj = in; else error('Unknown input format for object of class %s', class(in)); endendfunction res = checkIsSubclass(mo1, mo2) res = false; % is the super class a user object subclass? if strcmp(mo1.Name, mo2.Name) res = true; else for kk=1:numel(mo1.SuperclassList) mo = mo1.SuperclassList(kk); res = checkIsSubclass(mo, mo2); if res return; else % keep searching... end end endend