0001 function stringList = convertMillerToString(millerMatrix, brackets, useComma)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024 if ~exist('brackets', 'var')
0025 brackets = '{';
0026 elseif ~isstr(brackets) || length(brackets) ~= 1
0027 error('elk:crystal:wrongInput', ['The provided brackets parameter must ' ...
0028 'be a string of length 1']);
0029 elseif ~strcmp(brackets, '(') && ~strcmp(brackets, '{') && ~strcmp(brackets, '[')
0030 if strcmp(brackets, ')')
0031 brackets = '(';
0032 elseif strcmp(brackets, '}')
0033 brackets = '{';
0034 elseif strcmp(brackets, ']')
0035 brackets = '[';
0036 else
0037 error('elk:crystal:wrongInput', ['The provided brackets parameter ' ...
0038 'must be ''('', ''{'' or ''[''']);
0039 end
0040 end
0041 if ~exist('useComma', 'var') || isempty(useComma)
0042 useComma = 1;
0043 end
0044 if useComma
0045 commaString = ', ';
0046 else
0047 commaString = '';
0048 end
0049
0050
0051 if size(millerMatrix, 1) == 3
0052 millerMatrix = millerMatrix';
0053 end
0054
0055
0056
0057 switch brackets
0058 case '('
0059 b_open = '(';
0060 b_close = ')';
0061 case '{'
0062 b_open = '{';
0063 b_close = '}';
0064 case '['
0065 b_open = '[';
0066 b_close = ']';
0067 end
0068
0069
0070 for i = 1:size(millerMatrix, 1)
0071 stringList{i} = [b_open num2str(millerMatrix(i,1)) commaString ...
0072 num2str(millerMatrix(i,2)) commaString ...
0073 num2str(millerMatrix(i,3)) b_close];
0074 end
0075
0076
0077 if length(stringList) == 1
0078 stringList = stringList{1};
0079 end