www.gusucode.com > mbcview 工具箱matlab源码程序 > mbcview/@cgsurfview/@inputlist/pCheckVariables.m
function pCheckVariables(obj) %PCHECKVARIABLES Check that the variable list is a valid subset of the inputs % % PCHECKVARIABLES(OBJ) checks that the list of input axis variables is a % valid subset of the full inputs list. If necessary, changes are made to % make the list valid. % Copyright 2000-2004 The MathWorks, Inc. and Ford Global Technologies, Inc. numvars = length(obj.AxisNames); set(obj.hInputListListeners, 'enabled', 'off'); % Check for invalid pointers if ~isempty(obj.Variables) obj.Variables = obj.Variables(isvalid(obj.Variables)); end % Check for variables being a member of the inputs obj.Variables = obj.Variables(ismember(obj.Variables, obj.Inputs)); % Check that variables are independent if ~isempty(obj.variables) obj.Variables = cgindependentvars(obj.Variables); end % Add or remove variables as needed if length(obj.Variables)>numvars obj.Variables = obj.Variables(1:numvars); elseif length(obj.Variables)<numvars i_ExtendVariables(obj); end set(obj.hInputListListeners, 'enabled', 'on'); % Function that adds only independent variables from Inputs into Variables function i_ExtendVariables(obj) numvars = length(obj.AxisNames); len = length(obj.Variables); k = 1; while length(obj.Variables)<numvars && k<=length(obj.Inputs) if isempty(obj.Variables) obj.Variables = obj.inputs(k); elseif cgisindependentvars(obj.Inputs(k), obj.Variables) obj.Variables = [obj.Variables obj.Inputs(k)]; end k = k+1; end if length(obj.Variables)<numvars % pad with null pointers pVars = null(xregpointer,1, numvars); pVars(1:length(obj.Variables)) = obj.Variables; obj.Variables = pVars; end