www.gusucode.com > mbc 工具箱 matlab 源码程序 > mbc/@mbcmodel/@data/ImportFromMBCDataStructure.m

    function D = ImportFromMBCDataStructure(D, mbcStruct)
%IMPORTFROMMBCDATASTRUCTURE Import data from an MBC data structure.
%
%   D = IMPORTFROMMBCDATASTRUCTURE(D, MBC_DATA_STRUCTURE)
%  
%   See also mbcmodel.data.ExportToMBCDataStructure,
%   mbcmodel.data.ImportFromFile, mbcmodel/CreateData,
%   mbcmodel.project.CreateData, mbcmodel.data.Append.

%   Copyright 2004-2010 The MathWorks, Inc.

error(mbcnargchk(2, 2, nargin, 'mbc:mbcmodel:data'));

% Make sure that the data object supports this function
D.pCheckIsBeingEdited;
% Create a dummy sweepset for static calls
dummySS = sweepset;
% Make sure that mbcStruct is actually an mbcDataStructure
if ~isSweepsetStruct(dummySS, mbcStruct)
    error(message('mbc:mbcmodel:data:InvalidArgument6'));
end
try
    % Get the internal object
    ssf = D.Object;
    % Convert the output to a sweepset
    ss = struct2sweepset(dummySS, mbcStruct);
    % And set the filename of where the data came from 
    ss = set(ss, 'FileName', 'MBC Data Structure');
    % Set the sweepset for the sweepsetfilter (This will trigger an UpdateAll in the
    % sweepsetfilter and hence all relevant events will be triggered)
    ssf = setSweepset(ssf, ss);
    % Do we need to set any default test groupings?
    if isempty(get(ssf, 'definetests'))
        ssf = applyDefaultTestDefinition(ssf);
    end
    % Finally update the internal reference
    D.Object = ssf;
catch E
    error(message('mbc:mbcmodel:data:UnknownError8', E.message));
end