www.gusucode.com > mbcdata 工具箱 matlab 源码程序 > mbcdata/@calibrationdata/@visionv2interface/getMap.m

    function map = getMap(obj, identifier)
%GETMAP  Get map from calibration.
%
%  MAP = GETMAP(CAL,IDENTIFIER) gets the map with identifier IDENTIFIER
%  from the calibration CAL.
%
%  See also GETAXIS, GETVALUE, GETCURVE, GETITEM.

%  Copyright 2000-2010 The MathWorks, Inc.


% Get matching interface(s)
iMap = obj.pGetIMap(identifier);

% Construct object(s)
nMaps = numel(iMap);
map = mbcutils.handleArray(nMaps, 1); % preallocate
for i = 1:nMaps,
    try
        map(i) = iMap2Map(iMap(i), obj);
    catch ME
        error(message('mbc:calibrationdata:visionv2interface:FileReadError2', phGetShortIdentifier( obj, iMap( i ).FullDataItemName ), ME.message));
    end
end

% -------------------------------------------------------------------------

function map = iMap2Map(iMap, obj)

% Construct map object
map = calibrationdata.map;
map.Identifier = phGetShortIdentifier(obj, iMap.FullDataItemName);
map.Units = iMap.ZAxisEngineeringUnits;
map.Format = sprintf('%%.%df', iMap.ZAxisDecimalPlaces');
map.UpperLimit = iMap.ZAxisMaximumLimit;
map.LowerLimit = iMap.ZAxisMinimumLimit;
map.Value = transpose(iMap.ZAxisProposedValues);
map.CalibrationInterface = obj;
map.XAxisIdentifier = obj.phGetIdentifierWithAddress(iMap.XAxisName, iMap.XAxisBaseAddress);
map.YAxisIdentifier = obj.phGetIdentifierWithAddress(iMap.YAxisName, iMap.YAxisBaseAddress);

% The following properties are not fully supported: Description, DataType