1 ## Copyright (C) 2011 Carnë Draug <carandraug+dev@gmail.com>
2 ## Copyright (c) 2011 Juan Pablo Carbajal <carbajal@ifi.uzh.ch>
4 ## This program is free software; you can redistribute it and/or modify
5 ## it under the terms of the GNU General Public License as published by
6 ## the Free Software Foundation; either version 3 of the License, or
7 ## (at your option) any later version.
9 ## This program is distributed in the hope that it will be useful,
10 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
11 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 ## GNU General Public License for more details.
14 ## You should have received a copy of the GNU General Public License
15 ## along with this program; if not, see <http://www.gnu.org/licenses/>.
18 ## @deftypefn {Function File} {@var{paths} = } getpath (@var{ids})
19 ## Returns paths in @var{ids}.
23 function paths = getpath(obj, varargin)
28 if iscell (ids) && numel(ids) == 1 && iscell(ids{1}) % dealing with ids given as cell
31 if !all ( cellfun (@ischar, ids) )
35 elseif !all ( cellfun (@ischar, ids) )
44 tf = ismember (ids, fieldnames (obj.Path));
46 cellfun (@(s) printf("'%s' is not a valid path id.\n", s) , {ids{!tf}});
52 for i = 1: numel(stuff)
53 paths{i} = obj.Path.(ids{i}).data;
58 % paths = cellfun(@(s) obj.Path.(s).data, stuff,'UniformOutput',false);
61 % paths = cellfun(@(s) getfield(obj,'Path').(s).data, stuff,'UniformOutput',false);
64 % paths = cellfun(@(s) getfield(obj.Path,s).data, stuff,'UniformOutput',false);
67 % dummy = @(s) obj.Path.(s).data;
68 % paths = cellfun(dummy, stuff,'UniformOutput',false);