* @RELIEF PROCEDUR MAUGIS 04/10/08 21:16:42 4928 *-------------------------------------------------------------------- *-------------------------------------------------------------------- * * AFfiche de façon interactive la composante d'un champ-point * * Eventuellement, superpose les isovaleurs d'un autre champ * *-------------------------------------------------------------------- * * auteur : ENEA GIANNUZZI-MILIOZZI * modifié 6/10/04 par Pascal Maugis : * appel à la procédure MONTAGNE * option interactive seulement * supression option de discrétisation, position oeil et * amplification qui deviennent automatiques * *-------------------------------------------------------------------- * * Pb : si on donne un chamelem, le modèle ne doit pas être un modèle * DARCY ou NAVIER-STOCKS qui se réfère à des maillages QUAF * et non au maillage simple. * faire alors un modèle THERMIQUE, par ex. * *-------------------------------------------------------------------- * Sauvegarde de paramètres d'environnement savcoul = 'VALEUR' 'COULEUR' ; 'REPETER' BCLINTER ; * MESS ' >>> Voulez-vous la liste des objets ? (OUI/NON)' ; * 'SI' (@LIRERIS) ; * 'REPETER' LOP1 ; * MESS ' ----------------------------------------------- ' ; * MESS ' 0 - SORTIE ' ; * MESS ' 1 - MAILLAGE ' ; * MESS ' 2 - CHPOINT ' ; * MESS ' 3 - MCHAML ' ; * XX = @LIREENT 0 3 ; * 'SI' ('EGA' XX 1) ; * LIST *'MMODEL' ; * 'FINSI' ; * 'SI' ('EGA' XX 2) ; * LIST *'CHPOINT' ; * 'FINSI' ; * 'SI' ('EGA' XX 3) ; * LIST *'MCHAML' ; * 'FINSI' ; * 'SI' ('EGA' XX 0) ; * QUITTER LOP1 ; * 'FINSI' ; * 'FIN' LOP1 ; * 'FINSI' ; *- Détermination du 1er champ à tracer * =================================== 'REPETER' bcl1 ; * on itère jusqu'à obtenir un champ 'MCHAML-sommets (relief)'; 'OBTENIR' MCPCH ; * suivant le type, on demande l'objet secondaire 'SI' ( 'EGA' 'MCHAML' TCPCH ) ; 'REPETER' bcl2 ; * on itère jusqu'à obtenir un modèle 'OBTENIR' MOD1 ; 'SI' ('EGA' TMOD 'MMODEL') ; 'QUITTER' bcl2 ; 'SINON' ; 'LISTE' *'MMODEL' ; 'FINSI' ; 'FIN' bcl2 ; 'QUITTER' bcl1 ; 'SINON' ; 'SI' ( 'EGA' TCPCH 'CHPOINT' ) ; CHPO1 = MCPCH ; 'REPETER' bcl2 ; * on itère jusqu'à obtenir un maillage 'connectivite'; 'OBTENIR' MAIL1 ; 'SI' ('EGA' TMAIL 'MAILLAGE') ; 'QUITTER' bcl2 ; 'SINON' ; 'maillage' ; 'LISTE' *MAILLAGE ; 'FINSI' ; 'FIN' bcl2 ; 'QUITTER' bcl1 ; 'SINON' ; 'LISTE' *'CHPOINT' ; 'LISTE' *'MCHAML' ; 'FINSI' ; 'FINSI' ; 'FIN' bcl1 ; * choix de la composante d'intérêt 'SI' ('EGA' NCOMP 1) ; NCHP1 = 1 ; 'SINON' ; N = &LL11 ; 'FIN' LL11 ; 'REPETER' bcl2 ; * on itère jusqu'à obtenir une bonne valeur 'OBTENIR' NCHP1*'ENTIER' ; 'SI' ((NCHP1 < 1) 'OU' (NCHP1 > NCOMP)) ; 'SINON' ; 'QUITTER' bcl2 ; 'FINSI' ; 'FIN' bcl2 ; 'FINSI' ; *- Détermination du 2e champ à tracer * ================================== 'SI' LSUPER ; 'REPETER' bcl1 ; * on itère jusqu'à obtenir un champ ' (isovaleurs - même support géométrique)'; 'OBTENIR' MCPCH2 ; * suivant le type, on convertit 'SI' ('EGA' TCPCH 'MCHAML') ; * et on en fait un champ-point 'QUITTER' bcl1 ; 'SINON' ; 'SI' ('EGA' TCPCH 'CHPOINT') ; CHPO2 = MCPCH2 ; 'QUITTER' bcl1 ; 'SINON' ; 'LISTE' *'CHPOINT' ; 'LISTE' *'MCHAML' ; 'FINSI' ; 'FINSI' ; 'FIN' bcl1 ; * choix de la composante d'intérêt 'SI' ('EGA' NCOMP 1) ; NCHP2 = 1 ; 'SINON' ; 'REPETER' LL12 NCOMP ; N = &LL12 ; FIN LL12 ; 'REPETER' bcl2 ; * on itère jusqu'à obtenir une bonne valeur 'OBTENIR' NCHP2*'ENTIER' ; 'SI' ((NCHP2 < 1) 'OU' (NCHP2 > NCOMP)) ; 'SINON' ; 'QUITTER' bcl2 ; 'FINSI' ; 'FIN' bcl2 ; 'FINSI' ; 'FINSI' ; * Affichage des extrema * ===================== VMIN1 = 'MINIMUM' CHPO1B ; VMAX1 = 'MAXIMUM' CHPO1B ; MESS ' ' ; 'SI' LSUPER ; VMIN2 = 'MINIMUM' CHPO2B ; VMAX2 = 'MAXIMUM' CHPO2B ; MESS ' ' ; 'FINSI' ; MESS ' ' ; * Tracé * ===== 'SI' ('NON' LSUPER) ; MONTAGNE CHPO1B MAIL1 'CACHE' ; 'SINON' ; MONTAGNE CHPO1B CHPO2B MAIL1 'CACHE' ; 'FINSI' ; * Sortie 'FINSI' ; 'FIN' BCLINTER ; * restitution des paramètres d'environnement 'OPTION' 'COULEUR' savcoul ; 'FINPROC' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales