1 : * @RELIEF PROCEDUR MAUGIS 04/10/08 21:16:42 4928 2 : *-------------------------------------------------------------------- 3 : 'DEBPROC' @RELIEF ; 4 : *-------------------------------------------------------------------- 5 : * 6 : * AFfiche de façon interactive la composante d'un champ-point 7 : * 8 : * Eventuellement, superpose les isovaleurs d'un autre champ 9 : * 10 : *-------------------------------------------------------------------- 11 : * 12 : * auteur : ENEA GIANNUZZI-MILIOZZI 13 : * modifié 6/10/04 par Pascal Maugis : 14 : * appel à la procédure MONTAGNE 15 : * option interactive seulement 16 : * supression option de discrétisation, position oeil et 17 : * amplification qui deviennent automatiques 18 : * 19 : *-------------------------------------------------------------------- 20 : * 21 : * Pb : si on donne un chamelem, le modèle ne doit pas être un modèle 22 : * DARCY ou NAVIER-STOCKS qui se réfère à des maillages QUAF 23 : * et non au maillage simple. 24 : * faire alors un modèle THERMIQUE, par ex. 25 : * 26 : *-------------------------------------------------------------------- 27 : 28 : * Sauvegarde de paramètres d'environnement 29 : savcoul = 'VALEUR' 'COULEUR' ; 30 : 31 : 'REPETER' BCLINTER ; 32 : 33 : * MESS ' >>> Voulez-vous la liste des objets ? (OUI/NON)' ; 34 : * 'SI' (@LIRERIS) ; 35 : * 'REPETER' LOP1 ; 36 : * MESS ' ----------------------------------------------- ' ; 37 : * MESS ' 0 - SORTIE ' ; 38 : * MESS ' 1 - MAILLAGE ' ; 39 : * MESS ' 2 - CHPOINT ' ; 40 : * MESS ' 3 - MCHAML ' ; 41 : * XX = @LIREENT 0 3 ; 42 : * 'SI' ('EGA' XX 1) ; 43 : * LIST *'MMODEL' ; 44 : * 'FINSI' ; 45 : * 'SI' ('EGA' XX 2) ; 46 : * LIST *'CHPOINT' ; 47 : * 'FINSI' ; 48 : * 'SI' ('EGA' XX 3) ; 49 : * LIST *'MCHAML' ; 50 : * 'FINSI' ; 51 : * 'SI' ('EGA' XX 0) ; 52 : * QUITTER LOP1 ; 53 : * 'FINSI' ; 54 : * 'FIN' LOP1 ; 55 : * 'FINSI' ; 56 : 57 : *- Détermination du 1er champ à tracer 58 : * =================================== 59 : 'REPETER' bcl1 ; 60 : * on itère jusqu'à obtenir un champ 61 : MESS ' >>> Nom de l objet de type CHPOINT-sommet ou ' 62 : 'MCHAML-sommets (relief)'; 63 : 'OBTENIR' MCPCH ; 64 : 65 : * suivant le type, on demande l'objet secondaire 66 : TCPCH = 'TYPE' MCPCH ; 67 : 'SI' ( 'EGA' 'MCHAML' TCPCH ) ; 68 : 'REPETER' bcl2 ; 69 : * on itère jusqu'à obtenir un modèle 70 : MESS ' >>> Nom de l objet MMODEL le sous-tendant' ; 71 : 'OBTENIR' MOD1 ; 72 : TMOD = 'TYPE' MOD1 ; 73 : 'SI' ('EGA' TMOD 'MMODEL') ; 74 : 'QUITTER' bcl2 ; 75 : 'SINON' ; 76 : MESS ' Cet objet de type ' TMOD ' n est pas un modèle' ; 77 : 'LISTE' *'MMODEL' ; 78 : 'FINSI' ; 79 : 'FIN' bcl2 ; 80 : CHPO1 = 'CHANGER' 'CHPO' MOD1 MCPCH ; 81 : MAIL1 = 'EXTR' MOD1 'MAIL' ; 82 : 'QUITTER' bcl1 ; 83 : 'SINON' ; 84 : 'SI' ( 'EGA' TCPCH 'CHPOINT' ) ; 85 : CHPO1 = MCPCH ; 86 : 'REPETER' bcl2 ; 87 : * on itère jusqu'à obtenir un maillage 88 : MESS ' >>> Nom de l objet de type MAILLAGE de ' 89 : 'connectivite'; 90 : 'OBTENIR' MAIL1 ; 91 : TMAIL = 'TYPE' MAIL1 ; 92 : 'SI' ('EGA' TMAIL 'MAILLAGE') ; 93 : 'QUITTER' bcl2 ; 94 : 'SINON' ; 95 : MESS ' Cet objet de type ' TMAIL ' n est pas un ' 96 : 'maillage' ; 97 : 'LISTE' *MAILLAGE ; 98 : 'FINSI' ; 99 : 'FIN' bcl2 ; 100 : 'QUITTER' bcl1 ; 101 : 'SINON' ; 102 : MESS ' Cet objet de type ' TCPCH ' n est pas connu' ; 103 : 'LISTE' *'CHPOINT' ; 104 : 'LISTE' *'MCHAML' ; 105 : 'FINSI' ; 106 : 'FINSI' ; 107 : 'FIN' bcl1 ; 108 : 109 : * choix de la composante d'intérêt 110 : LCOMP = 'EXTR' CHPO1 'COMP' ; 111 : NCOMP = 'DIME' LCOMP ; 112 : 'SI' ('EGA' NCOMP 1) ; 113 : NCHP1 = 1 ; 114 : 'SINON' ; 115 : MESS ' >>> Donnez le numéro de la composante :' ; 116 : 'REPETER' LL11 ( 'DIME' LCOMP ) ; 117 : N = &LL11 ; 118 : MESS ' ' N ' - ' ( 'EXTR' LCOMP N ) ; 119 : 'FIN' LL11 ; 120 : 'REPETER' bcl2 ; 121 : * on itère jusqu'à obtenir une bonne valeur 122 : 'OBTENIR' NCHP1*'ENTIER' ; 123 : 'SI' ((NCHP1 < 1) 'OU' (NCHP1 > NCOMP)) ; 124 : MESS ' Donnez une valeur entre 1 et ' NCOMP ; 125 : 'SINON' ; 126 : 'QUITTER' bcl2 ; 127 : 'FINSI' ; 128 : 'FIN' bcl2 ; 129 : 'FINSI' ; 130 : NCHP1 = 'EXTR' LCOMP NCHP1 ; 131 : CHPO1B = 'EXCO' CHPO1 NCHP1 'SCAL' ; 132 : 133 : *- Détermination du 2e champ à tracer 134 : * ================================== 135 : MESS ' >>> Faut-il y superposer un deuxieme champ ? (OUI/NON) ' ; 136 : LSUPER = @LIRERIS ; 137 : 138 : 'SI' LSUPER ; 139 : 'REPETER' bcl1 ; 140 : * on itère jusqu'à obtenir un champ 141 : MESS ' >>> Nom de l objet de type CHPOINT ou MCHAML' 142 : ' (isovaleurs - même support géométrique)'; 143 : 'OBTENIR' MCPCH2 ; 144 : 145 : * suivant le type, on convertit 146 : TCPCH = 'TYPE' MCPCH2 ; 147 : 'SI' ('EGA' TCPCH 'MCHAML') ; 148 : * et on en fait un champ-point 149 : CHPO2 = 'CHANGER' 'CHPO' MCPCH2 MOD1 ; 150 : 'QUITTER' bcl1 ; 151 : 'SINON' ; 152 : 'SI' ('EGA' TCPCH 'CHPOINT') ; 153 : CHPO2 = MCPCH2 ; 154 : 'QUITTER' bcl1 ; 155 : 'SINON' ; 156 : MESS ' Cet objet de type ' TCPCH 'n est pas connu' ; 157 : 'LISTE' *'CHPOINT' ; 158 : 'LISTE' *'MCHAML' ; 159 : 'FINSI' ; 160 : 'FINSI' ; 161 : 'FIN' bcl1 ; 162 : 163 : * choix de la composante d'intérêt 164 : LCOMP = 'EXTR' CHPO2 'COMP' ; 165 : NCOMP = 'DIME' LCOMP ; 166 : 'SI' ('EGA' NCOMP 1) ; 167 : NCHP2 = 1 ; 168 : 'SINON' ; 169 : MESS ' >>> Donnez le numéro de la composante :' ; 170 : 'REPETER' LL12 NCOMP ; 171 : N = &LL12 ; 172 : MESS ' ' N ' - ' ( 'EXTR' LCOMP N ) ; 173 : FIN LL12 ; 174 : 'REPETER' bcl2 ; 175 : * on itère jusqu'à obtenir une bonne valeur 176 : 'OBTENIR' NCHP2*'ENTIER' ; 177 : 'SI' ((NCHP2 < 1) 'OU' (NCHP2 > NCOMP)) ; 178 : MESS ' Donnez une valeur entre 1 et ' NCOMP ; 179 : 'SINON' ; 180 : 'QUITTER' bcl2 ; 181 : 'FINSI' ; 182 : 'FIN' bcl2 ; 183 : 'FINSI' ; 184 : NCHP2 = 'EXTR' LCOMP NCHP2 ; 185 : CHPO2B = 'EXCO' CHPO2 NCHP2 'SCAL' ; 186 : 'FINSI' ; 187 : 188 : * Affichage des extrema 189 : * ===================== 190 : VMIN1 = 'MINIMUM' CHPO1B ; 191 : VMAX1 = 'MAXIMUM' CHPO1B ; 192 : MESS ' ' ; 193 : MESS ' ************************************** ' ; 194 : MESS ' CHAMP 1 (RELIEF) : MINI:' VMIN1 'MAXI:' VMAX1 ; 195 : 'SI' LSUPER ; 196 : VMIN2 = 'MINIMUM' CHPO2B ; 197 : VMAX2 = 'MAXIMUM' CHPO2B ; 198 : MESS ' ' ; 199 : MESS ' CHAMP 2 (ISOVALEURS) : MINI:' VMIN1 'MAXI:' VMAX1 ; 200 : 'FINSI' ; 201 : MESS ' ************************************** ' ; 202 : MESS ' ' ; 203 : 204 : * Tracé 205 : * ===== 206 : 'SI' ('NON' LSUPER) ; 207 : MONTAGNE CHPO1B MAIL1 'CACHE' ; 208 : 'SINON' ; 209 : MONTAGNE CHPO1B CHPO2B MAIL1 'CACHE' ; 210 : 'FINSI' ; 211 : 212 : * Sortie 213 : MESS ' >>> VOULEZ VOUS SORTIR ? (OUI/NON) ' ; 214 : 'SI' (@LIRERIS) ; 215 : 'QUITTER' @RELIEF ; 216 : 'FINSI' ; 217 : 'FIN' BCLINTER ; 218 : 219 : * restitution des paramètres d'environnement 220 : 'OPTION' 'COULEUR' savcoul ; 221 : 222 : 'FINPROC' ; 223 :
© Cast3M 2003 - All rights reserved.
Disclaimer