Previous: pgna3 Up: ../plot79_p.html Next: pgnr3
SUBROUTINE PGNR2 (DXARAY,INCX, DYARAY,INCY, NVERTX)
C$ (Polygon Relative 2-D)
C$ Draw a 2-D polygon. A relative move is automatically made
C$ from the current point to the first vertex, relative draws
C$ are made between all remaining vertices, and then implicit
C$ closure is provided by connecting the last vertex to the
C$ first. On return, the current point is at the first vertex.
C$
C$ If a polygon "plain" interior style filling and a visible
C$ pattern or color has been selected by a prior call to
C$ SETPIS and SETPFI/SETPCI, the polygon is filled with that
C$ pattern or color. The polygon vertices are assumed to be
C$ arranged so that the interior lies to the left of each line
C$ segment between vertices i and i+1. The arguments are:
C$
C$ DXARAY(*)........Array of relative X coordinates
C$ INCX.............Displacement between successive X
C$ coordinates in DXARAY(*) (normally 1).
C$ DYARAY(*)........Array of relative Y coordinates.
C$ INCY.............Displacement between successive Y
C$ coordinates in DYARAY(*) (normally 1).
C$ NVERTX...........Number of polygon vertices (.GE. 3).
C$
C$ If an increment INCX or INCY is negative, the starting
C$ vertex is taken as (1-N)*INC + 1 instead of 1, so that the
C$ array is stepped through in reverse order. Because of the
C$ ordering convention on the vertices, reversing the order of
C$ traversal of the vertex list interchanges the interior and
C$ the exterior of the polygon. No error is raised if there
C$ are fewer than 3 vertices, but filling will be suppressed.
C$
C$ In the current implementation of this routine, it is
C$ necessary to expand the relative coordinates internally to
C$ a list of absolute coordinates which are then passed to
C$ PGNA2. This expansion is done in working arrays in COMMON
C$ whose size limits the number of vertices. If more vertices
C$ are provided, a warning message will be issued and the
C$ additional vertices will simply be ignored. The limit is
C$ at present 255 vertices.
C$ (21-APR-83)