#######################################################################################################################################
#                                                                                                                                     #
#         V I S U A L I S A T I O N   D E   L ' A C I N U S   P U L M O N A I R E  :                                                  #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xiird/.ACIN.Y1.1.$U' :                                                                                          #
#                                                                                                                                     #
#                     Jean-Francois Colonna (LACTAMME, 20160203091200).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

$Z                  SETParam            _____Paquets                  1
$Z                                      # Parametre introduit le 20160222092430...                                                    #

$Z                  SETParam            _____NPaquets                 `GetParam $xrv/un_sur_N.01$X nombre_paquets`
$Z                                      # Parametre introduit le 20160222131038...                                                    #

$Z                  setParam            _____FiltreData1              "$xrv/neutre$X ne=0 fichier=="
$Z                                      # Parametre introduit le 20160609091356...                                                    #

$Z                  setParam            _____FiltreData2              "$xrv/neutre$X ne=0 fichier=="
$Z                                      # Parametre introduit le 20160609091356...                                                    #

$Z                  setParam            _____PaletteData1             $xiP/trou_noir.G4

$Z                  setParam            _____PaletteData2             $xiP/bleu_blanc_rouge.12

$Z                  SETParam            _____G_K                      0.004
$Z                                      # Parametre introduit le 20160205170105...                                                    #

$Z                  setParam            _____MExtractionL             "$K_VIDE"
$Z                                      # Parametre introduit le 20160212175006...                                                    #
$Z                                      #                                                                                             #
$Z                                      # Ce Masque d'Extraction permet d'extraire des sous-ensembles d'echantillons dans l'espace    #
$Z                                      # des Longueurs. Ainsi, par exemple :                                                         #
$Z                                      #                                                                                             #
$Z                                      #              "^"            -->     tous les echantillons,                                  #
$Z                                      #              "^...1"' '     -->     uniquement les echantillons de 10 en 10 a partir de 1.  #
$Z                                      #                                                                                             #

$Z                  setParam            _____MExtractionT             "$K_VIDE"
$Z                                      # Ce Masque d'Extraction permet d'extraire des sous-ensembles d'instants. Ainsi, par          #
$Z                                      # exemple :                                                                                   #
$Z                                      #                                                                                             #
$Z                                      #              "^"            -->     tous les instants,                                      #
$Z                                      #              "^..01"'$'     -->     uniquement les instants de 100 en 100 a partir de 1.    #
$Z                                      #                                                                                             #

$Z                  setParam            _____mRayon                   0.01

$Z                  setParam            _____MRayon                   0.08

$Z                  setParam            _____FCoordonneeX             0.0175

$Z                  setParam            _____Grossissement            1.0

$Z                  setParam            _____Zoom                     1

$Z                  setParam            _____DistanceMini             0.005

$Z                  set                 LiStD____=`$CA $FDiameter_ | $AW ' { print $1 } '`
$Z                  set                 LiStL____=`$CA $FLength___ | $AW ' { print $1 } '`
$Z                  set                 LiStData1=`$CA $FData1____ | $AW ' { print $1 } '`
$Z                  set                 LiStData2=`$CA $FData2____ | $AW ' { print $1 } '`

$Z                  if                  (    ("$LiStD____" != "$LiStL____")                                                             \
$Z                                      ||   ("$LiStD____" != "$LiStData1")                                                             \
$Z                                      ||   ("$LiStD____" != "$LiStData2")                                                             \
$Z                                       ) then
$Z                                      EROR                "Un ou plusieurs des fichiers arguments n'ont pas la bonne longueur -1-."
$Z                  else
$Z                  endif

$Z                  if                  (    ("$LiStL____" != "$LiStData1")                                                             \
$Z                                      ||   ("$LiStL____" != "$LiStData2")                                                             \
$Z                                       ) then
$Z                                      EROR                "Un ou plusieurs des fichiers arguments n'ont pas la bonne longueur -2-."
$Z                  else
$Z                  endif

$Z                  if                  ("$LiStData1" != "$LiStData2") then
$Z                                      EROR                "Un ou plusieurs des fichiers arguments n'ont pas la bonne longueur -3-."
$Z                  else
$Z                  endif

