#!/bin/csh

#######################################################################################################################################
#                                                                                                                                     #
#         C O N S T R U C T I O N   D ' U N E   V A R I E T E   T R I D I M E N S I O N N E L L E   A   P A R T I R                   #
#         D E   S E S   T R O I S   P S E U D O - P R O J E C T I O N S   F L O T T A N T E S  :                                      #
#                                                                                                                                     #
#                                                                                                                                     #
#         Utilisation :                                                                                                               #
#                                                                                                                                     #
#              $xrs/project3D.02$Z <Proj> <ImR> [<Args> [<CR1> [<CR2> [<CR3> [<Zoo> [<Rx> [<Ry> [<Rz> [<Mode3D> [<DivPw>]]]]]]]]]]    #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xrs/project3D.02$Z' :                                                                                           #
#                                                                                                                                     #
#                     Jean-Francois Colonna (LACTAMME, 20090722104845).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

set       Projection=$1
                                        # Les pseudo-projections auront pu etre generees par 'v $xrs/project2D.01$Z' par exemple...   #
set       ImageR=$2
set       Arguments=($3)
                                        # Ce parametre permet d'introduire une liste quelconque de parametres de la commande          #
                                        # '$xrs/project2D.11$X' (a condition de la "quoter") et par exemple :                         #
                                        #                                                                                             #
                                        #                   "dpu=10 dpv=10 N_AU_CARRE=FAUX"                                           #
                                        #                                                                                             #
                                        # qui permet d'accelerer le calcul...                                                         #
set       ComposR1=$4
set       ComposR2=$5
set       ComposR3=$6
set       Zoom=$7
set       RotationX=$8
set       RotationY=$9
set       RotationZ=$10
set       Mode3D=$11
                                        # Parametre introduit le 20090727094505...                                                    #
set       DivPw=$12
                                        # Parametre introduit le 20090727100121...                                                    #

setArgum  ComposR1                      $COORD_X

setArgum  ComposR2                      $COORD_Y

setArgum  ComposR3                      $COORD_Z

setArgum  Zoom                          0.8

setArgum  RotationX                     0

setArgum  RotationY                     0

setArgum  RotationZ                     0

setArgum  Mode3D                        FAUX

setArgum  DivPw                         1

if        ($Mode3D == FAUX) then
          set       DivPw=1
                                        # Forcage introduit le 20090727101749...                                                      #
else
endif

set                 Zmin=0
set                 Zmax1=`ls $Projection.*$ComposR1 | $WCl | $AW ' { print $1 } '`
set                 Zmax2=`ls $Projection.*$ComposR2 | $WCl | $AW ' { print $1 } '`
set                 Zmax3=`ls $Projection.*$ComposR3 | $WCl | $AW ' { print $1 } '`
set                 Zmax=`$xcg/MIN3.01$X x=$Zmax1 y=$Zmax2 z=$Zmax3 entier=VRAI`
set                 Zmax=`calcul $Zmax-1+$Zmin`
set                 Pw=`calcul (1/($Zmax-$Zmin))/$DivPw`

set                 Parametres="$K_VIDE"

set                 Parametres="$Parametres"" Zmin=$Zmin Zmax=$Zmax ValiderAxes=FAUX"

set                 Parametres="$Parametres"" brume=FAUX"

