function [index] = getIndex(vec, mod)
% getIndex - První nenulová hodnota vektoru
%
% Popis funkce:
% Funkce pro zjištění indexu první nenulové hodnoty vektoru, pokud vektor 
% neobashuje nenulovou hodnotu, funkce vrací nulu.
%
% Syntax:  [index] = getIndex(vec, mod)
%
% Vstupní parametry:
%    vec - Vektor hodnot
%    mod - Režim:
%                 mod = 0 : Funkce vrací index první nenulové hodnoty
%                 mod = 1 : Funkce vrací střední hodnotu indexů nenulových
%                           hodnot
%
% Výstupní parametry:
%    index - Index prvku vyhovující zvolenému režimu
%
% Vytvořeno v rámci bakalářské práce na téma Vytvoření 3D modelu za pomoci 
% laserového vzoru.
% Martin Krátký
% Vysoké učení technické v Brně
% Květen 2019
% Práce je dostupná na webové adrese:
% https://www.vutbr.cz/studenti/zav-prace/detail/119313 
%
% See also: calibratedStereoVision, meshGeneration
%
index = 0;
if mod == 1 
    j = 1;
    nonzersVec = [];
    for i=1:length(vec)-1
        if vec(i)
            nonzersVec(j) = i;
            j = j + 1;   
        end  
    end 
    index = round(mean(nonzersVec));
    if isnan(index)
        index = 0;
    end
else
    for i=1:length(vec)-1
        if vec(i)
            index = i;
            return;
        end  
    end
end 