#!/bin/csh

#######################################################################################################################################
#                                                                                                                                     #
#         D E S S I N   D ' U N   M E S S A G E  :                                                                                    #
#                                                                                                                                     #
#                                                                                                                                     #
#         Utilisation :                                                                                                               #
#                                                                                                                                     #
#                   $xrd/message.01$vv$Z          <ImageA>                                                                            #
#                                                 <Message>                                                                           #
#                                                 <ImageR>                                                                            #
#                                                 [<CoordonneeX>                                                                      #
#                                                 [<CoordonneeY>                                                                      #
#                                                 [<CoordonneeZ>                                                                      #
#                                                 [<Dimension>                                                                        #
#                                                 [<Rayon>                                                                            #
#                                                 [<CouleurR>                                                                         #
#                                                 [<CouleurV>                                                                         #
#                                                 [<CouleurB>                                                                         #
#                                                 [<Cadre>                                                                            #
#                                                 [<CadreR>                                                                           #
#                                                 [<CadreV>                                                                           #
#                                                 [<CadreB>                                                                           #
#                                                 [<CadreBordure>                                                                     #
#                                                 [<Zoom>                                                                             #
#                                                 [<Bibliotheque>                                                                     #
#                                                 [<Couronne>                                                                         #
#                                                 [<TranslationZ>                                                                     #
#                                                  ]]]]]]]]]]]]]]]]]                                                                  #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xrd/message.01$vv$Z' :                                                                                          #
#                                                                                                                                     #
#                     Jean-Francois COLONNA (LACTAMME, 20240401142409).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

set       ImageA=$1
set       Message="$2"
set       ImageR=$3
set       CoordonneeX=$4
set       CoordonneeY=$5
set       CoordonneeZ=$6
set       Dimension=$7
set       Rayon=$8
set       CouleurR=$9
set       CouleurV=$10
set       CouleurB=$11
set       Cadre=$12
set       CadreR=$13
set       CadreV=$14
set       CadreB=$15
set       CadreBordure=$16
set       Zoom=$17
set       Bibliotheque=$18
set       Couronne=$19
set       TranslationZ=$20

setArgum  CoordonneeX         0
setArgum  CoordonneeY         0
setArgum  CoordonneeZ         0

setArgum  Dimension           0.0030

setArgum  Rayon               0.0040

setArgum  CouleurR            $BLANC
setArgum  CouleurV            $BLANC
setArgum  CouleurB            $BLANC

setArgum  Cadre               $NEXIST
setArgum  CadreR              $BLANC
setArgum  CadreV              $BLANC
setArgum  CadreB              $BLANC
setArgum  CadreBordure        6

setArgum  Zoom                1

setArgum  Bibliotheque        0

setArgum  Couronne            1

setArgum  TranslationZ        0.5