set                 Parametres="$Parametres"" mu=0 Mu=1"
set                 Parametres="$Parametres"" mv=0 Mv=1"
set                 Parametres="$Parametres"" mw=0 Mw=1"
set                 Parametres="$Parametres"" pu=0.02 pv=0.02 pw=$Pw"
set                 Parametres="$Parametres"" eu=20   ev=20"
set                 Parametres="$Parametres"" dpu=40  dpv=40"
set                 Parametres="$Parametres"" Fx_periodiser_u=FAUX Fy_periodiser_u=FAUX Fz_periodiser_u=FAUX"
set                 Parametres="$Parametres"" Fx_symetriser_u=FAUX Fy_symetriser_u=FAUX Fz_symetriser_u=FAUX"
set                 Parametres="$Parametres"" Fx_prolonger_u=VRAI  Fy_prolonger_u=VRAI  Fz_prolonger_u=VRAI"
set                 Parametres="$Parametres"" Fx_periodiser_v=FAUX Fy_periodiser_v=FAUX Fz_periodiser_v=FAUX"
set                 Parametres="$Parametres"" Fx_symetriser_v=FAUX Fy_symetriser_v=FAUX Fz_symetriser_v=FAUX"
set                 Parametres="$Parametres"" Fx_prolonger_v=VRAI  Fy_prolonger_v=VRAI  Fz_prolonger_v=VRAI"
set                 Parametres="$Parametres"" interpoler2D=VRAI bilineaire2D=VRAI"
set                 Parametres="$Parametres"" ddu=0.01 ddv=0.01 ddw=0.01"

set                 Parametres="$Parametres"" ZOOM=$Zoom"
set                 Parametres="$Parametres"" ROTATION_OX=$RotationX"
set                 Parametres="$Parametres"" ROTATION_OY=$RotationY"
set                 Parametres="$Parametres"" ROTATION_OZ=$RotationZ"
set                 Parametres="$Parametres"" Lz=100"
set                 Parametres="$Parametres"" rayon_de_visualisation=0.015"
set                 Parametres="$Parametres"" N_AU_CARRE=VRAI"
set                 Parametres="$Parametres"" edc=VRAI"

set                 Parametres="$Parametres"" $Arguments"

set                 NombreImagesX=1
set                 NombreImagesY=1
set                 NombreImagesZ=1
                                        # A priori, une seule image va etre generee...                                                #

if                  ($RotationX != 0) then
                    if                  (-e $RotationX) then
                                        set                 NombreImagesX=`$CA $RotationX | $WCl | $AW ' { print $1 } '`
                    else
                    endif
else
endif

if                  ($RotationY != 0) then
                    if                  (-e $RotationY) then
                                        set                 NombreImagesY=`$CA $RotationY | $WCl | $AW ' { print $1 } '`
                    else
                    endif
else
endif

if                  ($RotationZ != 0) then
                    if                  (-e $RotationZ) then
                                        set                 NombreImagesZ=`$CA $RotationZ | $WCl | $AW ' { print $1 } '`
                    else
                    endif
else
endif

set                 NombreImages=`$xcg/MAX3.01$X x=$NombreImagesX y=$NombreImagesY z=$NombreImagesZ entier=VRAI signe="$K_VIDE"`

if                  ($NombreImages == 1) then
                    set                 NombreChiffres=0
else
                    set                 NombreChiffres=`GetParam $xrs/project2D.11$X chiffres`
endif

set                 Premiere1=`ls $Projection.*$ComposR1 | $HEA -1 | $SE -e "s+^$Projection\.++" -e "s/\""$ComposR1"'$//'`
set                 Premiere2=`ls $Projection.*$ComposR2 | $HEA -1 | $SE -e "s+^$Projection\.++" -e "s/\""$ComposR2"'$//'`
set                 Premiere3=`ls $Projection.*$ComposR3 | $HEA -1 | $SE -e "s+^$Projection\.++" -e "s/\""$ComposR3"'$//'`

$xrs/project3D.11$X                                                                                                                     \
                    np=$NombreImages                                                                                                    \
                    Fx=$Projection. postfixeFx=$ComposR1 premiereFx=$Premiere1                                                          \
                    Fy=$Projection. postfixeFy=$ComposR2 premiereFy=$Premiere2                                                          \
                    Fz=$Projection. postfixeFz=$ComposR3 premiereFz=$Premiere3                                                          \
                    3D=$Mode3D                                                                                                          \
                    $Parametres                                                                                                         \
                    R=$ImageR                                                                                                           \
                    chiffres=$NombreChiffres                                                                                            \
                                                                                                    $formatI
                                        # Visualisation de la variete tridimensionnelle.                                              #



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