#!/bin/csh
#######################################################################################################################################
# #
# G E N E R A T I O N D E L A P A L E T T E ' Divers.12 ' : #
# #
# #
# Utilisation : #
# #
# $xigP/Divers.12$Z [<F> [<M> [<T> [<mX> [<MX> [<mY> [<MY> [<mZ> [<MZ> [<Form> [<Bib> [<DM> [<C> <Arg>]]]]]]]]]]]]]]] #
# #
# #
# Author of '$xigP/Divers.12$Z' : #
# #
# Jean-Francois COLONNA (LACTAMME, 20230522101645). #
# #
#######################################################################################################################################
set FichiersXYZ=$1
set Message=$2
set TailleMessage=$3
set MinX=$4
set MaxX=$5
set MinY=$6
set MaxY=$7
set MinZ=$8
set MaxZ=$9
set Format=$10
set Bibliotheque=$11
set DistanceMini=$12
set Cubique=$13
set Arguments="$14"
# Il est imperatif que la definition de '$Arguments' soit entre deux '$K_QD' si l'on veut #
# pouvoir recuperer correctement des arguments tel : #
# #
# "LISTE_dX=1 LISTE_dY=1 LISTE_dZ=1" #
# #
# par exemple... #
#20230523110507____:setArgum Message "A" #
setArgum Message "F"
setArgum TailleMessage 20
setArgum MinX 0
setArgum MaxX 1
setArgum MinY 0
setArgum MaxY 1
setArgum MinZ 0
setArgum MaxZ 1
setArgum Format Std
setArgum Bibliotheque 5
setArgum DistanceMini `GetParam $xrv/particule.10$X distance_minimale`
setArgum Cubique FAUX
setArgum Arguments "$K_VIDE"
eval "$Format"
set NiVeAu_MeSsAGe=$BLANC
FilSTmpB FStRuCtUrE
$xci/message$X \
A=$NOIR \
taille=$TailleMessage \
SKH=FAUX \
message="$Message" \
niveau_message=$NiVeAu_MeSsAGe \
niveau_fond=$NOIR \
lisere=FAUX \
bibliotheque=$Bibliotheque \
editer_vecteur_3D=VRAI \
Prme=VRAI \
R=$FStRuCtUrE.image1 \
$formatI \
> $FStRuCtUrE.all
if ($NEXIST) then
$xci/display$X \
A=$FStRuCtUrE.image1 \
$formatI &
$xci/Sx$X \
A=$FStRuCtUrE.image1 \
$formatI | \
$xci/display$X \
xc=1 yc=0 \
$formatI &
$xci/Sy$X \
A=$FStRuCtUrE.image1 \
$formatI | \
$xci/display$X \
xc=0 yc=1 \
$formatI &
else
endif
$CA $FStRuCtUrE.all | \
$GRE -v '^ *$' | \
$R "{}" " " | \
$AW ' { print $3 "\n" $6 } ' | \
$R "," " " | \
$SE -e "s/X=//" -e "s/Y=//" -e "s/Z=//" \
>> $FStRuCtUrE
if ("$FichiersXYZ" == "$K_VIDE") then
set PaSsEs=10
else
set PaSsEs=0
endif
if ($EXIST) then
# Test introduit le 20230523095546... #
set COORD_X_PeRmUtEe=$COORD_Z
set COORD_Y_PeRmUtEe=$COORD_Y
set COORD_Z_PeRmUtEe=$COORD_X
# Et ce afin d'etre compatible avec 'v $xci/valeurs_TransformationPeano3D$K 20220428110814'. #
else
set COORD_X_PeRmUtEe=$COORD_X
set COORD_Y_PeRmUtEe=$COORD_Y
set COORD_Z_PeRmUtEe=$COORD_Z
endif
$CA $FStRuCtUrE | \
$AW ' { print $1 } ' | \
$xrv/normalise.01$X \
ne=0 fichier== \
minimum=$MinX maximum=$MaxX | \
$xrv/lissage.01$X \
ne=0 fichier== \
passes=$PaSsEs \
> $FStRuCtUrE.9$COORD_X_PeRmUtEe
$CA $FStRuCtUrE | \
$AW ' { print $2 } ' | \
$xrv/normalise.01$X \
ne=0 fichier== \
minimum=$MinY maximum=$MaxY | \
$xrv/lissage.01$X \
ne=0 fichier== \
passes=$PaSsEs \
> $FStRuCtUrE.9$COORD_Y_PeRmUtEe
$CA $FStRuCtUrE | \
$AW ' { print $3 } ' | \
$xrv/normalise.01$X \
ne=0 fichier== \
minimum=$MinZ maximum=$MaxZ | \
$xrv/lissage.01$X \
ne=0 fichier== \
passes=$PaSsEs \
> $FStRuCtUrE.9$COORD_Z_PeRmUtEe
set ChIfFrEs=4
$CA $FStRuCtUrE.9$COORD_X | \
$xrv/neutre$X \
ne=0 fichier== \
ChiffresFlot=$ChIfFrEs \
> $FStRuCtUrE.8$COORD_X
$CA $FStRuCtUrE.9$COORD_Y | \
$xrv/neutre$X \
ne=0 fichier== \
ChiffresFlot=$ChIfFrEs \
> $FStRuCtUrE.8$COORD_Y
$CA $FStRuCtUrE.9$COORD_Z | \
$xrv/neutre$X \
ne=0 fichier== \
ChiffresFlot=$ChIfFrEs \
> $FStRuCtUrE.8$COORD_Z
set NpartX=`$CA $FStRuCtUrE.8$COORD_X | $WCl`
set NpartY=`$CA $FStRuCtUrE.8$COORD_Y | $WCl`
set NpartZ=`$CA $FStRuCtUrE.8$COORD_Z | $WCl`
set Npart=`$xcg/MIN3.01$X x=$NpartX y=$NpartY z=$NpartZ`
$xrv/particule.10$X \
np=1 iterations=$Npart \
LISTE_X=$FStRuCtUrE.8$COORD_X \
LISTE_Y=$FStRuCtUrE.8$COORD_Y \
LISTE_Z=$FStRuCtUrE.8$COORD_Z \
isoles=FAUX chainer=FAUX \
ajuster_points=VRAI \
equidistance=VRAI compatibilite_20051230=FAUX \
distance_minimale=$DistanceMini \
cubique=$Cubique \
RVB=VRAI \
N_AU_CARRE=VRAI \
editer_extrema_hors=FAUX \
lister_les_points=VRAI lister_les_points_apres=VRAI \
chiffres=0 \
R=$FStRuCtUrE.image2 \
$Arguments \
$formatI \
> $FStRuCtUrE.7
if ("$FichiersXYZ" == "$K_VIDE") then
$CA $FStRuCtUrE.7 | \
$AW ' { print $3 } ' | \
$SE -e "s/^.*=//" | \
$xrv/selection.11$X \
ne=0 fichier== \
nombre=$COULEURS | \
$xrv/normalise.01$X \
ne=0 fichier== \
minimum=$NOIR maximum=$BLANC \
formater=VRAI entier=VRAI signe="$K_VIDE" \
> $FStRuCtUrE$COORD_X
$CA $FStRuCtUrE.7 | \
$AW ' { print $4 } ' | \
$SE -e "s/^.*=//" | \
$xrv/selection.11$X \
ne=0 fichier== \
nombre=$COULEURS | \
$xrv/normalise.01$X \
ne=0 fichier== \
minimum=$NOIR maximum=$BLANC \
formater=VRAI entier=VRAI signe="$K_VIDE" \
> $FStRuCtUrE$COORD_Y
$CA $FStRuCtUrE.7 | \
$AW ' { print $5 } ' | \
$SE -e "s/^.*=//" | \
$xrv/selection.11$X \
ne=0 fichier== \
nombre=$COULEURS | \
$xrv/normalise.01$X \
ne=0 fichier== \
minimum=$NOIR maximum=$BLANC \
formater=VRAI entier=VRAI signe="$K_VIDE" \
> $FStRuCtUrE$COORD_Z
set VaLide_X=`$CA $FStRuCtUrE$COORD_X | $WCl`
set VaLide_Y=`$CA $FStRuCtUrE$COORD_Y | $WCl`
set VaLide_Z=`$CA $FStRuCtUrE$COORD_Z | $WCl`
if (($VaLide_X == $COULEURS) && ($VaLide_Y == $COULEURS) && ($VaLide_Z == $COULEURS)) then
set numeros = (`$xci/valeurs_inte$X p=$NOIR d=$BLANC vD=$NOIR_PLANCHER vA=$COULEURS cubique=FAUX entiers=VRAI signe="$K_VIDE"`)
set niveaux = (`$xci/valeurs_inte$X p=$NOIR d=$BLANC vD=$NOIR vA=$BLANC cubique=FAUX entiers=VRAI signe="$K_VIDE"`)
set fonction = (`repeat $COULEURS echo "N "`)
set rouge = (`$CA $FStRuCtUrE$COORD_X`)
set verte = (`$CA $FStRuCtUrE$COORD_Y`)
set bleue = (`$CA $FStRuCtUrE$COORD_Z`)
source $xigP/.INTERPOLE$Y
else
EROR "Il n'a pas ete possible de generer '$COULEURS' niveaux."
endif
else
$DELETE $FichiersXYZ$COORD_X
$DELETE $FichiersXYZ$COORD_Y
$DELETE $FichiersXYZ$COORD_Z
$CA $FStRuCtUrE.7 | \
$AW ' { print $3 } ' | \
$SE -e "s/^.*=//" | \
$xrv/normalise.01$X \
ne=0 fichier== \
minimum=$MinX maximum=$MaxX \
> $FichiersXYZ$COORD_X
$CA $FStRuCtUrE.7 | \
$AW ' { print $4 } ' | \
$SE -e "s/^.*=//" | \
$xrv/normalise.01$X \
ne=0 fichier== \
minimum=$MinY maximum=$MaxY \
> $FichiersXYZ$COORD_Y
$CA $FStRuCtUrE.7 | \
$AW ' { print $5 } ' | \
$SE -e "s/^.*=//" | \
$xrv/normalise.01$X \
ne=0 fichier== \
minimum=$MinZ maximum=$MaxZ \
> $FichiersXYZ$COORD_Z
$DELETE $FichiersXYZ.extremites$COORD_X
$DELETE $FichiersXYZ.extremites$COORD_Y
$DELETE $FichiersXYZ.extremites$COORD_Z
$CA $FStRuCtUrE.8$COORD_X \
> $FichiersXYZ.extremites$COORD_X
$CA $FStRuCtUrE.8$COORD_Y \
> $FichiersXYZ.extremites$COORD_Y
$CA $FStRuCtUrE.8$COORD_Z \
> $FichiersXYZ.extremites$COORD_Z
# La memorisation des extremites des segments a ete introduite le 20230526132633 pour #
# 'v $xiirv/$Fnota Debut_listG_PEAN_Q2_G_1'... #
endif
FilSTmpE FStRuCtUrE