Previous: filpa3 Up: ../plot79_f.html Next: filxa2
SUBROUTINE FILPI (CENTER,RADIUS,THETA1,THETA2, PDIST,NPDIST, X BOX, THETA, PL2) C$ (Fill Pie Segment) C$ Fill a pie segment with a user-defined pattern. The C$ pattern is defined by a series of parallel lines with C$ variable spacing and fixed slope. Two calls to this C$ routine can be used to obtain cross-hatching. This routine C$ should be useful in constructing pie charts. The arguments C$ are: C$ C$ CENTER(*).........(X,Y,Z,H) coordinates of the center of C$ the circle containing the pie segment. C$ RADIUS............Radius of circle. C$ THETA1............Arc angle (in degrees) defining one side C$ of the pie segment. C$ THETA2............Arc angle (in degrees) defining other C$ side of the pie segment. Both THETA1 and C$ THETA2 are measured counterclockwise from C$ the X axis. C$ PDIST(*)..........Array of world coordinate perpendicular C$ distances between successive lines of the C$ pattern. The sign of PDIST(K) is C$ ignored. In order to prevent an C$ excessive number of lines being drawn C$ because of tiny pdist(*) values (which C$ might cause a pen plotter to cut through C$ the paper), a minimal distance is C$ enforced internally, corresponding to C$ MAXLIN (=1000 in a data statement) lines C$ across the box. C$ NPDIST............Number of entries in PDIST(*) (.GE. 1). C$ Line K will be spaced a distance PDIST(1 C$ + MOD(K-1,NPDIST)) from line K-1, so that C$ PDIST(*) is used circularly. It is an C$ error if NPDIST .LE. 0. C$ BOX............... .TRUE. - Draw the outline of the pie C$ segment. C$ .FALSE. - Do not outline the segment. C$ THETA.............Angle of lines (in degrees) measured C$ counterclockwise from the X axis. C$ PL2...............2-D pen movement routine, normally PL2CA. C$ C$ (30-MAR-82)