www.gusucode.com > mbcdata 工具箱 matlab 源码程序 > mbcdata/@calibrationdata/@visionv2interface/setMap.m
function setMap(obj, map) %SETMAP Set map in calibration. % % SETMAP(CAL,MAP) sets the map MAP in the calibration CAL. % % See also SETAXIS, SETVALUE, SETCURVE, SETITEM. % Copyright 2004-2005 The MathWorks, Inc. % Get matching interface iMap = obj.pGetIMap(map.Identifier); % Check that map properties match if ~strcmp(map.Units, iMap.ZAxisEngineeringUnits) error(message('mbc:calibrationdata:visionv2interface:InvalidPropertyValue')) elseif map.UpperLimit ~= iMap.ZAxisMaximumLimit error(message('mbc:calibrationdata:visionv2interface:InvalidPropertyValue10')) elseif map.LowerLimit ~= iMap.ZAxisMinimumLimit error(message('mbc:calibrationdata:visionv2interface:InvalidPropertyValue11')) elseif ~strcmp(map.XAxisIdentifier, obj.phGetIdentifierWithAddress(iMap.XAxisName, iMap.XAxisBaseAddress)) error(message('mbc:calibrationdata:visionv2interface:InvalidPropertyValue12')) elseif ~strcmp(map.YAxisIdentifier, obj.phGetIdentifierWithAddress(iMap.YAxisName, iMap.YAxisBaseAddress)) error(message('mbc:calibrationdata:visionv2interface:InvalidPropertyValue13')) elseif ~isequal(size(map.Value), size(transpose(iMap.ZAxisProposedValues))) error(message('mbc:calibrationdata:visionv2interface:InvalidPropertyValue14')) end % Assign in value (interface requires double precision) iMap.ZAxisProposedValues = transpose(double(map.Value)); % Fire 'CalibrationChanged' event send(obj, 'CalibrationChanged', handle.EventData(obj, 'CalibrationChanged'));