C EXTR51 SOURCE CHAT 05/01/12 23:52:43 5004 SUBROUTINE EXTR51(IPO1,IPOSI) ********************************************************************** * * Extraction de l'objet contenu dans un NUAGE "colonne" * Correspondant a une composante donnee * * INTEGER (E) IPO1 pointeur sur l'objet NUAGE * INTEGER (E) IPOSI position informatique de la composante * souhaitee * ********************************************************************** IMPLICIT INTEGER(I-N) -INC SMNUAGE INTEGER IPO1,IPO2,IPO3,IPOSI,IDIM,IVAL CHARACTER*8 TYP1,MVAL LOGICAL LVAL REAL*8 XVAL MNUAGE = IPO1 SEGACT MNUAGE TYP1 = NUATYP(IPOSI) IF (TYP1.EQ.'FLOTTANT') THEN NUAVFL = NUAPOI(IPOSI) SEGACT NUAVFL IDIM = NUAFLO(/1) IF (IDIM.NE.1) THEN SEGDES NUAVFL SEGDES MNUAGE *------------- Le nuage n'est pas un nuage "colonne" ------------- CALL ERREUR(670) RETURN ENDIF XVAL = NUAFLO(1) SEGDES NUAVFL SEGDES MNUAGE CALL ECRREE(XVAL) RETURN ELSE IF (TYP1.EQ.'INTEGER ') THEN NUAVIN = NUAPOI(IPOSI) SEGACT NUAVIN IDIM = NUAINT(/1) IF (IDIM.NE.1) THEN SEGDES NUAVIN SEGDES MNUAGE *------------- Le nuage n'est pas un nuage "colonne" ------------- CALL ERREUR(670) RETURN ENDIF IVAL = NUAINT(1) SEGDES NUAVIN SEGDES MNUAGE CALL ECRENT(IVAL) RETURN ELSE IF (TYP1.EQ.'LOGIQUE ') THEN NUAVLO = NUAPOI(IPOSI) SEGACT NUAVLO IDIM = NUALOG(/1) IF (IDIM.NE.1) THEN SEGDES NUAVLO SEGDES MNUAGE *------------- Le nuage n'est pas un nuage "colonne" ------------- CALL ERREUR(670) RETURN ENDIF LVAL = NUALOG(1) SEGDES NUAVLO SEGDES MNUAGE CALL ECRLOG(LVAL) RETURN ELSE IF (TYP1.EQ.'MOT ') THEN NUAVMO = NUAPOI(IPOSI) SEGACT NUAVMO IDIM = NUAMOT(/2) IF (IDIM.NE.1) THEN SEGDES NUAVMO SEGDES MNUAGE *------------- Le nuage n'est pas un nuage "colonne" ------------- CALL ERREUR(670) RETURN ENDIF MVAL = NUAMOT(1) SEGDES NUAVMO SEGDES MNUAGE CALL ECRCHA(MVAL) RETURN ELSE IPO2 = NUAPOI(IPOSI) NUAVIN = IPO2 SEGACT NUAVIN IDIM = NUAINT(/1) IF (IDIM.NE.1) THEN SEGDES NUAVIN SEGDES MNUAGE *------------- Le nuage n'est pas un nuage "colonne" ------------- CALL ERREUR(670) RETURN ENDIF IPO3 = NUAINT(1) SEGDES NUAVIN SEGDES MNUAGE CALL ECROBJ(TYP1,IPO3) RETURN ENDIF END