if        ((-e $ImageA$ROUGE) && (-e $ImageA$VERTE) && (-e $ImageA$BLEUE)) then
          FilSTmpB  ZBuFfEr

          $xci/init$X                                                                                                                   \
                    standard=FAUX                                                                                                       \
                    valeur=-100                                                                                                         \
                    R=$ZBuFfEr                                                                                                          \
                                                                                                              $formatI

          set       TrAnSlX=0
          set       TrAnSlY=0
          set       TrAnSlZ=+0.012
          set       CoordonneeX=`$xcg/ADD2.01$X a=$CoordonneeX             b=$TrAnSlX`
          set       CoordonneeY=`$xcg/ADD2.01$X a=$CoordonneeY             b=$TrAnSlY`
          set       CoordonneeZ=`$xcg/ADD2.01$X a=$CoordonneeZ             b=$TrAnSlZ`

          alias     InItIaL   'set                G_Alphabet=$Bibliotheque                                                        ;    \\
                               G_K                $Dimension                                                                      ;    \\
                               G_Zoom             $Zoom                                                                           ;    \\
                               G_Cursor1          $CoordonneeX $CoordonneeY $CoordonneeZ                                          ;    \\
                               G_Cursor3          $Rayon'
                                        # On notera que :                                                                             #
                                        #                                                                                             #
                                        #                   source    $xrd/graph.01$vv$Y                                              #
                                        #                                                                                             #
                                        # ne peut etre inclu dans l'alias car alors les utilisations de 'G_K',... qui suivent         #
                                        # dans l'alias :                                                                              #
                                        #                                                                                             #
                                        #                   source    $xrd/graph.01$vv$Y                                              #
                                        #                                                                                             #
                                        # donnent :                                                                                   #
                                        #                                                                                             #
                                        #                   G_K: Command not found.                                                   #
                                        #                   (...)                                                                     #
                                        #                                                                                             #

          source    $xrd/graph.01$vv$Y
          InItIaL

          G_Cursor2 $CouleurR $CouleurV $CouleurB
          G_Quelc   `G_Message "$Message"`
          G_Zoom    $Zoom

          set       AGeNeRe_C="$K_VIDE"
          set       AGeNeRe_C="$AGeNeRe_C"" couronne=$Couronne"
          set       AGeNeRe_C="$AGeNeRe_C"" fond=VRAI"
          set       AGeNeRe_C="$AGeNeRe_C"" F=$ImageA"
          set       AGeNeRe_C="$AGeNeRe_C"" Zfond=VRAI ZF=$ZBuFfEr"
          set       AGeNeRe_C="$AGeNeRe_C"" BZ=$TranslationZ"

          if        ($Cadre == $EXIST) then
                    FilSTmpB  FoNd

                    execRVB   $xci/init$X                                                                                               \
                                        niveau=$NOIR                                                                                    \
                                        R=$FoNd.RVB%s                                                                                   \
                                                                                                                        $formatI

                    G_Genere  $FoNd.RVB $AGeNeRe_C fond=FAUX Zfond=FAUX

                    $xci/luminance.01$X                                                                                                 \
                                        A=$FoNd.RVB                                                                                     \
                                                                                                                        $formatI  |     \
                    $xci/seuil$X                                                                                                        \
                                        R=$FoNd$LUMIN                                                                                   \
                                                                                                                        $formatI
                    FilSTmpB  FExTrEmA

                    $xci/extremaXY$X                                                                                                    \
                                        A=$FoNd$LUMIN                                                                                   \
                                        editer_centrage=FAUX                                                                            \
                                        Prme=VRAI                                                                                       \
                                                                                                                        $formatI        \
                                                                                                                        >> $FExTrEmA

                    set       MiNiMuM_X=`$CA $FExTrEmA | $GRE '^minimumX' | $SE -e "s/^.*= *//"`
                    set       MaXiMuM_X=`$CA $FExTrEmA | $GRE '^maximumX' | $SE -e "s/^.*= *//"`

                    set       MiNiMuM_Y=`$CA $FExTrEmA | $GRE '^minimumY' | $SE -e "s/^.*= *//"`
                    set       MaXiMuM_Y=`$CA $FExTrEmA | $GRE '^maximumY' | $SE -e "s/^.*= *//"`

                    @         MiNiMuM_X = $MiNiMuM_X - $CadreBordure
                    @         MaXiMuM_X = $MaXiMuM_X + $CadreBordure

                    @         MiNiMuM_Y = $MiNiMuM_Y - $CadreBordure
                    @         MaXiMuM_Y = $MaXiMuM_Y + $CadreBordure

                    $xci/cadre$X                                                                                                        \
                                        A=$NOIR                                                                                         \
                                        MinimumX=$MiNiMuM_X MinimumY=$MiNiMuM_Y                                                         \
                                        MaximumX=$MaXiMuM_X MaximumY=$MaXiMuM_Y                                                         \
                                        niveau=$BLANC                                                                                   \
                                        epaisseur=1                                                                                     \
                                        R=$FoNd.cadre                                                                                   \
                                                                                                                        $formatI

                    set       MiNiMuM_X=`$xci/coordonnees$X normaliser=VRAI eX=VRAI X=$MiNiMuM_X eY=FAUX eZ=FAUX $formatI`
                    set       MaXiMuM_X=`$xci/coordonnees$X normaliser=VRAI eX=VRAI X=$MaXiMuM_X eY=FAUX eZ=FAUX $formatI`
                    set       MoYeNnE_X=`calcul (($MiNiMuM_X)+($MaXiMuM_X))/2`

                    set       MiNiMuM_Y=`$xci/coordonnees$X normaliser=VRAI eX=FAUX eY=VRAI Y=$MiNiMuM_Y eZ=FAUX $formatI`
                    set       MaXiMuM_Y=`$xci/coordonnees$X normaliser=VRAI eX=FAUX eY=VRAI Y=$MaXiMuM_Y eZ=FAUX $formatI`
                    set       MoYeNnE_Y=`calcul (($MiNiMuM_Y)+($MaXiMuM_Y))/2`

                    set       ArG_CoNtOuRs="$K_VIDE"
                    set       ArG_CoNtOuRs="$ArG_CoNtOuRs"" A=$FoNd.cadre"
                    set       ArG_CoNtOuRs="$ArG_CoNtOuRs"" x=$MoYeNnE_X"
                    set       ArG_CoNtOuRs="$ArG_CoNtOuRs"" y=$MoYeNnE_Y"

                    $xci/contours.12$X                                                                                                  \
                                        $ArG_CoNtOuRs                                                                                   \
                                        niveau=$CouleurR                                                                                \
                                        R=$FoNd.cadre$ROUGE                                                                             \
                                                                                                                        $formatI
                    $xci/contours.12$X                                                                                                  \
                                        $ArG_CoNtOuRs                                                                                   \
                                        niveau=$CouleurV                                                                                \
                                        R=$FoNd.cadre$VERTE                                                                             \
                                                                                                                        $formatI
                    $xci/contours.12$X                                                                                                  \
                                        $ArG_CoNtOuRs                                                                                   \
                                        niveau=$CouleurB                                                                                \
                                        R=$FoNd.cadre$BLEUE                                                                             \
                                                                                                                        $formatI

                    $xci/cache.31$Z                                                                                                     \
                                        $ImageA                                                                                         \
                                        $FoNd.cadre                                                                                     \
                                        $ImageR
                                        # L'image '$ImageR' contient alors l'image argument '$ImageA' avec le cadre rempli.           #

                    G_Delete

                    source    $xrd/graph.01$vv$Y
                    InItIaL

                    G_Cursor2 $CadreR $CadreV $CadreB
                    G_Quelc   `G_Message "$Message"`
                    G_Zoom    $Zoom

                    G_Genere  $ImageR $AGeNeRe_C fond=VRAI F=$ImageR Zfond=VRAI

                    G_Delete

                    FilSTmpE  FExTrEmA

                    FilSTmpE  FoNd
          else
                    G_Genere  $ImageR $AGeNeRe_C

                    G_Delete
          endif

          FilSTmpE  ZBuFfEr
else
          EROR      "L'image '$ImageA' n'existe pas."
endif



Copyright © Jean-François COLONNA, 2024-2024.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2024-2024.