Previous: symmk2 Up: ../plot79_s.html Next: symnf


SYMMK3

       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)