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

    function identifiers = getAxisIdentifiers(obj)
%GETAXISIDENTIFIERS  Get axis identifiers from calibration.
%
%  IDENTIFIERS = GETAXISIDENTIFIERS(CAL) gets the axis identifiers
%  IDENTIFIERS from the calibration CAL.
%
%  See also GETVALUEIDENTIFIERS, GETCURVEIDENTIFIERS, GETMAPIDENTIFIERS, 
%  GETITEMIDENTIFIERS.

%  Copyright 2000-2005 The MathWorks, Inc.


if isempty(obj.Device)
    identifiers = {};
else
    if obj.UseCache
        curveXAxisIdentifiers = obj.cCurveXAxisIdentifiers;
        mapXAxisIdentifiers = obj.cMapXAxisIdentifiers;
        mapYAxisIdentifiers = obj.cMapYAxisIdentifiers;
        identifiers = unique([curveXAxisIdentifiers; mapXAxisIdentifiers; mapYAxisIdentifiers]);
        if isempty(identifiers)
            % No inforation in cache
        else
            % Cache looks OK
            return
        end
    end
    % Look for identifiers in curves
    iCurves = obj.ICurves;
    curveXAxisIdentifiers = get(iCurves, {'XAxisName'});
    curveXAxisAddresses = get(iCurves, {'XAxisBaseAddress'});
    % Convert to short form
    for i = 1:numel(curveXAxisIdentifiers),
        curveXAxisIdentifiers{i} = obj.phGetIdentifierWithAddress(curveXAxisIdentifiers{i}, curveXAxisAddresses{i});
    end
    % Look for identifiers in maps
    iMaps = obj.IMaps;
    mapXAxisIdentifiers = get(iMaps, {'XAxisName'});
    mapXAxisAddresses = get(iMaps, {'XAxisBaseAddress'});
    mapYAxisIdentifiers = get(iMaps, {'YAxisName'});
    mapYAxisAddresses = get(iMaps, {'YAxisBaseAddress'});
    % Convert to short form
    for i = 1:numel(mapXAxisIdentifiers),
        mapXAxisIdentifiers{i} = obj.phGetIdentifierWithAddress(mapXAxisIdentifiers{i}, mapXAxisAddresses{i});
        mapYAxisIdentifiers{i} = obj.phGetIdentifierWithAddress(mapYAxisIdentifiers{i}, mapYAxisAddresses{i});
    end
    % Update caches
    obj.cCurveXAxisIdentifiers = curveXAxisIdentifiers;
    obj.cMapXAxisIdentifiers = mapXAxisIdentifiers;
    obj.cMapYAxisIdentifiers = mapYAxisIdentifiers;
    % Return
    identifiers = unique([curveXAxisIdentifiers; mapXAxisIdentifiers; mapYAxisIdentifiers]);
end