home *** CD-ROM | disk | FTP | other *** search
- Subject: v14i025: Device-independant graphics system, with drivers
- Newsgroups: comp.sources.unix
- Sender: sources
- Approved: rsalz@uunet.UU.NET
-
- Submitted-by: Joe Dellinger <joe@hanauma.STANFORD.EDU>
- Posting-number: Volume 14, Issue 25
- Archive-name: vplot/part20
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 20 (of 24)."
- # Wrapped by rsalz@fig.bbn.com on Fri Mar 25 11:47:32 1988
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'Vplot_Kernel/Documentation/vplot.mn' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'Vplot_Kernel/Documentation/vplot.mn'\"
- else
- echo shar: Extracting \"'Vplot_Kernel/Documentation/vplot.mn'\" \(25193 characters\)
- sed "s/^X//" >'Vplot_Kernel/Documentation/vplot.mn' <<'END_OF_FILE'
- X.TH VPLOT 9
- X.SH NAME
- vplot - definition of the vplot graphics metalanguage
- X.SH INTRODUCTION
- Vplot is a graphical meta-language that is interpreted by the
- X.B pen
- filters to produce plotted images
- in a device-independent way
- on many different graphics terminals
- and hard copy devices.
- New devices can readily be supported.
- Unfortunately,
- X.B vplot
- has only a primitive interactive capability.
- The reason for writing your plots in a device-independent
- intermediate plot language such as
- X.B vplot
- is to make your plot programs portable and long lasting.
- X.PP
- Vplot originally stood for `vector plot',
- but this name is now insufficient
- because vplot supports not only vectors,
- but also filled areas (either raster patterns or hatched),
- text (Hershey fonts),
- and raster images
- X(including grey-scale dithered ones on monochrome devices such as laser printers).
- X.SH COPYRIGHT
- Vplot is not in the public domain, although the copyright is not
- very restrictive. Here is the official Vplot copyright notice (the one
- that all the other manual pages and the source code tell you about):
- X.PP
- Copyright 1987 the Board of Trustees of the Leland Stanford Junior
- University. All Rights Reserved. Permission is hereby given
- to use, copy, modify, and distribute this software provided
- that (1) copyright and proprietary notices are retained in
- each copy, (2) any files which are modified are identified as such,
- and (3) you do not copy or distribute the software for payment or
- for commercial use without prior written consent from Stanford.
- STANFORD MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND
- concerning this software or its use.
- X.PP
- Vplot consists of everything in this distribution, except for the
- contents of ``.../vplot/Hershey'' and ``.../vplot/filters/loclib''.
- These are in
- the public domain. The contents of ``.../vplot/Hershey_Fonts'', which may
- or may not be included in your copy of the distribution, are under
- their own restrictions contained in the file README_Hershey.
- X.PP
- You are invited to make improvements to Vplot, support new devices,
- fix bugs, use Vplot as a spare parts junkyard, etc, as long as you
- abide by the copyright given above. Older public domain versions of
- Vplot exist, although not as complete and as bug-free as this ``official''
- version. Before embarking on any major project, you might want to
- ask me (Joe Dellinger) for advice as to how to proceed.
- Other than that, you're on your own.
- When all else fails, read the manual!
- X(And when that fails, read the source code.)
- X.PP
- You can get a tape of this distribution at cost by writing:
- X.br
- X
- X.br
- X Office of Technology Licensing
- X.br
- X Stanford University
- X.br
- X 350 Cambridge Avenue, Suite 250
- X.br
- X Palo Alto, CA 94306
- X.br
- X
- X.SH ASSOCIATED PROGRAMS
- Self-documenting Utilities: pldb plas
- X.br
- For info on pen programs: man pen
- X.br
- For info on libvplot: man libvplot
- X.br
- For info on text under vplot: man vplottext
- X.br
- For info on raster under vplot: man vplotraster
- X.br
- Library of test routines and examples: .../vplot/filters/Tests/*
- X.SH COORDINATE SYSTEMS
- Vplot fits the largest 3-high by 4-wide rectangle
- X(or whatever ratio is defined by SCREENRATIO in vplot.h)
- onto the device's screen that it can. The rectangle is left and bottom justified.
- Clipping is not done to the edge of this rectangle, but to the edge of
- the device's screen. For convenience, from here on in the documentation I
- will consider the
- X3 by 4 rectangle inscribed inside the device's screen to BE the device's screen
- for the purposes of describing Vplot's coordinate system.
- X
- Vplot coordinates can either be measured in integer vplot units (the actual
- integer numbers that go into the metafile) or as real inches. How many integer
- units there are per inch for various sorts of Vplot primitives is defined in
- vplot.h. RPERIN is the number of integer vplot units per inch for most things.
- Unfortunately, in order to be backwards compatible we have to measure some
- primitives in different units: TXPERIN gives the number of text-height units
- per inch, and FATPERIN gives the number of line-fatness-width units per inch.
- X(HATCHPERIN is only used by libvplot, not vplot itself.)
- At Stanford, RPERIN=600, FATPERIN=200, and TXPERIN=33. These are not particularly
- convenient numbers, and new sites installing Vplot from scratch might consider
- selecting more reasonable values for all of these. (In theory, all you
- should have to do is change the definitions in vplot.h, update the
- documentation, and recompile everything in sight.)
- Whenever any of these ``magic numbers'' are referred to in code, they should
- be ``#define''d by vplot.h.
- X
- Two different scaling systems are possible, ``relative'' and ``absolute''.
- The so-called ``real inches'' in Vplot can either correspond to absolute
- inches on your device's screen (size=absolute),
- or can scale with the size of the screen (size=relative).
- How many inches tall the screen is considered to be unfortunately depends on
- the ``plot style'', which is defined next.
- X
- Two different coordinate systems are possible, ``standard'' and ``rotated''.
- X(This is called the ``plot style''.) The plot style can be set with the
- vplot `S' command, set from the command line, set from the environment,
- or allowed to default, with that order of precedence.
- X
- Standard Style: The origin is in the lower left hand corner, with
- the X axis horizontal and the Y axis vertical.
- If size=relative, the plot is scaled so that the screen is considered to be
- X10.24 (STANDARD_HEIGHT in vplot.h) inches tall. That is, if you move to
- the Vplot coordinate (in inches) of (x=0.,y=10.24), you will be at the top
- left corner of the screen no matter how big or small your device's screen
- actually is.
- X
- Rotated Style: Plot is scaled so that the screen is considered to be
- X7.5 inches tall. The origin is in the upper left hand corner, with the
- XX axis vertical running down the screen and the Y axis horizontal.
- If size=relative, the plot is scaled so that the screen is considered to be
- X7.5 (ROTATED_HEIGHT in vplot.h) inches tall. That is, if you move to the
- Vplot coordinate (in inches) of (x=7.5,y=0.) you will be at the bottom
- left corner of the screen no matter how big or small your device's screen
- actually is.
- X
- X.SH DESCRIPTION
- The following list constitutes the plot commands for
- the various plotting programs.
- The commands are universal in the sense that they are properly
- read in and appropriately used or ignored.
- The commands are specified by a literal one byte command
- character followed by zero or more half-word (2 byte) integers
- X(sometimes characters or bytes if so stated in the text).
- X.PP
- The program ``pldb'' converts the binary Vplot format described here into
- a human-readable ASCII one. Pldb-format Vplot follows the documentation here
- closely. Commas show where newlines occur in `pldb' format vplot that are not
- shown as newlines here.
- X.PP
- X.SH COMMANDS
- X.TP
- X.B e
- X.B erase
- the screen and start a new plot.
- All plot frames begin with an erase.
- X(The ``erase'' pen filter option can be used to add an erase as the very
- first thing in an input plot file, but will only do so if the plot file
- doesn't already have an initial erase.
- Erases that occur near, but not at, the beginning of the plot file
- are NOT considered initial erases, even if the commands preceding the erase
- produce no actual output on the device.)
- X.PP
- X.TP
- X.B b
- X.B break,
- same as erase in that it is a possible place to pause, but doesn't
- erase the screen. The erase command basically has 2 functions: first,
- it signals that the current frame of the plot is completed, and secondly
- it erases the current frame of the plot so that the next frame can start
- fresh. The break command only carries the first meaning. The ``next frame''
- of the plot builds upon the previous ones. This is useful when you want to
- be able to stop at various times as an image is being built up.
- X.TP
- X.B o x y
- redefine
- X.B origin
- X(0,0) on the device (the lower left hand corner of the screen for
- standard plot style
- with no global translations via pen command line options)
- as vplot (x,y). This shift applies to everything
- until the next origin command. An origin command is not affected by previous
- ones. Changing the plot style resets the origin to zero.
- X.TP
- X.B m x y
- X.B move
- the current position to (x,y).
- X.TP
- X.B d x y
- X.B draw
- a line from the current position to (x,y), and make this the
- new current position.
- X.TP
- X.B w xmin ymin xmax ymax
- set clipping
- X.B window.
- The initial window is set to the maximum dimensions of the
- particular plot device. If the coordinate system is rotated,
- the smallest clipping window with vertical and horizontal sides
- that contains the desired rotated clipping window will be used.
- If xmin > xmax or ymin > ymax, then an inverted window will
- be used that should clip away everything.
- X.TP
- X.B T size orientation, string
- Start
- X.B text
- mode.
- A character
- X.B string
- is plotted starting at the old pen position (as
- set by a previous move, draw, or text command).
- A nullbyte terminates the string.
- The character
- X.B size
- X(the height) is in units of 1/33'rds of an inch (Ug!).
- The character width is font and character dependent.
- The character
- X.B orientation
- is in degrees, and the angle is
- measured counter-clockwise from the X-axis.
- The carriage controls newline, carriage return, and backspace
- are correctly interpreted.
- The origin for newline and carriage return is taken as the
- pen position as of the last move.
- X.IP
- A large number of special escape sequences for accessing multiple fonts, colors,
- sizes, fatnesses, symbols, and positions of text are available. See man vplottext.
- X.IP
- The archaic text command
- X.B t
- has been left in the code only for backwards compatibility. It should no longer
- be used, so I'm not going to even tell you the ridiculous format it used.
- X.TP
- X.B
- G xpath ypath xup yup, string
- An alternate text command, which uses
- X.B GKS
- notation.
- The vector given by
- X.B xpath
- and
- X.B ypath
- is the ``text path vector'',
- and the vector given by
- X.B xup
- and
- X.B yup
- is the ``text up vector'', as defined in the GKS standard.
- Since it is important for these vectors to be very accurate,
- both are measured in units TEXTVECSCALE (defined in params.h,
- set to 10 at Stanford) times finer than normal vplot units.
- X.TP
- X.B f k
- Set line
- X.B fatness.
- The integer
- X.B k
- specifies the number of additional lines
- to be drawn parallel to, and one bit over from all
- future lines. The extra lines are added symmetrically.
- k=0 resets back to single-line mode. The fatness is scaled to approximate
- the behavior of a 200 pixel per inch device.
- X.TP
- X.B c k
- Select new
- X.B color
- from menu of 512 colors.
- X.B K
- is an integer from 0 to 511.
- Colors 0 through 7 are guaranteed to be by default the Regis colors:
- X0-background, 1-blue, 2-red, 3-magenta,
- X4-green, 5-cyan, 6-yellow, and 7-white.
- X(This is the order of colors in a color bar pattern on a TV.
- It is used for that because on a black and white TV it makes a
- grey scale.)
- X.IP
- Color zero is always the background color.
- Monochrome devices should consider ANY non-zero color to NOT be
- the background color.
- X.IP
- See important comments in the `set color table' command with regards to color
- mapping.
- X.TP
- X.B C color red green blue
- set
- X.B Color
- table:
- Color number
- X.B color
- is set to have red value
- X.B red,
- green value
- X.B green,
- and blue value
- X.B blue.
- These are integers from 0 to 255, (or floats from 0. to 1. when using plas
- and pldb in inch or centimeter units)
- with 255 being fully on and 0 being fully off.
- The corresponding `grey level' for grey-scale devices is given by
- floor((4 * green + 2 * red + blue + 6) / 7). Note that the only way
- to get grey level 0 is if all three color levels are 0.
- X.IP
- Vplot will try to give you the color you want, but this may not always be
- possible. If the device has N settable colors, then colors
- X0 through N-1 will be set exactly as you request.
- If you attempt to define a color X outside
- of this range, Vplot will pick which color in the range 0 through N-1
- is the closest and map all requests for color number X to that available color
- value.
- Whenever any color in the range 0 through N-1 is changed, all the mappings
- will be re-calculated (although of course what is already drawn or
- stored cannot be changed.)
- X.IP
- This scheme is especially useful when for example mixing grey scales for
- raster information and bright colors for labels.
- The few bright colors which you might need are allocated to the first few
- color numbers. Then the remainder of the lower half of the color scale is
- filled with the grey level values you will need, but ordered so that the most
- important grey levels come first.
- In the upper half of the color table you define a normally ordered grey scale.
- Now when you want to draw grey scales, you refer only to the upper half of the
- grey scale and
- vplot will automatically map your requests down onto the real available colors of
- the particular device.
- X.IP
- Color zero is always the background color.
- Color 0 is only mapped to if the match is exact.
- X.TP
- X.B a npts
- X.TP
- X.B afat xmask ymask
- X.TP
- X.B x1 y1, x2 y2, ...
- Define polygonal
- X.B area
- for stippling (on monochrome devices) or solid
- area fill with current drawing color (for devices with color).
- The polygon is specified
- by its vertices
- X.B (x1,y1),...,(xn,yn).
- X.B Npts
- is the number of vertices;
- the polygon is automatically closed only if necessary.
- X.B Afat
- is the fatness of the outline; 0 is the minimum, and -1 draws no outline.
- The shading for monochrome devices is determined by the integer mask.
- A point within the polygonal area is darkened if
- X((x mod
- X.B xmask
- X== 0) and (y mod
- X.B ymask
- X)) is true, where
- x and y are all points within the polygon.
- For example, xmask=1 and ymask=1 fills the area completely,
- and xmask=1 ymask=5 makes
- horizontal bars spaced 4 vertical bits apart.
- The origin for x and y coordinates used in shading
- is device dependent but will usually be the lower left hand corner
- of the device screen.
- X.IP
- As a special case, if either
- X.B xmask
- or
- X.B ymask
- is zero no shading is done. (The area filling routine for the device is never
- even called.)
- This is true for both color and monochrome devices.
- X.TP
- X.B A npts
- X.TP
- X.B x1 y1, x2 y2, ...
- Fill polygonal
- X.B area
- with pattern or color.
- Fills polygon with patterns loaded with the `l' command (q.v.).
- The pattern number used is the same as the current drawing color.
- Note that a pattern can either be a hatch-line pattern or an arbitrary
- raster pattern, depending on the format of the `l' command used.
- X.IP
- The purpose of this scheme is to associate each color with a particular
- fill pattern. Once a current drawing color is set,
- all vectors will have that color and all
- filled areas will have the associated fill pattern.
- X.IP
- Devices that can't fill with arbitrary patterns should simply fill solidly
- with the current drawing color.
- If no pattern has been loaded, the `A' command will fill solidly
- with the current drawing color automatically.
- X.TP
- X.B l ppi nx ny ipat
- X.TP
- X.B XXXX..., ... (nx*ny X's)
- X.B Load
- raster pattern for `A' command.
- Each
- X.B `X'
- is an integer containing a color number.
- X(These color numbers can be mapped, etc,
- just like color numbers in the `c' command.)
- The
- X.B X's
- represent pixels in a rectangular
- pattern of dimensions nx by ny.
- X(In pldb format the
- X.B X's
- are single-digit Hex numbers.)
- The pattern is repeated to fill the polygon.
- The pattern is scanned so that the first ny numbers are the first line, the
- second ny numbers are the second line, etc, for nx lines. The scanning of the
- pattern is done TV-style, ie starting at the upper left and working left-to-right
- and then top-to-bottom. (If in doubt, remember that patterns should appear
- on the device in the same orientation as in pldb-format vplot files.)
- X.IP
- The pattern is given the pattern number
- X.B ipat.
- This pattern will be used for
- filling by the `A' command when the current color is number
- X.B ipat.
- X.B Ppi
- is used to scale the pattern; it says how many pixels per inch you
- wanted this pattern to have.
- E.g. on a 300 pixel per inch device
- X.br
- X.B l 300 2 2 17
- X.br
- X.B 0 1
- X.br
- X.B 2 0
- X.br
- represents
- X.br
- X01
- X.br
- X20
- X.br
- whereas
- X.br
- X.B l 150 2 2 17
- X.br
- X.B 0 1
- X.br
- X.B 2 0
- X.br
- represents
- X.br
- X0011
- X.br
- X0011
- X.br
- X2200
- X.br
- X2200
- X.br
- where the digits are color numbers for the corresponding pixels.
- The result when you load a new pattern with the same pattern number
- as one already defined is device-dependent.
- X.TP
- X.B l angle -1 numhatch ipat
- X.TP
- X.B fat color offset interval,
- X.TP
- X.B ...,
- X.TP
- X.B (numhatch * 2 sets of 4)
- X.B Load
- hatch pattern for `A' command.
- The
- X.B angle
- gives the amount to rotate off horizontal. The
- X.B `-1'
- is a flag
- to distinguish this case from the previous command.
- X.B Numhatch
- is the number
- of sets of hatched lines to place in each direction (X and Y).
- Each set of hatched lines has four parameters:
- X.B fat, color, offset,
- and
- X.B interval.
- The
- X.B fat
- and
- X.B color
- give the fatness and color of every line in the set. The
- X.B interval
- is the spacing (in regular vplot units) between the lines.
- The
- X.B offset
- parameter displaces all the lines in the set.
- It should be less than the repeat interval.
- The purpose of
- X.B offset
- is so that you can
- have two different sets of lines (differently colored, perhaps) interleaved.
- All the X sets are specified, and then all the Y sets.
- X.IP
- X.B Ipat
- is the pattern
- number. (See above for explanation.)
- X.TP
- X.B v flag
- Change
- X.B overlay
- mode.
- X.br
- Overlay mode controls the opacity of the background color of polygon and raster
- fills (see `a',`A',`l',`r',`R').
- If flag=0, the polygon area is cleared before the new pattern is filled in.
- If flag=1, the new pattern is simply added to whatever is already there with
- what is underneath showing through where the new pattern is color 0.
- The default overlay flag can also be set in the command line.
- flag=0 mode takes significantly longer to fill the polygon on many devices.
- Some devices that have hardware raster or area fill may ignore this
- option if they are unable to implement it.
- X.TP
- X.B n
- X.B no-op
- for word aligning. Does nothing.
- X.TP
- X.B p
- X.B purge
- or flush plot buffers.
- X.TP
- X.B z, string
- Print
- X.B string
- out on the text screen of the plot device.
- X.TP
- X.B L npts
- X.TP
- X.B x1 y1, x2 y2, ...
- Draw a
- X.B polyLine
- through the given points.
- X.TP
- X.B M npts mtype msize
- X.TP
- X.B x1 y1, x2 y2, ...
- Draw
- X.B Markers
- of type
- X.B mtype
- and size
- X.B msize
- at the given set of points.
- For small integer values of
- X.B msize,
- this is as defined in GKS.
- For larger values, it is taken to be a font glyph number (for most fonts this
- will correspond to the ASCII character number. However
- X.B mtype
- may still be valid
- even when greater than 255 for some fonts.)
- X.B msize
- is measured in the same
- units as text is.
- X.TP
- X.B s ndash
- X.TP
- X.B dash1 gap1, dash2 gap2, ...
- Set line
- X.B style.
- This command is used to make dashed or dotted lines. It affects all
- vectors produced by the `m', `d', and `L' commands.
- X.B Ndash
- is the number of dash-gap pairs in the pattern.
- If
- X.B ndash
- is 0, then continuous vectors will be drawn.
- X.TP
- X.B J hjust vjust
- Set text
- X.B Justification.
- Values have meanings set in the include file
- X`/usr/include/vplot.h'. The finer points of text justification are
- discussed in `man vplottext'.
- X.TP
- X.B F font precision overlay_mode
- Set text
- X.B Font
- and
- X.B precision.
- X.B Font
- is an integer from 0 on up. Font
- numbers less than 100 are reserved for device-independent `gentext' fonts.
- X.B Precision
- is an integer zero through two, meaning: string, 0; char, 1; stroke, 2.
- The generic vplot text routine gentext draws everything with stroke precision,
- but only parses for ligatures at precision 2.
- The standard `pen' font should be font number 0.
- How many others are available is site-dependent, and should be documented
- in `man vplottext'.
- X.IP
- The overlay mode is an integer from 0 through 3, with the following meanings:
- X0: nothing unusual. 1: Draw a box around the text. 2: Clear behind the text
- with a polygon drawn in the background color before drawing the text.
- X3: both 1 and 2.
- X.IP
- All fonts, precisions, and text overlay modes are``#define''d in
- vplot.h.
- X.TP
- X.B S styleflag
- Set Vplot
- X.B Style.
- X.br
- Style is a single character, with possible values
- X`r' rotated, `s' standard, `a' absolute. Case distinctions
- don't matter. These affect the scaling and orientation of the plot.
- X``Standard'' and ``rotated'' styles are defined in the ``Coordinates''
- section at the beginning of this document. Absolute style is like standard style,
- except the plot is scaled to be in true inches. Some other archaic styles
- are recognized (old, mazama) but should no longer be used.
- The style is reset to the default at the start of every plot frame.
- It is probably a good idea to set the style immediately after every
- X.B erase
- command, especially if the style you want to use is not STANDARD.
- X.TP
- X.B R orient offset
- X.TP
- X.B xll yll, xur yur
- X.TP
- X.B xpix ypix
- X.TP
- X.B {linerep1, {numpat1 numbyte1, b1, b2, ...}}
- Byte deep
- X.B Raster
- data, each point having
- X.B offset
- added to it as it is
- read in. It is
- X.B xpix
- pixels wide and
- X.B ypix
- pixels tall, with lower left hand
- pixel at
- X.B (xll, yll)
- and width
- X.B xur-xll
- and height
- X.B yur-yll.
- X.B Linerep
- tells how many times to repeat the following raster line.
- X.B Numpat
- gives the number of repetitions
- of the following
- X.B numbyte
- bytes
- X.B b1, b2, ... bN
- within a line.
- This is repeated until all the bytes within the raster line have been
- accounted for. (The last byte of the line must also be the last byte of
- the repeat pattern.) The same holds for the loop over lines.
- X.IP
- The orientation of the axes of the raster is determined by the value of
- X.B orient.
- For
- X.B orient=0
- the raster is oriented TV-style, with the fast axis
- left-to-right and the slow axis top-to-bottom. For each increase of 1 in the
- value of
- X.B orient,
- the raster rotates 90 degrees clockwise.
- X.IP
- Note that the lower-leftmost pixel of the raster image will be exactly at
- the vplot coordinate
- X.B (xll,yll).
- However, the point at vplot coordinate
- X.B (xur,yur)
- will be the pixel just outside the raster image, touching the upper-rightmost
- corner. Things were done this way so that
- X.B xur-xll
- for example gives the width
- of the raster data box in vplot units.
- X.IP
- The
- X.B offset
- parameter is provided so that there is some way to access color
- table values greater than 255. (For example, 4 different 64-value color
- schemes could be defined in the color table in slots 256-511. You could switch
- between these by merely changing the value of
- X.B `offset'.
- X)
- X.TP
- X.B r orient rastermult
- X.TP
- X.B xll yll, xur yur
- X.TP
- X.B xpix ypix
- X.TP
- X.B {linerep1, {numpat1 numbit1, b1, b2, ...}}
- Same format as the `R' command, except that the data is encoded in bits
- and
- X.B rastermult
- is multiplied by the value of each bit.
- X8 bits are encoded into each byte, in each
- byte the bits ordered from highest to lowest. As many bytes are used as are
- needed to hold
- X.B numbit
- bits. For example, 13 bits would be encoded as
- X.br
- X.B
- b1: (1 2 3 4 5 6 7 8) b2: (9 10 11 12 13 X X X).
- X.TP
- X.B [, string
- Begin group named
- X.B string.
- X.TP
- X.B ]
- End last-opened group (it is an error to use this command if no group is
- open). Groups may be nested. Groups may not contain an erase command.
- Groups may not extend across files.
- X.SH "SEE ALSO"
- pen vplotlib vplottext vplotraster vplothacker
- X.SH "BUGS"
- There may be no bugs in the vplot language, but there are
- in the programs which read and write it.
- X.PP
- I had a heck of a time with troff bugs eating words and characters
- while trying to write this, so if
- something seems to be missing you might refer back to the unformatted
- original.
- X.PP
- Vplot at Stanford suffers somewhat by the restriction of having to remain
- backwards compatible to the stone age (1980). The vplot coordinate system is
- integers, with 600 pixels to the inch. A much higher resolution should be
- used! This isn't too hard to change, all you have to do is to make plas and pldb
- write and read 4 bytes instead of 2. (Plas and pldb already work with integers
- anyway, and there are no short ints used in the code anywhere.)
- Several other `magic numbers' show
- up in this documentation as well. These are defined in `vplot.h' and `params.h'.
- I recommend that any new site starting to use vplot from scratch change these
- numbers to more reasonable values. If ALL code uses the #define's in vplot.h,
- as all Vplot source code (hopefully) does and all user code ought, then these
- values can be changed without breaking any programs, only old metafiles.
- X.SH "AUTHOR"
- Robert W. Clayton began the vplot software while in the
- Geophysics Department at Stanford University (circa 1979) on a PDP-11.
- He was last seen at Cal Tech.
- Since then
- Jeff Thorson,
- Stew Levin,
- Jon Claerbout,
- Dave Hale,
- Ron Ullmann,
- Glenn Kroeger,
- Michel Debiche,
- Shuki Ronen,
- Doug Wilson,
- Wes Monroe,
- Chuck Karish,
- Steve Cole,
- Clement Kostov,
- Kai Lanz,
- Jean-Luc Guiziou,
- and especially
- Joe Dellinger have altered and expanded it almost beyond recognition,
- for the most part preserving backwards compatibility, even when that required
- compromising of ideals.
- This manual page was hacked together by Joe Dellinger out of an ancient and
- out-of-date original by Michel Debiche, which was itself a hack of something
- even more ancient of unknown origin.
- X.br
- X
- X.br
- X Joe Dellinger,
- X.br
- X (joe@hanauma.stanford.edu, decvax!hanauma!joe, convex!convexw!hanauma!joe)
- X.br
- X Stanford Exploration Project
- X.br
- X Dept of Geophysics, Stanford University, Jan 1988
- X.br
- X
- END_OF_FILE
- if test 25193 -ne `wc -c <'Vplot_Kernel/Documentation/vplot.mn'`; then
- echo shar: \"'Vplot_Kernel/Documentation/vplot.mn'\" unpacked with wrong size!
- fi
- # end of 'Vplot_Kernel/Documentation/vplot.mn'
- fi
- echo shar: End of archive 20 \(of 24\).
- cp /dev/null ark20isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 24 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-