www.gusucode.com > mbc 工具箱 matlab 源码程序 > mbc/@guidarray/getGroupArray.m

    function array = getGroupArray(obj, groups)
%GETGROUPARRAY returns a GUIDARRAY that defines the grouping
%
%  G_GRP = GETGROUPARRAY(G, GROUPS) returns a guidarray containing the
%  specified group guids.

%  Copyright 2000-2006 The MathWorks, Inc. and Ford Global Technologies, Inc.


% First check that the groups sum to the size of the guidarray
if sum(groups) ~= length(obj.values)
    error(message('mbc:guidarray:InvalidArgument3', sum( groups ), length( obj.values )));
end

% If groups isn't an uint32 then convert
if ~isa(groups, 'uint32')
    groups = uint32(groups);
end

% Create empty guidarray
array = guidarray;

% Call private function to generate the new guids
array.values = getGuidGroups(obj.values, groups);

% What if groups(i) was zero?
zeroGroups = groups == 0;
array.values(zeroGroups) = GetGUID(sum(zeroGroups));

% Hash up output
array = updateHash(array);