www.gusucode.com > mbcview 工具箱matlab源码程序 > mbcview/@cgproject/saveobj.m
function PROJ= saveobj(PROJ) %SAVEOBJ % Copyright 2000-2014 The MathWorks, Inc. and Ford Global Technologies, Inc. if isempty(PROJ.heap) % pointers already stored refs= saveptrs(PROJ); % clear connections PROJ.Connections = []; if ~isempty(refs) % save file if iscell(refs) refs= [refs{:}]; end refs = unique(refs); % remove null pointers from list refs= refs(refs~=0); % storage for heap inside the cgproject object heap.ptrs= refs; heap.info= infoarray(refs); % delete the dynamic copy of the cgproject ind= find(heap.ptrs==address(PROJ)); heap.info(ind)= []; heap.ptrs(ind)= []; % execute saveobj on all heap objects for i=1:length(heap.info) obj= heap.info{i}; if isobject(obj) heap.info{i} = saveobj(obj); end end else heap= []; end PROJ.heap= heap; PROJ.SavedMBCVersion = mbcver; hExt = mbcextensions.Extensions.Cage; hExtModel = mbcextensions.Extensions.Model; % Model Browser tools may affect Cage items PROJ.SavedAddonVersions = [hExt.AddOnNames(:), hExt.AddOnVersions(:); ... hExtModel.AddOnNames(:), hExtModel.AddOnVersions(:)]; end