Previous: symmk2 Up: ../plot79_s.html Next: symnf
SUBROUTINE SYMMK3 (PL3)
C$ (Marker)
C$ Draw the currently-selected marker centered at the current
C$ point. This version provides software-generated markers
C$ selected according to the CORE proposal. The digitizations
C$ are from the Hershey character fonts. The Hershey symbol
C$ numbers are given in parentheses following the symbol name
C$ in the table below.
C$
C$ Markers are drawn centered at the current point, upright on
C$ the view surface, with a nominal height equal to 0.03 units
C$ in NDC space. An extension to the CORE proposal allows the
C$ user to scale the marker height by a factor provided as an
C$ argument to routine SETMSZ.
C$
C$ The size and orientation of markers is unaffected by world
C$ coordinate transformations. They may be altered by image
C$ transformations if software generated, but usually not if
C$ hardware generated. The appearance of markers which lie on
C$ or outside the viewport boundaries is device-dependent.
C$ For the software markers drawn by this version, such
C$ markers will not be displayed.
C$
C$ Markers 1-5 are standard in all CORE implementations. The
C$ remaining ones are implementation-dependent. Markers
C$ currently supported are taken from the Hershey font
C$ digitizations. The Hershey numbers are given in
C$ parentheses below for each marker. Marker heights have
C$ been adjusted to make them all roughly the same size.
C$
C$ 1.....dot or period (828).
C$ 2.....plus (845).
C$ 3.....asterisk (847).
C$ 4.....circle (840).
C$ 5.....x or cross (846).
C$ 6.....square (841).
C$ 7.....triangle (842).
C$ 8.....crosshair (1284).
C$ 9.....5-pointed star (844).
C$ 10....6-pointed star (868).
C$ 11....swiss cross (866).
C$ 12....bell (869).
C$ 13....paragraph (1276).
C$ 14....dagger (1277).
C$ 15....double dagger (1278).
C$ 16....spade (741).
C$ 17....heart (742).
C$ 18....diamond (743).
C$ 19....club (744).
C$ 20....shamrock (745).
C$
C$ The digitizations are stored in the table XY(*), with
C$ pointers to the beginning of each marker in XY(*) stored in
C$ MARKLC(*). Coordinates (x,y) relative to the marker center
C$ at (0,0) are packed into 14 data bits of a single integer
C$ as 128*(x+64) + (y+64). Pen raises prior to moving to a
C$ given coordinate are marked by a negative sign on the
C$ packed pair, except for the first one. The number of
C$ coordinates for a given marker, K, is computed as
C$ MARKLC(K+1)-MARKLC(K). The first entry in a sequence
C$ contains (minimum y,maximum y) and the second entry,
C$ (minimum x,maximum x). Point coordinates begin in the
C$ third entry.
C$ (20-JUL-89)