www.gusucode.com > mbcdata 工具箱 matlab 源码程序 > mbcdata/@calibrationdata/@visionv2interface/setCurve.m
function setCurve(obj, curve) %SETCURVE Set curve in calibration. % % SETCURVE(CAL,CURVE) sets the curve CURVE in the calibration CAL. % % See also SETAXIS, SETVALUE, SETMAP, SETITEM. % Copyright 2004-2005 The MathWorks, Inc. % Get matching interface iCurve = obj.pGetICurve(curve.Identifier); % Check that curve properties match if ~strcmp(curve.Units, iCurve.YAxisEngineeringUnits) error(message('mbc:calibrationdata:visionv2interface:InvalidPropertyValue')) elseif curve.UpperLimit ~= iCurve.YAxisMaximumLimit error(message('mbc:calibrationdata:visionv2interface:InvalidPropertyValue5')) elseif curve.LowerLimit ~= iCurve.YAxisMinimumLimit error(message('mbc:calibrationdata:visionv2interface:InvalidPropertyValue6')) elseif ~strcmp(curve.XAxisIdentifier, obj.phGetIdentifierWithAddress(iCurve.XAxisName, iCurve.XAxisBaseAddress)) error(message('mbc:calibrationdata:visionv2interface:InvalidPropertyValue7')) elseif ~isequal(size(curve.Value), size(iCurve.YAxisProposedValues)) error(message('mbc:calibrationdata:visionv2interface:InvalidPropertyValue8')) end % Assign in value (interface requires double precision) iCurve.YAxisProposedValues = transpose(double(curve.Value)); % Fire 'CalibrationChanged' event send(obj, 'CalibrationChanged', handle.EventData(obj, 'CalibrationChanged'));