%% funzione che attiva/disattiva l'elaborazione per una determinata tipologia di nodo
% Ad esempio se la matrice Tilt Link è vuota i Tilt Link non sono presenti
% e si scrive yesTL = 0, altrimenti se ci sono dei dati, yesTL = 1 e ne
% viene attivata l'elaborazione nelle fasi successive

function [yesTuL,yesRL,yesTLH,yesTLHRH,yesTLHR3DH,yesPCL,yesPCLHR,yesPCLHR3D,...
    yesPL,yesLL,yesEL,yes3DEL,yesWEL,yesMPBEL,yesAL,yesCrL,yes3DCrL,yes2DCrL,...
    yesDM,yesSM] = YesNo(NodoTunnelLink,NodoRadialLink,NodoTiltLinkH,NodoTiltLinkHRH,...
    NodoTiltLinkHR3DH,NodoPreConvLink,NodoPreConvLinkHR,NodoPreConvLinkHR3D,...
    NodoDistoMTLink,NodoPressureLink,NodoLoadLink,NodoExtensometerLink,...
    Nodo3DExtensometerLink,NodoWireExtensometerLink,NodoMultiPointRodExtensometer,...
    NodoAnalogLink,NodoCrackLink,Nodo3DCrackLink,Nodo2DCrackLink,NodoStressMeter,FileName)

fileID = fopen(FileName,'a');
fmt = '%s \r';
text = 'YesNo function started';
fprintf(fileID,fmt,text);

%% Tunnel Link
[rTuL,cTuL] = size(NodoTunnelLink); 
if  rTuL==0 && cTuL==0
    yesTuL = 0; % Non elaboro i Tunnel Link
else
    yesTuL = 1; % attiva l'elaborazione dei Tunnel Link
end

%% Radial Link
[rRL,cRL] = size(NodoRadialLink);
if  rRL==0 && cRL==0
    yesRL = 0; % Non elaboro i Radial Link
else
    yesRL = 1; % attiva l'elaborazione dei Radial Link
end

%% Tilt Link H
[rTLH,cTLH] = size(NodoTiltLinkH); 
if  rTLH==0 && cTLH==0
    yesTLH = 0; % Non elaboro i Tilt Link H
else
    yesTLH = 1; % attiva l'elaborazione dei Tilt Link H
end

%% Tilt Link HR H
[rTLHRH,cTLHRH] = size(NodoTiltLinkHRH);
if  rTLHRH==0 && cTLHRH==0
    yesTLHRH = 0; % Non elaboro i Tilt Link HR H
else
    yesTLHRH = 1; % attiva l'elaborazione dei Tilt Link HR H
end

%% Tilt Link HR 3D H
[rTLHR3DH,cTLHR3DH] = size(NodoTiltLinkHR3DH);
if  rTLHR3DH==0 && cTLHR3DH==0
    yesTLHR3DH = 0; % Non elaboro i Tilt Link HR 3D H
else
    yesTLHR3DH = 1; % attiva l'elaborazione dei Tilt Link HR 3D H
end

%% Pre Conv Link
[rPCL,cPCL] = size(NodoPreConvLink);
if  rPCL==0 && cPCL==0
    yesPCL = 0; % Non elaboro i PreConv Link
else
    yesPCL = 1; % attiva l'elaborazione dei PreConv Link
end

%% Pre Conv Link H
[rPCLHR,cPCLhr] = size(NodoPreConvLinkHR);
if  rPCLHR==0 && cPCLhr==0
    yesPCLHR = 0; % Non elaboro i Pre Conv Link HR
else
    yesPCLHR = 1; % attiva l'elaborazione dei Pre Conv Link HR
end

%% PreConv Link HR 3D
[rPCLHR3D,cPCLHR3D] = size(NodoPreConvLinkHR3D);
if  rPCLHR3D==0 && cPCLHR3D==0
    yesPCLHR3D = 0; % Non elaboro i PreConv Link HR 3D
else
    yesPCLHR3D = 1; % attiva l'elaborazione dei PreConv Link HR 3D
end

%% DistoMT Link
[rDM,cDM] = size(NodoDistoMTLink); 
if  rDM==0 && cDM==0
    yesDM = 0; % Non elaboro i DistoMT Link
else
    yesDM = 1; % attiva l'elaborazione dei DistoMT Link
end

%% Pressure Link
[rPL,cPL] = size(NodoPressureLink);
if  rPL==0 && cPL==0
    yesPL = 0; % Non elaboro i Pressure Link
else
    yesPL = 1; % attiva l'elaborazione dei Pressure  Link
end

%% Load Link
[rLL,cLL] = size(NodoLoadLink);
if  rLL==0 && cLL==0
    yesLL = 0; % Non elaboro i Load Link
else
    yesLL = 1; % attiva l'elaborazione dei Load Link
end

%% Extensometer Link
[rEL,cEL] = size(NodoExtensometerLink);
if  rEL==0 && cEL==0
    yesEL = 0; % Non elaboro gli Extensometer Link
else
    yesEL = 1; % attiva l'elaborazione degli Extensometer Link
end

%% 3D extensometer Link
[r3DEL,c3DEL] = size(Nodo3DExtensometerLink);
if  r3DEL==0 && c3DEL==0
    yes3DEL = 0; % Non elaboro i 3D extensometer Link
else
    yes3DEL = 1; % attiva l'elaborazione dei 3D extensometer Link
end

%% Wire Extensometer Link
[rWEL,cWEL] = size(NodoWireExtensometerLink);
if  rWEL==0 && cWEL==0
    yesWEL = 0; % Non elaboro i Wire Extensometer Link
else
    yesWEL = 1; % attiva l'elaborazione dei Wire Extensometer Link
end

%% Multi Point Bore Rod Extensometer
[rMPBEL,cMPBEL] = size(NodoMultiPointRodExtensometer);
if  rMPBEL==0 && cMPBEL==0
    yesMPBEL = 0; % Non elaboro i Multi Point Bore Rod Extensometer
else
    yesMPBEL = 1; % attiva l'elaborazione dei Multi Point Bore Rod Extensometer
end

%% Analog Link
[rAL,cAL] = size(NodoAnalogLink);
if  rAL==0 && cAL==0
    yesAL = 0; % Non elaboro gli Analog Link
else
    yesAL = 1; % attiva l'elaborazione degli Analog Link
end

%% Crack Link
[rCrL,cCrL] = size(NodoCrackLink);
if  rCrL==0 && cCrL==0
    yesCrL = 0; % Non elaboro i Crack Link
else
    yesCrL = 1; % attiva l'elaborazione dei Crack Link
end

%% 3D Crack Link
[r3DCrL,c3DCrL] = size(Nodo3DCrackLink);
if  r3DCrL==0 && c3DCrL==0
    yes3DCrL = 0; % Non elaboro i 3D Crack Link
else
    yes3DCrL = 1; % attiva l'elaborazione dei 3D Crack Link
end

%% 2D Crack Link
[r2DCrL,c2DCrL] = size(Nodo2DCrackLink);
if  r2DCrL==0 && c2DCrL==0
    yes2DCrL = 0; % Non elaboro i 3D Crack Link
else
    yes2DCrL = 1; % attiva l'elaborazione dei 3D Crack Link
end

%% Stress Meter
[rSM,cSM] = size(NodoStressMeter);
if  rSM==0 && cSM==0
    yesSM = 0; % Non elaboro i Stress Meter
else
    yesSM = 1; % attiva l'elaborazione dei Stress Meter
end

text = 'Activation parameters for the elaboration defined correctly, YesNo function closed';
fprintf(fileID,fmt,text);
fclose(fileID);

end