vytvoreni zakladnich funkci plistxyz() a coordxyz()
[plist.git] / common_id.m
blob8e0d2c7818a570308a4cf584e9a1d69a017f3410
1 function [tst, varargout] = common_id(varargin)
2 %% function common_id tests if ids of points 
3 %% are of the same size and propper type
5 if ( nargin < 2 )
6         usage('common_id(id1, id2, ...)')
7 end
9 pid = all(cellfun(@isplist_id, varargin));
10 if ( ~pid )
11         tst = 1;
12         varargout = varargin;
13         return
14 end
16 tst = false;
17 id_size = 1;
19 %% posouzeni rozmeru poli krome pole typu char a poli o jednom prvku
20 for i=1:nargin
21         id = varargin{i};
22         if ( length(id) != 1 & ~ischar(id) )
23                 if ( id_size ~= 1) 
24                         tst = tst | any(id_size!=size(id));
25                 end
26                 id_size = size(id);
27         end
28 end
30 %% skalarni expanze poli
31 for i=1:nargin
32         id = varargin{i};
33         if ( length(id) == 1 & ~ischar(id) )
34                 args{i} = repmat(id, id_size);
35         elseif ( ischar(id) )
36                 args{i} = repmat({id}, id_size);
37         else
38                 args{i} = id;
39         end
40 end
42 varargout = args;