$Z                  set                 LiStE=`echo $LiStL____ | $R "$K_BLANC" "$K_NL" | $GRE "$_____MExtractionT"`
$Z                  set                 LiStE=($LiStE)

$Z                  FileTmpB            FDoNnEeS

$Z                  $CA                 $FDiameter_                                                                               |     \
$Z                  $SE                 -e "s/^[$Alphabet_0_9][$Alphabet_0_9]*  *//"                                              |     \
$Z                  $R                  "$K_BLANC" "$K_NL"                                                                              \
$Z                                                                                        >   $FDoNnEeS.FDiameter_

$Z                  $CA                 $FLength___                                                                               |     \
$Z                  $SE                 -e "s/^[$Alphabet_0_9][$Alphabet_0_9]*  *//"                                              |     \
$Z                  $R                  "$K_BLANC" "$K_NL"                                                                              \
$Z                                                                                        >   $FDoNnEeS.FLength___

$Z                  $CA                 $FData1____                                                                               |     \
$Z                  $SE                 -e "s/^[$Alphabet_0_9][$Alphabet_0_9]*  *//"                                              |     \
$Z                  $R                  "$K_BLANC" "$K_NL"                                                                        |     \
$Z                  (eval                "$_____FiltreData1")                                                                           \
$Z                                                                                        >   $FDoNnEeS.FData1____
$Z                                      # Le 20160614131600 fut introduit le '(eval ...)' afin de permettre a '$_____FiltreData1'     #
$Z                                      # de contenir un ou plusieurs "pipes"...                                                      #

$Z                  $CA                 $FData2____                                                                               |     \
$Z                  $SE                 -e "s/^[$Alphabet_0_9][$Alphabet_0_9]*  *//"                                              |     \
$Z                  $R                  "$K_BLANC" "$K_NL"                                                                        |     \
$Z                  (eval                "$_____FiltreData2")                                                                           \
$Z                                                                                        >   $FDoNnEeS.FData2____
$Z                                      # Le 20160614131600 fut introduit le '(eval ...)' afin de permettre a '$_____FiltreData2'     #
$Z                                      # de contenir un ou plusieurs "pipes"...                                                      #

$Z             set  MinimumD____=`$CA $FDoNnEeS.FDiameter_ | $xrv/extrema.01$X ne=0 fichier== | $GRE '^minimum=' | $SE -e 's/^.*=//'`
$Z             set  MaximumD____=`$CA $FDoNnEeS.FDiameter_ | $xrv/extrema.01$X ne=0 fichier== | $GRE '^maximum=' | $SE -e 's/^.*=//'`

$Z             set  MinimumL____=`$CA $FDoNnEeS.FLength___ | $xrv/extrema.01$X ne=0 fichier== | $GRE '^minimum=' | $SE -e 's/^.*=//'`
$Z             set  MaximumL____=`$CA $FDoNnEeS.FLength___ | $xrv/extrema.01$X ne=0 fichier== | $GRE '^maximum=' | $SE -e 's/^.*=//'`

$Z             set  MinimumData1=`$CA $FDoNnEeS.FData1____ | $xrv/extrema.01$X ne=0 fichier== | $GRE '^minimum=' | $SE -e 's/^.*=//'`
$Z             set  MaximumData1=`$CA $FDoNnEeS.FData1____ | $xrv/extrema.01$X ne=0 fichier== | $GRE '^maximum=' | $SE -e 's/^.*=//'`

$Z             set  MinimumData2=`$CA $FDoNnEeS.FData2____ | $xrv/extrema.01$X ne=0 fichier== | $GRE '^minimum=' | $SE -e 's/^.*=//'`
$Z             set  MaximumData2=`$CA $FDoNnEeS.FData2____ | $xrv/extrema.01$X ne=0 fichier== | $GRE '^maximum=' | $SE -e 's/^.*=//'`

$Z                  IfBasic             (    (`$xcg/IFLT.01$X a=$MinimumData1 b=0` == $EXIST)                                           \
$Z                                      ||   (`$xcg/IFLT.01$X a=$MaximumData1 b=0` == $EXIST)                                           \
$Z                                       ) ThenBasic
$Z                                      # Test introduit le 20160608122525 depuis qu'a priori, on ne sait pas ce que sont exactement  #
$Z                                      # 'Data1' et 'Data2' (des pressions, des vitesses,...).                                       #
$Z                                      set                 AMinimumData1=`$xcg/ABSO.01$X a=$MinimumData1`
$Z                                      set                 SMinimumData1=`$xcg/SIGN.01$X a=$MinimumData1`

