www.gusucode.com > mbcdata 工具箱 matlab 源码程序 > mbcdata/@cgprojconnections/getUnconnected.m

    function UnconnectedIndices= getUnconnected(A,item) 
%GETUNCONNECTED items which will not belong to project after deletion
%
% UnconnectedIndices= getUnconnected(A,ind)  

%  Copyright 2000-2008 The MathWorks, Inc.


C= false(size(A.Names));
C(item)= true;

C= iUnconnected(A,item,C);
C(item)= false;

UnconnectedIndices= find(C);

function C= iUnconnected(A,item,C)
inp= find(A.Connections(item,:));
% Internal nodes have no pNode pointer
ConsDpts= ~A.IsMajorItem(inp);

for i= find(ConsDpts)
    InputIndex= inp(i);
    if ~C(InputIndex) && all( ismember(find(A.Connections(:,InputIndex)),find(C)) )
        C(InputIndex)= true;
        % only used by this item so recurse to find other internal items
        C = iUnconnected(A,InputIndex,C);
    end
end