function GetI=BuildIkFunc(Num,nq)
% function GetI=BuildIkFunc(Num,nq)
%   Build GetI function  associated with global vectors field numerotation Num.
%   Used by AssemblingStiffElasP1 functions.
%   
% see report 
%
% OptFEM2DP1 [V1.2b1] -    Copyright (C) 2013  CJS (LAGA)
%
%   This file is part of OptFEM2DP1.
%   OptFEM2DP1 is free software: you can redistribute it and/or modify
%   it under the terms of the GNU General Public License as published by
%   the Free Software Foundation, either version 3 of the License, or
%   (at your option) any later version.
%
%   OptFEM2DP1 is distributed in the hope that it will be useful,
%   but WITHOUT ANY WARRANTY; without even the implied warranty of
%   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
%   GNU General Public License for more details.
%
%   You should have received a copy of the GNU General Public License
%   along with this program.  If not, see <http://www.gnu.org/licenses/>.
switch Num
case 0
  GetI=@(me,k) [2*me(1,k)-1, 2*me(1,k), 2*me(2,k)-1, 2*me(2,k), 2*me(3,k)-1, 2*me(3,k)];
case 1
  GetI=@(me,k) [me(1,k) me(1,k)+nq me(2,k) me(2,k)+nq me(3,k) me(3,k)+nq];
case 2
  GetI=@(me,k) [2*me(:,k)-1;2*me(:,k)]';
case 3
  GetI=@(me,k) [me(:,k); me(:,k)+nq]';
end
