www.gusucode.com > mbcdata 工具箱 matlab 源码程序 > mbcdata/@calibrationdata/@visionv2interface/getCurve.m
function curve = getCurve(obj, identifier) %GETCURVE Get curve from calibration. % % CURVE = GETCURVE(CAL,IDENTIFIER) gets the curve with identifier % IDENTIFIER from the calibration CAL. % % See also GETAXIS, GETVALUE, GETMAP, GETITEM. % Copyright 2000-2010 The MathWorks, Inc. % Get matching interface(s) iCurve = obj.pGetICurve(identifier); % Construct object(s) nCurves = numel(iCurve); curve = mbcutils.handleArray(nCurves, 1); % preallocate for i = 1:nCurves, try curve(i) = iCurve2Curve(iCurve(i), obj); catch ME error(message('mbc:calibrationdata:visionv2interface:FileReadError1', phGetShortIdentifier( obj, iCurve( i ).FullDataItemName ), ME.message)); end end % ------------------------------------------------------------------------- function curve = iCurve2Curve(iCurve, obj) % Construct curve object curve = calibrationdata.curve; curve.Identifier = phGetShortIdentifier(obj, iCurve.FullDataItemName); curve.Units = iCurve.YAxisEngineeringUnits; curve.Format = sprintf('%%.%df', iCurve.YAxisDecimalPlaces'); curve.UpperLimit = iCurve.YAxisMaximumLimit; curve.LowerLimit = iCurve.YAxisMinimumLimit; curve.Value = transpose(iCurve.YAxisProposedValues); curve.CalibrationInterface = obj; curve.XAxisIdentifier = obj.phGetIdentifierWithAddress(iCurve.XAxisName, iCurve.XAxisBaseAddress); % The following properties are not fully supported: Description, DataType