www.gusucode.com > mbc 工具箱 matlab 源码程序 > mbc/+mbcextensions/CageExtensions.m
classdef CageExtensions < mbcextensions.BaseExtensions %CageExtensions Information about extensions installed in MBC % e = mbcextensions.CageExtensions() % Copyright 2014 The MathWorks, Inc. and Ford Global Technologies, Inc. properties BrowserTools = struct('Name',{},'Level',{},'Separator',{},'Callback',{},'EnableFcn',{}); BrowserTypes = {}; ModelImportFunctions = struct('funstr',{},'fileType',{},'filterSpec',{},'nextfcn',{}); cgFeatureLibraries = cell(0,3); BrowserStartupTasks = {}; OptimizationTableFillingFunctions = {}; end methods function obj = CageExtensions() obj@mbcextensions.BaseExtensions('cageextras.mbc'); end function obj=processinfo(obj,Svect) % loop over input structure and extract info into the form needed % Essentially this means compressing information in the n-element structure array % into a single structure element whose fields contain n values for n=1:length(Svect) opts=Svect(n); if ~isempty(opts.BrowserTools) obj.BrowserTools=[obj.BrowserTools opts.BrowserTools]; end % set values for new properties if ~isempty(opts.BrowserTypes) obj.BrowserTypes=[obj.BrowserTypes opts.BrowserTypes]; end if ~isempty(opts.ModelImportFunctions) if ~isfield(opts.ModelImportFunctions,'nextfcn') opts.ModelImportFunctions(1).nextfcn = []; end obj.ModelImportFunctions=[obj.ModelImportFunctions opts.ModelImportFunctions]; end if ~isempty(opts.cgFeatureLibraries) % Vertically concatenate cells obj.cgFeatureLibraries=[obj.cgFeatureLibraries; opts.cgFeatureLibraries]; end if ~isempty(opts.BrowserStartupTasks) % Horizontally concatenate cells obj.BrowserStartupTasks=[obj.BrowserStartupTasks, opts.BrowserStartupTasks]; end if ~isempty(opts.OptimizationTableFillingFunctions) % Horizontally concatenate cells obj.OptimizationTableFillingFunctions=[obj.OptimizationTableFillingFunctions, opts.OptimizationTableFillingFunctions]; end end end end end