$Z                                      set                 AMaximumData1=`$xcg/ABSO.01$X a=$MaximumData1`
$Z                                      set                 SMaximumData1=`$xcg/SIGN.01$X a=$MaximumData1`

$Z                                      set                 MaXiMuM____=`$xcg/MAX2.01$X a=$AMinimumData1 b=$AMaximumData1`

$Z                                      set                 MinimumData1=`$xcg/MUL2.01$X a=$SMinimumData1 b=$MaXiMuM____`
$Z                                      set                 MaximumData1=`$xcg/MUL2.01$X a=$SMaximumData1 b=$MaXiMuM____`

$Z                                      set                 MinimumData1=`$xcg/MIN2.01$X a=$MinimumData1 b=0`
$Z                                      set                 MaximumData1=`$xcg/MAX2.01$X a=$MaximumData1 b=0`
$Z                                      # Tout cela est destine a permettre a 'Data1' d'etre aussi bien positive que negative...      #
$Z                  else
$Z                  endif

$Z                  IfBasic             (    (`$xcg/IFLT.01$X a=$MinimumData2 b=0` == $EXIST)                                           \
$Z                                      ||   (`$xcg/IFLT.01$X a=$MaximumData2 b=0` == $EXIST)                                           \
$Z                                       ) ThenBasic
$Z                                      # Test introduit le 20160608122525 depuis qu'a priori, on ne sait pas ce que sont exactement  #
$Z                                      # 'Data1' et 'Data2' (des pressions, des vitesses,...).                                       #
$Z                                      set                 AMinimumData2=`$xcg/ABSO.01$X a=$MinimumData2`
$Z                                      set                 SMinimumData2=`$xcg/SIGN.01$X a=$MinimumData2`

$Z                                      set                 AMaximumData2=`$xcg/ABSO.01$X a=$MaximumData2`
$Z                                      set                 SMaximumData2=`$xcg/SIGN.01$X a=$MaximumData2`

$Z                                      set                 MaXiMuM____=`$xcg/MAX2.01$X a=$AMinimumData2 b=$AMaximumData2`

$Z                                      set                 MinimumData2=`$xcg/MUL2.01$X a=$SMinimumData2 b=$MaXiMuM____`
$Z                                      set                 MaximumData2=`$xcg/MUL2.01$X a=$SMaximumData2 b=$MaXiMuM____`

$Z                                      set                 MinimumData2=`$xcg/MIN2.01$X a=$MinimumData2 b=0`
$Z                                      set                 MaximumData2=`$xcg/MAX2.01$X a=$MaximumData2 b=0`
$Z                                      # Tout cela est destine a permettre a 'Data2' d'etre aussi bien positive que negative...      #
$Z                  else
$Z                  endif

$Z                  FileTmpE            FDoNnEeS

$Z                  set                 Args_NL="-nrz -w4"

$Z                  set                 Args_Paquets="$K_VIDE"
$Z                  set                 Args_Paquets="$Args_Paquets"" taille_paquets=$_____Paquets"
$Z                  set                 Args_Paquets="$Args_Paquets"" nombre_paquets=$_____NPaquets"
$Z                  set                 Args_Paquets="$Args_Paquets"" Men_tete=FAUX"
$Z                  set                 Args_Paquets="$Args_Paquets"" minimum=FAUX"
$Z                  set                 Args_Paquets="$Args_Paquets"" maximum=FAUX"
$Z                  set                 Args_Paquets="$Args_Paquets"" premier=FAUX"
$Z                  set                 Args_Paquets="$Args_Paquets"" dernier=FAUX"
$Z                  set                 Args_Paquets="$Args_Paquets"" moyenne=VRAI"
$Z                  set                 Args_Paquets="$Args_Paquets"" cumul=FAUX"
$Z                  set                 Args_Paquets="$Args_Paquets"" element_variable=FAUX"
$Z                                      # Introduit le 20160222092430 afin de permettre un echantillonnage...                         #



Copyright © Jean-François Colonna, 2019-2021.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / Ecole Polytechnique, 2019-2021.