00001
00002 c
00003 c Copyright (c) 1986,1987,1988,1989,1990,1991,1992,1993,
00004 c by Steve McMillan, Drexel University, Philadelphia, PA.
00005 c
00006 c All rights reserved.
00007 c
00008 c Redistribution and use in source and binary forms are permitted
00009 c provided that the above copyright notice and this paragraph are
00010 c duplicated in all such forms and that any documentation,
00011 c advertising materials, and other materials related to such
00012 c distribution and use acknowledge that the software was developed
00013 c by the author named above.
00014 c
00015 c THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
00016 c IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
00017 c WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00018 c
00019 subroutine xyzplot(input,istart,nin,x,y,z,n,jth,
00020 & jsym,plot_symbol,hp,*)
00021 save
00022 c
00023 c Plot y(x), clipped according to z. Place an ngon symbol
00024 c determined by jsym and plot_symbol at every |jth|-th point
00025 c (see mline).
00026 c
00027 character*(*) input
00028 dimension x(1),y(1),z(1)
00029 character*1 plot_symbol,sim
00030 c
00031 common /scales/ xl,xr,dinchx,ybot,ytop,dinchy,rlen,slen
00032 c
00033 call readrq(input(istart:nin),2,
00034 & z1,z2,dum,dum,*1001)
00035 call devon
00036 c
00037 jj = abs(jth)
00038 c
00039 in = 0
00040 do 290 i=1,n
00041 if (x(i).ge.xl.and.x(i).le.xr
00042 & .and.y(i).ge.ybot.and.y(i).le.ytop
00043 & .and.z(i).ge.z1.and.z(i).le.z2) then
00044 c
00045 call fr inches(x(i),y(i),rloc,sloc)
00046 c
00047 if (jth.ne.0
00048 & .and.(jsym.ne.0.or.plot_symbol.ne.' ')) then
00049 if (jj*(i/jj).eq.i) then
00050 if (jsym.ne.0) then
00051 call ngon(rloc,sloc,.5*hp,jsym,0.)
00052 else
00053 if (plot_symbol.ne.'#') then
00054 sim = plot_symbol
00055 else
00056 c
00057 c Encode the number of the point in sim.
00058 c
00059 ii = i
00060 do while (ii.gt.61)
00061 ii = ii - 61
00062 end do
00063 if (ii.le.9) then
00064 sim = char(48+ii)
00065 else if (ii.le.35) then
00066 sim = char(87+ii)
00067 else
00068 sim = char(55+ii)
00069 end if
00070 end if
00071 call simbol(rloc,sloc,hp,sim,0.,-1)
00072 end if
00073 end if
00074 end if
00075 c
00076 if (jth.ge.0.and.in.eq.1) then
00077 call plotin(rloc0,sloc0,3)
00078 call plotin(rloc,sloc,2)
00079 end if
00080 in = 1
00081 rloc0 = rloc
00082 sloc0 = sloc
00083 else
00084 in = 0
00085 end if
00086 290 continue
00087 c
00088 return
00089 1001 return 1
00090 c
00091 end