% Funzione che contiene i punti di partenza per il calcolo
% In particolare:
% - cXo rappresenta le coordinate X di tutti i punti nodi imposte dal
% progetto per la correzione di offset;
% - cYo rappresenta le coordinate Y di tutti i punti nodi imposte dal
% progetto per la correzione di offset;
% - cZo rappresenta le coordinate Z di tutti i punti nodi imposte dal
% progetto per la correzione di offset;


function [cXo,cXo_ini,cXoStar,cYo,cYo_ini,cZo,cZo_ini,cZoStar,asseX_TuL,...
    asseXstar_TuL,asseY_TuL,asseZ_TuL,asseZstar_TuL] = punti_noti_exe_TuL(asseX_TuL,...
    asseY_TuL,asseZ_TuL,DatiElabTunnelLink,PosIniEnd,IDcentralina,DTcatena)

NomeFile = strcat(IDcentralina,'-',DTcatena,'.xlsx');
Punti_Noti = xlsread(NomeFile,5);

[~,cE] = size(DatiElabTunnelLink);
[num,~] = size(asseX_TuL); 
cont = 6;
n = 2;
cXo = zeros(num+1,1);
cYo = zeros(num+1,1);
cZo = zeros(num+1,1);
cXoStar = zeros(num+1,1);
cZoStar = zeros(num+1,1);
cXo(1,1) = PosIniEnd(1,1);
cYo(1,1) = PosIniEnd(1,2);
cZo(1,1) = PosIniEnd(1,3);
cXoStar(1,1) = PosIniEnd(2,1);
cZoStar(1,1) = PosIniEnd(2,3);
while cont<=cE
        %% X
        cXo(n,1) = cell2mat(DatiElabTunnelLink(1,cont));
        cXoStar(n,1) = cell2mat(DatiElabTunnelLink(1,cont+3));
        cXo_ini = Punti_Noti(:,1);
        cXo_ini = cXo_ini(2:end);

        %% Y
        cYo(n,1) = cell2mat(DatiElabTunnelLink(1,cont+1));
        cYo_ini = Punti_Noti(:,2);
        cYo_ini = cYo_ini(2:end);

        %% Z
        cZo(n,1) = cell2mat(DatiElabTunnelLink(1,cont+2));
        cZoStar(n,1) = cell2mat(DatiElabTunnelLink(1,cont+4));
        cZo_ini = Punti_Noti(:,3);
        cZo_ini = cZo_ini(2:end);

        cont=cont+16;
        n = n+1;
end

asseX_TuL(:,1) = diff(cXo);
asseY_TuL(:,1) = diff(cYo);
asseZ_TuL(:,1) = diff(cZo);
asseXstar_TuL(:,1) = diff(cXoStar);
asseZstar_TuL(:,1) = diff(cZoStar);

cXo = cXo(2:end)';
cYo = cYo(2:end)';
cZo = cZo(2:end)';
cXoStar = cXoStar(2:end)';
cZoStar = cZoStar(2:end)';

end
