www.gusucode.com > mbcdesign 工具箱 matlab 源码程序 > mbcdesign/@cset_userdef/designproperties.m

    function p = designproperties(c,p,m)
%DESIGNPROPERTIES properties for command-line
%
% p = designproperties(c,p)

%  Copyright 2007-2010 The MathWorks, Inc.

CLSID = mfilename('class');
[p,OK] = PersistentStore(p,CLSID);
if ~OK
    p = iMakeProps(c,p,m);
    PersistentStore(p,CLSID);
end


function p = iMakeProps(c,p,m)
p = addprop(p,'NumberOfPoints',...
    @iGetNumberOfPoints,...
    '',...
    '','',...
    'User-defined points');

p = addprop(p,'Points',...
    @iGetPoints,...
    @iSetPoints,...
    'matrix','',...
    'User-defined points');

function v = iGetNumberOfPoints(c,m)

v = size(get(c,'Data'),1);

function v = iGetPoints(c,m)

v = get(c,'Data');
v = invcode(m,v);

function c = iSetPoints(c,v,m)

if ~isnumeric(v) || size(v,2)~=nfactors(c)
   error(message('mbc:doe:InvalidSize', nfactors( c )))
end
v = code(m,v);
c = set(c,'Data',v);