C MANUC6 SOURCE CHAT 06/08/24 21:52:09 5529 SUBROUTINE MANUC6(IPMODL,MLMOT1,MLMOT2,MLMOT3,MLMOTS,MLREE1, . MLENT2,LETYP,JER1,ISUP,ICARA,itart) *----------------------------------------------------------------------- * CREATION D'UN CHAMELEM A PARTIR D'UN MMODEL * LES COMPOSANTES POUVANT ETRE REPRESENTEES PAR DES REELS * OU DES OBJETS DE TYPE AUTRE ( EX :'EVOLUTION' OU 'CHAMELEM' OU * 'POINT ' ETC . ) *----------------------------------------------------------------------- IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC CCOPTIO -INC SMLMOTS -INC SMLREEL -INC SMLENTI CHARACTER*(*) LETYP * * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN) * ----------- * * MLMOT1 (E) | * MLMOT2 (E) | POINTEURS SUR DES LISTMOTS * MLMOT3 (E) | * MLMOTS (E) | * MLREE1 (E) POINTEUR SUR UN LISTREEL * MLENT2 (E) | POINTEURS SUR DES LISTENTI * LETYP (E) TYPE DU CHAMELEM A CREER * IPMODL (E) POINTEUR D'OBJET MODELE * ISUP (E) NUMERO DE SUPPORT DEMANDE * JER1 (E) LONGUEUR DE LA CHAINE DE CARACTERES LETYP * ICARA (S) POINTEUR SUR LE CHAMELEM * * VARIABLES: * ---------- * * * AUTEUR, DATE DE CREATION: * ------------------------- * * P DOWLATYARI JANVIER 92 * (ADAPTATION DE MANUC4) * LANGAGE: * -------- * * ESOPE + FORTRAN77 * ************************************************************************ * ICARA=0 ICAR1=0 ICAR2=0 SEGACT,MLMOT1 SEGACT,MLMOT2 * * TRAITEMENT PARTICULIER DES COMPOSANTES REPRESENTEES PAR DES * REELS * IF (MLMOT1.MOTS(/2).GT.0) THEN CALL MANUC7(IPMODL,MLMOT1,MLREE1,'REAL*8 ',MLMOT3,MLMOTS, . LETYP,JER1,ISUP,ICAR1,itart) * IF (IERR.NE.0)THEN SEGDES,MLMOT1 SEGDES,MLMOT2 RETURN ENDIF ENDIF * * TRAITEMENT DES COMPOSANTES REPRESENTEES PAR DES * OBJETS D'UN AUTRE TYPE ( A PRIORI QUELQUONQUE ) * IF (MLMOT2.MOTS(/2).GT.0) THEN CALL MANUC7(IPMODL,MLMOT2,MLENT2,'POINTEUR',MLMOT3,MLMOTS, . LETYP,JER1,ISUP,ICAR2,itart) IF (IERR.NE.0) THEN SEGDES,MLMOT1 SEGDES,MLMOT2 RETURN ENDIF ENDIF * SEGDES,MLMOT1 SEGDES,MLMOT2 * IF (ICAR1.EQ.0.AND.ICAR2.EQ.0) THEN CALL ERREUR(215) ICARA=0 RETURN ENDIF * * REUNION DES CHAMELEM * IF(ICAR1.NE.0.AND.ICAR2.NE.0) THEN CALL FUSCHL(ICAR1,ICAR2,ICARA) ELSE ICARA=MAX(ICAR1,ICAR2) ENDIF RETURN END