#!/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