SUBROUTINE SHADE(BXORIG,BYORIG,BXSIZE,BYSIZE,BWCOL, & IBASE,RATIO,MODE) parameter (nbot_max = 5000, nbm= nbot_max+20) C CHARACTER*3 XBTYPE, YBTYPE, BWCOL, MODE CHARACTER*80 TITLEX,TITLEY COMMON /BOTT/ XF(nbm), YF(nbm), NPBOTT, ISHADE, NPSH COMMON /SH/ PF(440), QF(440), UF(440), VF(440) COMMON /XAX/ X1,XL,XLEFT,XRIGHT,XSCALE,XINC,DX, & X1PL,XLPL,NX,X1GRID,XLGRID,DIVX,XVAL(100),NXVAL COMMON /YAX/ Y1,YL,YUP,YDOWN,YSCALE,YINC,DY, & Y1PL,YLPL,NY,Y1GRID,YLGRID,DIVY,YVAL(100),NYVAL COMMON /XAXC/ TITLEX, XBTYPE COMMON /YAXC/ TITLEY, YBTYPE IF(NPSH.LE.2) RETURN IF(NPSH+3.GT.220) STOP 'ERROR IN SUB SHADE' C IF(YBTYPE.EQ.'LOG') THEN DO 1000 I=1,NPSH QF(I)=10.0*ABS(ALOG(VF(I)/YDOWN)/ALOG(2.0))*YSCALE 1000 CONTINUE ELSE DO 1200 I=1,NPSH QF(I)=BYORIG+BYSIZE*((VF(I)-YDOWN)/(YUP-YDOWN)) 1200 CONTINUE END IF C IF(XBTYPE.EQ.'LOG') THEN DO 2000 I=1,NPSH PF(I)=10.0*ABS(ALOG(UF(I)/XLEFT)/ALOG(2.0))*XSCALE 2000 CONTINUE ELSE DO 2200 I=1,NPSH PF(I)=BXORIG+BXSIZE*((UF(I)-XLEFT)/(XRIGHT-XLEFT)) 2200 CONTINUE END IF C DO 3200 I=1,NPSH PF(I)=(PF(I)-BXORIG)*RATIO + BXORIG QF(I)=(QF(I)-BYORIG)*RATIO + BYORIG 3200 CONTINUE C IF(BWCOL.EQ.'COL') THEN if (ishade.gt.0) then CALL RFMODE( MODE ) CALL RSURF(PF,QF,NPSH,IBASE+ISHADE,1) end if END IF CALL GVECT(PF(1),QF(1),0) DO 4000 I=1,NPSH CALL GVECT(PF(I),QF(I),1) 4000 CONTINUE RETURN END