get.m

来自「有关matlab的电子书籍有一定的帮助希望有用」· M 代码 · 共 61 行

M
61
字号
function ans = get(obj,prop)
%GET Method for fdline object

%   Author: T. Krauss
%   Copyright (c) 1988-98 by The MathWorks, Inc.
%   $Revision: 1.3 $

obj = struct(obj);

if ~iscell(prop)
    prop = {prop};
end

prop = prop(:);
obj = obj(:);

ans = cell(length(obj),length(prop));
for i = 1:length(obj)
    for j = 1:length(prop)
        ans{i,j} = getprop(obj(i),prop{j});
    end
end

if all(size(ans)==1)
    ans = ans{:};
end


function val = getprop(obj,prop)
% get the value of a single property of a single object struct

switch prop

case {'xneedrender','yneedrender','delayrender',...
          'vertexdragmode','vertexdragcallback','vertexenddragcallback',...
          'segmentdragmode','segmentdragcallback','segmentenddragcallback', ...
          'segmentpointer','vertexpointer',...
          'buttondownfcn','buttonupfcn',...
          'userdata','help','affectlimits'}
    objud = get(obj.h,'userdata');
    val = eval(['objud.' prop]); %getfield(objud,prop);
case 'xdata'
    objud = get(obj.h,'userdata');
    if objud.xneedrender
        val = objud.xdata;
    else
        val = get(obj.h,'xdata');
    end
case 'ydata'
    objud = get(obj.h,'userdata');
    if objud.yneedrender
        val = objud.ydata;
    else
        val = get(obj.h,'ydata');
    end
case 'h'
    val = obj.h;
otherwise
    val = get(obj.h,prop);
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?