$$$$ TRADUIRE * TRADUIRE PROCEDUR NOBODY 92/01/01 00:00:00 001 ********************************************************************* * * La proc{dure TRADUIRE sert @ transformer : * un objet SOLUTION en un objet TABLE * ou, un objet TABLE en un objet SOLUTION. * ********************************************************************* 'DEBPROC' TRADUIRE OBJ_SOL/SOLUTION OBJ_TAB/TABLE ; * 'SI' ('EXISTE' OBJ_SOL) ; MOT_TYPE = 'TYPE' OBJ_SOL ; 'FINSI' ; 'SI' ('EXISTE' OBJ_TAB) ; MOT_TYPE = 'TYPE' OBJ_TAB ; 'FINSI' ; * *------------------------------------------------------ * 1 - Traduire un objet SOLUTION en un objet TABLE *------------------------------------------------------ 'SI' ('EGA' MOT_TYPE 'SOLUTION') ; NBMODE = 'DIMENSION' OBJ_SOL ; TTRAD= 'TABLE' 'BASE_DE_MODES' ; DEPG_1 = 'TIRE' OBJ_SOL 'DEPL' 'RANG' 1 ; MAILASS = 'EXTRAIRE' DEPG_1 MAIL ; TTRAD.'MAILLAGE' = MAILASS ; I = 0 ; 'REPETER' BOUC_TAB NBMODE ; I = I '+' 1 ; TMK = 'TABLE' 'MODE' ; TTRAD.I = TMK ; * FREQ_I = 'TIRE' OBJ_SOL 'FREQ' 'RANG' I ; MGEN_I = 'TIRE' OBJ_SOL 'MGEN' 'RANG' I ; POIN_I = 'TIRE' OBJ_SOL 'POIN' 'RANG' I ; DEPG_I = 'TIRE' OBJ_SOL 'DEPL' 'RANG' I ; QQX_I = 'TIRE' OBJ_SOL 'QX ' 'RANG' I ; QQY_I = 'TIRE' OBJ_SOL 'QY ' 'RANG' I ; QQZ_I = 'TIRE' OBJ_SOL 'QZ ' 'RANG' I ; * T_DEPLG = 'TABLE' 'DEPLACEMENTS_GENERALISES' ; T_DEPLG.1 = QQX_I ; T_DEPLG.2 = QQY_I ; T_DEPLG.3 = QQZ_I ; * TMK.'POINT_REPERE' = POIN_I ; TMK.'FREQUENCE' = FREQ_I; TMK.'MASSE_GENERALISEE' = MGEN_I ; TMK.'DEPLACEMENTS_GENERALISES' = T_DEPLG ; TMK.'DEFORMEE_MODALE' = DEPG_I ; 'FIN' BOUC_TAB ; 'FINSI' ; *----------------------------------------------------- * 2 - Traduire un objet TABLE en un objet SOLUTION *----------------------------------------------------- 'SI' ('EGA' MOT_TYPE 'TABLE ') ; 'MESSAGE' '**************************************************' ; 'MESSAGE' ' ' ; 'MESSAGE' ' ON NE TRAITE PAS L"OBJET TABLE.' ; 'MESSAGE' ' ' ; 'MESSAGE' '**************************************************' ; 'FINSI' ; 'FINPROC' TTRAD ;