extr51
C EXTR51 SOURCE SP204843 24/08/26 21:15:03 11990 ********************************************************************** * * 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 -INC SMLREEL -INC SMLENTI -INC SMLMOTS -INC SMLOBJE 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 JG = IDIM SEGINI,MLREEL DO 100 I=1,IDIM 100 CONTINUE ELSE XVAL = NUAFLO(1) C SEGDES NUAVFL C SEGDES MNUAGE ENDIF RETURN ELSE IF (TYP1.EQ.'ENTIER') THEN NUAVIN = NUAPOI(IPOSI) SEGACT NUAVIN IDIM = NUAINT(/1) IF (IDIM.NE.1) THEN JG = IDIM SEGINI,MLENTI DO 200 I=1,IDIM LECT(I) = NUAINT(I) 200 CONTINUE ELSE IVAL = NUAINT(1) C SEGDES NUAVIN C SEGDES MNUAGE ENDIF 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" ------------- RETURN ENDIF LVAL = NUALOG(1) SEGDES NUAVLO SEGDES MNUAGE RETURN ELSE IF (TYP1.EQ.'MOT ') THEN NUAVMO = NUAPOI(IPOSI) SEGACT NUAVMO IDIM = NUAMOT(/2) IF (IDIM.NE.1) THEN JGN = NUAMOT(/1) JGM = IDIM SEGINI,MLMOTS DO 300 I=1,IDIM 300 CONTINUE ELSE MVAL = NUAMOT(1) C SEGDES NUAVMO C SEGDES MNUAGE ENDIF RETURN ELSE IPO2 = NUAPOI(IPOSI) NUAVIN = IPO2 SEGACT NUAVIN IDIM = NUAINT(/1) IF (IDIM.NE.1) THEN NOBJ = IDIM SEGINI,MLOBJE TYPOBJ = TYP1 DO 400 I=1,IDIM LISOBJ(I) = NUAINT(I) 400 CONTINUE ELSE IPO3 = NUAINT(1) C SEGDES NUAVIN C SEGDES MNUAGE ENDIF RETURN ENDIF END
© Cast3M 2003 - Tous droits réservés.
Mentions légales