Download trciso.eso

Back to the list

   1 : C TRCISO    SOURCE    GOUNAND   13/10/21    21:15:36     7822           
   2 : CX  LABEL DES ISOVALEURS DANS LE CAS LIGNE
   3 : C   ON LE MET A L'INTERSECTION AVEC LE CONTOUR
   4 : C   ESPERONS QU'IL Y EN A UN
   5 : C     
   6 :       SUBROUTINE TRCISO(IPT1,VCPCHA,ICPR,XPROJ,NISO,VCHC,IVU)
   7 :       IMPLICIT INTEGER(I-N)
   8 :       SEGMENT ICPR(0)
   9 :       SEGMENT VCPCHA(XCOOR(/1)/(IDIM+1))
  10 :       SEGMENT XPROJ(3,ICPR(/1))
  11 :       SEGMENT IVU(ICPR(/1))
  12 :       CHARACTER*64 CHAIN
  13 :       REAL VCHC
  14 :       DIMENSION VCHC(*)
  15 : -INC CCOPTIO
  16 : -INC SMELEME
  17 : -INC SMCOORD
  18 : -INC CCTRACE
  19 :       DATA CHAIN /'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0
  20 :      >123456789&@'/
  20 :       CALL PRCOAP(IPT1,MELEME,ICPR,IVU,IRETOU)
  21 :       IF (IRETOU.EQ.0) RETURN
  22 :       IF (IERR.NE.0) RETURN
  23 : *  OK ON TIENT LE CONTOUR
  24 :       SEGACT MELEME
  25 :       DO 10 IEL=1,NUM(/2)
  26 :          DO 15 ISEG=1,NUM(/1)-1
  27 :             IPA=NUM(ISEG,IEL)
  28 :             IPB=NUM(ISEG+1,IEL)
  29 :             IPA=ICPR(IPA)
  30 :             IPB=ICPR(IPB)
  31 :             IF (IPA.EQ.0.OR.IPB.EQ.0) GOTO 15
  32 :             IF (IVU(IPA).LE.0.OR.IVU(IPB).LE.0) GOTO 15
  33 :             VA=VCPCHA(NUM(ISEG,IEL))
  34 :             VB=VCPCHA(NUM(ISEG+1,IEL))
  35 :             DO 20 ISO=1,NISO
  36 :                VCH=VCHC(ISO)
  37 :                IF (VA.LT.VCH.AND.VB.LT.VCH) GOTO 20
  38 :                IF (VA.GT.VCH.AND.VB.GT.VCH) GOTO 20
  39 :                DIFF=VB-VA
  40 :                IF (DIFF.EQ.0.) DIFF=1.
  41 :                XPAR=(VCH-VA)/DIFF
  42 :                XTR=XPROJ(1,IPA)+XPAR*(XPROJ(1,IPB)-XPROJ(1,IPA))
  43 :                YTR=XPROJ(2,IPA)+XPAR*(XPROJ(2,IPB)-XPROJ(2,IPA))
  44 :                if (niso.lt.13) then
  44 : *sg                     CALL CHCOUL(ICOTAB(ISO*(2-NISO/8)))
  44 :                   CALL CHCOUL(ICOTAB(ISOTA0(ISO,NISO)))
  45 :                else
  45 : *sg                  CALL CHCOUL(ISO)
  45 :                   CALL CHCOUL(ICOTAB(MOD(ISO,12)+1))
  46 :                endif
  46 :                CALL TRLABL(XTR,YTR,0.,CHAIN(ISO:ISO),1,0.15)
  47 :  20         CONTINUE
  48 :  15      CONTINUE
  49 :  10   CONTINUE
  50 :       SEGSUP MELEME
  51 :       RETURN
  52 :       END
  53 : 
  54 : 
  55 : 
  56 : 
  57 : 
  58 : 
  59 :  

© Cast3M 2003 - All rights reserved.
Disclaimer