Home-Page Site-Map

Below is the help obtained from the HTML help output of Mage.


  1. Keyboard Shortcuts
  2. Input/Output Help
  3. Screen Capture Help
  4. Editing kinemages
  5. Fonts, views, and cursors
  6. Measures, rotations, and updates
  7. Tools Help
  8. Kludges and hypertext
  9. Using the mouse
  10. Docking
  11. Resizing windows
  12. Table Help
  13. 3D Literacy Test Help
  14. Kinemage format keywords
  15. Group,Subgroup,List parameters
  16. Hypertext help
  17. Docking help

about keyboard short-cuts

a,Aanimateb,B2animate[,]cycles Aspects

z,Z,x,Xtrue recentering recalculation along screen Z axis

+1*, +10*, -1*, -10*motion (ztran just quick offset)

n,Nninty degree Y-axis rotation

1,2,3,4zoom +.01,+.1,-.01,-.1

9,0TBstereo offset



ccross<->wall eyed


fflat scroll -vs- xy rotation with mouse drag

honly rotate around Y axis (horizontal)

llist/point color dominant

edetail-at-ctrddragline move/newg wht bkg

tcycles line widthycycles color depths

uremote update dialog.

shiftkey downkeep detail, move dragline, reverse animate, restrict rotation to starting axis.

mclears measure's lines from screen.

qbigger markerswbigger text.

^TOP^about input and output

Open New File...(? save if kinemage has been edited)

Append File...to current kinemage, inc. text

Save As...regular output, writes a file with modified kin after pruning, new draws, views, etc. (special option to write only currently Visible Parts)

Save Specialwrites a file with just the New parts added with Draw_New functions, Rotatable parts, of bond-rotations (can append to an old file).

Current View with zoom,zslab,center,matrix,viewID.
Current XYZ point picked (e.g. for PREKIN focus).

Questions and Answers from TEXT window.
file for 2D rendering of image by Raster3D or POV-Ray.
pointID re: @nowfind.
palette re: @fullrgbpalette.

Write PostScript File2D image as currently displayed

Quitsuggests write if kinemage changed.

^TOP^about screen capture

MACINTOSH: screen capture key push (s and 4 keys pushed together)
shift command s 4
hear a shutter noise; "Picture 1" (2 ...) saved as pict file
view in SimpleText or some other plain viewer.
ctrl shift apple s 4 (puts picture into clipboard)

^TOP^about editing kinemages

Edit imageside panel buttons toggle choices

Draw Newlines, labels, constructions, dragged-out lines

Draw New Setup...shortened lines, arrows, etc.
Construct 4th line after 3 new picks based on 4-pt 'measures'
Arrows, multiple angles, perpendiculars

Keep Current View...adds item to VIEWS menu

Change Colorof point or list of picked point

Prunedeletes PLL... points, 'Punch' only one, 'Auger' many

Superpickalso picks 'U'npickable points

Show Object Propertiesedit data hierarchy of picked point

Text Editabletext and caption Cut, Copy, Paste.
(can edit and use hypertext during a session)

Table Celledits whole cells, not cell contents.
(table cells relate to graphics points by {pointID} )
(group parameter 'table' invokes a table window)

^TOP^about display options

KINEMAGE next kinemage or choose numbered kinemage in open file.
Display options

Multi-widthline for depth cuing,

or One Widthlines two pixels wide,

or Thin Lineone pixel. 't'
5 depths of colors & line widths or just 3. 'y'

PerspectiveFront larger, rear smaller (vs orthographic) 'p'

Stereo Onside-by-side images 's'
(cross-eye vs. wall-eye 'c')

Compare Onside-by-side pair of animated groups

Viewing Params...stereo: angle, separation, mode...

List Colormade dominant over point color 'l'

Lens at ctrlist points only show in center region 'e'

Detail Level...as a function of update rate

White BkgColors on white background

B&WBlack on White (use with grayscale also)

^TOP^about fonts, views, and cursors

Font Sizes...: control for lectures, etc.

stroked font: MAGE mimics 2D rendered font output.

XY Scroll: (flatland) mouse motion->xy translations 'f'

Y rotation: only, horizontal world view 'h'

Kaleidoscope: no bkg clear: smears image 'k'

VIEWS menu

Undo Pickcenterback out of bad pick.

View#go to that numbered, (named) view.

Set Reader's Viewtemporarily save current appearance.

Reader's Viewgo to appearance as Set.

Cursor cues for Display modes, pick point at left arrow tip.

Cursor with I-beam on noseEdit Menu: text editable!

Cursor crossed arrows2D xy scrolling, flatland 'f'

Cursor with upper & lower barshorizontal rotations (y axis) 'h'

^TOP^about measures, rotations, and updates

measures: distance between last 2 points picked
simple & dihedral angles from last 4 points
highlighted lines connect up to last 4 points
dots for average of last 2,3,4,and 5 points shown
measured dihedrals labeled is Draw New option

FFind point by name... ; GFind Again

Empowermentssubmenu of useful quickies

Hide Measuresclear lines, dots from screen 'm'

Restore Bond Rotationsto initial angles.

Rotate 90 deg +'n', -: 'N' y axis
Rotate 90 deg +, -, other axes

Remote Update...from prekin, probe, etc. 'u'

XYZ pointcoord of last picked point exhibited

gnomonon center of rotation

Rateupdates/sec exhibited

Count#lines on, total# points, time
Z limit extra for ON lists. Fine step amount choice.

^TOP^about kludges and hypertext


Pick Markeraxial extentions for graph correlation.

Mickey Mouser: autorock; R: autoanimate when empowered.

Test Kin Formatstrict kinemage format during input

Debug Testfor programer

Cursor Choiceco-laboratory remote control prototypes

Hypertext control showing alternate rotamers:

*{rot={name 1} #.#, rot={name 2} #.# ...}*

abr'rot=','rot ','r '
where 'name 1' == the bondrot identifier string seen on the slider bar
and #.# is the new value for that rotation angle

If Update by PROBE active, hypertext 'rot' triggers an update.
PREKIN after version 5.74 makes hypertext commands
for rot/mutated residues
'Append File' will append (hyper)text to text window

Show Object Propertiescan delete last rot group.

Capture the foo (besides game mode) menuTools/Kludges/foo in cavity
Pick point for initial foo, grow in cavity, surface the foo.
Foo will coat a surface, and not puff out into the void.

Note: Show Object Properties: group ignorable

^TOP^about using the mouse

MAGE cursor points active tip to left, shape indicates mode.
Clicking the mouse button while the arrow cursor tip touches
a point, writes that point's {point ID} to the screen, and
distance to previous picked point.
(use single or left mouse button)

Moving the mouse while holding the button down (dragging) rotates image

Starting cursor in lower 5/6 screen rotates around x,y axes,

Starting in upper 1/6 of the screen, rotates around z axis,

Shift--Drag intiates motion only around initial starting axis

Rotation of the image continues to be coupled to the hand motion
exactly as it started no matter where the cursor moves on the screen.
Thus the reader (lecturer) can place the cursor where convenient
and can ignore it thereafter.

Option 2D scrolling 'f'

^TOP^about docking

Docking Scope: contiguous groups all ON made mobile
6 sliders: x,y,z screen axis rotations, translations, always active
Shift-mouse-drag rotates mobile group(s)
Mouse scrolls while ctrl (PC:alt) key held down
Shift-ctrl-mouse-drag translates mobile groups

Rotations are around screen center: re Pickcenter
except rotation center moves with Shift-ctrl-mouse-drag.
Note: 2D scrolling mode by 'f' key toggle:
release resets rotation ctr to screen ctr.
Toggle 'f' to reset center after mouse-drag operations.

(use single or left mouse button)
Docking mode pre-empts Shift-mouse-drag,
so not restricted to initial direction (see mouse help).
Docking scope activates [Edit/Draw New] dock3on3 button
pick 3pts in ref, 3 in mobile: m1-->r1, m2-->r2, m3-->r3

The game EGAM (Docking practice) use only 3on3 docking.
EGAM immediately anneals in the moved object and
regenerates another free mobile object.
The multi-egamick-docking anneals only when another object
is selected from the button panel.

^TOP^about resizing windows

The windows can be resized and repositioned.
If a window gets hidden behind others
it can be brought to the front
by the Show commands under the Help pull-down-menu

A combination of moving the window by
dragging the window's top bar and resizing using the
hot point at the lower right corner of the graphics window
allows control of the size and placement of the image.

The Mac graphics window expansion box is at the far right of its
title bar. Large monitors may need greater than default memory size.
Before running MAGE, Get-Info on the Macintosh File
pull-down-menu allows increasing the Minimum and Preferred Size.

The PC graphics and kinemage control buttons are in separate windows.
Blindly expanding the graphics can cover essential controls.

The X-Windows graphics, text, caption, (and rotations bars) windows
are arbitrarily placed (and sized) by the current X client process.
Drag and resize them for your convenience.

^TOP^about tables

Table: specify by @group {name} table
naturally use wordlist of points with {pointID} and
Table <--> Graphics picking by common {point ID} strings
Table --> Graphics picking always active
Graphics --> Table picking toggle button in right panel

Table cells contain the point's field
Menu FIND can look for string in Table cells'
check box choice in FIND dialog.
Point's coordinates 'x, y, z' not used,
can be replaced with 'tablecell' or 'noxyz'

vectorlist {...} ... #bondrot #.# specifies rotations around
list's first vector. Nested larger prefix #, listed value == #.#
scope continues until #bondrot of == or lower #, or end of file
Update: PREKIN can do mutations and set up CHI rotations.

^TOP^about 3D Literacy test

3D Literacy timed test invoked only from input kinemage:
@minutes 5.5
for kinemage timed for 5 minutes and 30 sec.
At beginning a Dialog box requests a few character for a
unique identifier (or short name) for the test taker.

At end: results of each test automatically written
to a uniquely named file with answer as "new group".
Auto-scoring can be set up.
Score value is at beginning of kinemage part,
and color-coded "score" group at kinemage end.
see results in mage.

Test mode disables Quit,
force progression with KINEMAGE/Score & Next.
Between timed kinemages, a Dialog box shows previous score,
and brief insructions about next test
(taken from first 255 characters of next caption).

Untimed practice: scoring set up but no @minutes
Check result with KINEMAGE/Score & Stay.
Add @drawline,@drawlabel,@drawball,
But only one type of answer can be scored.


keywords start with @
alternates sometimes shown, but preferred form is listed first
@keyword {text characters} are those enclosed in {}
See 'Properties' listing for object keyword parameters and point attributes
--------text section------
@ of a real keyword must be first character of a new line
keywords here are set in by a space so this text can be read in Mage
@text starts text section
@mage #.## MAGE version (can come before @text),
only keyword recognized WITHIN text section
@kinemage # ESSENTIAL keyword to end text and start kinemage input
--------kinemage input----
# indicates an integer needed, #.## a floating point number.
@start control for reading from a sustained active pipe: start a frame
recognized by pipe handler code
@frame # frame number of image from a sustained active pipe, override
@finish control for reading from a sustained active pipe: finish a frame
@done control for reading from a sustained active pipe, close pipe

@mage #.##
@prekin #.##
@caption --->chars to caption until next recognized keyword---
@text --->any text appended until next recognized keyword (5_75+)

---MAGE object hierarchy: group, subgroup, list, (sets of points) points
points can be in connected line sets, or specify triangles, spheres, etc.
@group {name} [parameters... all on one line...]
@subgroup {name} [parameters... all on one line...] (@set)
@____list {name} [parameters... all on one line...]
some type of list is ESSENTIAL for a kinemage
@vectorlist (@vector)
@labellist (@label)
@wordlist (@word)
@dotlist (@dot)
@balllist (@ball)
@spherelist (@sphere)
@trianglelist (@triangle)
@ribbonlist (@ribbon)
@arrowlist (@arrow)
@marklist (@mark)
@ringlist (@ring)
@fanlist (@fan)

---MAGE points---follow @____list line on the next line
{pointID} [attributes... separated by spaces, commas, new-lines, etc.] x y z
--trailing triple: x,y,z defines scope of a point, x,y,z only required thing
----table cells only: 'tablecell' or 'noxyz' can stand for triple
Generally, list type determines meaning of all its points,
but point attributes can force different meanings within a list
for advanced, special purpose, complicated kinemages.

@kinemage # ends this kinemage input
@scale #.##
@compare side-by-side of sequential animate groups, overrides stereo
stereo is reader's choice: menu and keyboard s key
@stereoangle #.## + for wall-eye, - for cross-eye, also under menu control
+ vs - toggled by keyboard c key
@onewidth default is multiwidth, also menu control
@flat @xytranslation
@whitebackground (@whiteback) (@whitebkg)
@viewid {string} @1viewid {string}
@2viewid {string}
@##viewid {string}
@zoom #.## @1zoom #.##
@2zoom #.##
@##zoom #.##
@span #.## @1span #.##
@2span #.##
@##span #.##
@center #.## #.## #.## @1center #.## #.## #.##
@2center #.## #.## #.##
@##center #.## #.## #.##
@matrix #.## #.## #.## #.## #.## #.## #.## #.## #.## @1matrix ...
@2matrix #.## #.## #.## #.## #.## #.## #.## #.## #.##
@##matrix #.## #.## #.## #.## #.## #.## #.## #.## #.##
@zslab # @1zslab # @zclip # @1zclip #
@2zslab # @2zclip #
... ...
@##zslab # @##zclip #
@ztran # @1ztran #
@2ztran #
@##ztran #

@localrotation #.## #.## #.## #.## #.## #.## #.## #.## #.##
a.k.a: @localrotat ... @localmatrix ...
@endlocalrotation @endlocalrot @endlocalmatrix
@localprecenter #.## #.## #.## @localcenter ... applied before matrix
@localpostcenter #.## #.## #.## applied after matrix
@endlocalcenter @endlocalcen @endlocalprecen @endlocalpostcen

@gnomon #.## #.## #.## #.## #.## #.## #.## #.## #.## #.## #.## #.##
place after the @group... line: to belong to that group
points on 3 axes and center (ok if each on separate line)
used by Docking routines to track change to a mobile group
MAGE will add to existing gnomon info or create anew if needed

@fontsizeinfo # @fontsizeinfo #
@fontsizelabels # @fontsizelabel #
@fontsizewords # @fontsizeword #
@tablefontsize # @fontsizetable #
@tableblackbkg black background (and blk bkg palette) for table
@tablewrap # number of columns across before wrap line below
@tablewrap auto-wrap first implemented in Java Mage
@tablewrapdecades auto-wrap # columns rounded down to 10's
@tablecolscale #.## scale calculated column width
@tablemarkradius #.## square marker radius for table selected graphics points
@tablefancore #.## inner radius of table value fan on graphics point
@tablefanradius #.## outer radius of table fan at a graphics point,
this is multiplied by point radius to represent the cell value

@beginselect keyword starts selection range, re: bondrot selection
@endselect keyword ends selection range, re: bondrot selection

(@beginemphasis prototype use only: starts selected range of emphasis)
(@endemphasis prototype use only: ends selected range of emphasis)

@listcolordominant @listcolordom usually point color is dominant: key 'l'
@lens #.## parameter of lens radius for lists marked "lens": key 'e'

@minutes #.## timed test of #.## minutes, results automatically written.
@drawline enables draw new function only for lines between points
@drawlabel enables draw new function only for labels (=pointID) at points
@drawball enables draw new function only for balls at points
(lines, labels, balls are inclusive! See list params answer & result: )
(scoring done only on answerlist type: limited to one type as of Sept 02)
@drawnew enables all draw new functions, useful for practice, etc.
(answer list without @minutes allows user to see scored result)
KINEMAGE menu items enabled to allow users to score and proceed in tests
@nosavealert NOT warn user about new drawings before doing next kinemage
@bigfonts sets toggle (w key) ON
@shortline #.## absolute amount to shorten each end of a new draw line

@comment {xxx yy z} character string just transfered unused to output
@command {xxx yy z} character string to be used for remote update cmd
@control creates a control button Lcontrol, which toggles Lcontrolon
@title {arbitrary kinemage title}
@copyright {date and author(s) }
@mapfile {filename.xmap} optional actual name to use for kin3Dcont
must be before any @group... line to apply to whole kinemage
@pdbfile {filename.pdb} optional actual name to use for prekin or probe
must be before any @group... line to apply to whole kinemage
@grouppdbfile {filename.pdb} specific group pdb to use for prekin or probe
must follow @group... line to apply to that group

--- masters ---
@colorset {name} color unique name and standard color as char strings
usage: @____list {listname} color= {name} ... anywhere in kinemage

@master {name} * forces named master buttons in inputed order
where * is one or more attributes optionally following {name}
"indent" "space" "on" "off" on off particular for pointmaster
@pointmaster 'C' {name} character 'C' associated with master= {name}
usage: {ptID} 'C' #.## #.## #.##

--- aspects ---
@1aspect {name-of-1st} (necessary to define for point aspect colors)
@2aspect {name-of-2nd}
@26aspect {name-of-26th}
points can have up to 16 color-codes in parentheses (ABC...)
positions invoked as the order of the numbers # of @#aspect {name}
but each position can have any one of the 26 capital letter color codes
codes in MAGE-HELP/Make kinemage: Internally generated palette kinemage. , Use "]" and "[" keys to cycle through aspects.

@nowfind {string} invokes FIND, input on the fly from an appended file
e.g.append 3 lines to search for string: @start @nowfind {string} @finish
as outputed by File/Save Special/pointID to file

@parameter #.## get up to 10 parameters to play with, e.g. diffractometer

{ #} #, #, #, {comment} matches: File/Save Special/palette to file
first # is 0-255 index of entry, then R,G,B 0-255, (comment ignored)
arbitrary number of entries, 251-254 ignored, entry color name NOT changed

-----obselete or violating reader's prerogatives----------
(@float #.##)
(@integer #)
(@ignore) allowed kinemage file to also be a, e.g., PS300 CHAOS display file
(@keepstereo) valid reader's choice but over-ridden by author's compare
(@keepthinline) artifact as author's choice, reader can use keyboard 't'
(@keepperspective) (@keepperspec) artifact as author's choice, keyboard 'p'
(@specialps) obselete: PostScript output now on menu
(@projection) construct line length * 1/cos(angle): now menu choice
(@constructdot) construct line puts dot instead of a line: now menu choice
(@multibin (#)) obselete, no effect
(@zoomonly) obselete, no effect
(@sideclip) obselete, no effect



--------mage group parameters------
@group {name} [param...]
animate (*prefix)
2animate (%prefix)
dominant (no buttons for member subgroups and lists)
nobutton (for this group)
recessiveon (dominant if off, recessive if on)
master= {name} (common master name) (see NOTES)
instance= {name} (name of a proceeding group) (see NOTES)
clone= {name} (name of a proceeding group) (see NOTES)
moview # (number of a Menu VIEW)
lens (applied to member points)
float (obselete now always do floating point perspective calc:
--- parameters for table groups ---
table (members put into table, invokes Mage to make a table window)
header (members are column headers of table: use labellist or wordlist)
(each table row is a group, uses labellist,wordlist,fanlist)
(point coords meaningless in a table: use "tablecell" for "x,y,z")
table pick picks graphics point with same pointID

--------mage subgroup parameters------
@subgroup {name} [param...]
dominant (no buttons for member lists)
nobutton (for this subgroup)
recessiveon (dominant if off, recessive if on)
master= {name} (common master name) (see NOTES)
instance= {name} (name of a proceeding subgroup) (see NOTES)
clone= {name} (name of a proceeding subgroup) (see NOTES)
lens (applied to member points)

--------mage list types------
vectorlist (Point x,y,z -->Line x,y,z -->Line x,y,z ...)
labellist (pointID displayed at x,y,z)
wordlist ( ,inc. new lines, displayed at x,y,z)
dotlist (line width # pixels at x,y,z
balllist( (disk [highlight] [shortened lines], center at x,y,z)
spherelist (stacked disks [highlight] [shortened lines] at x,y,z)
trianglelist (filled-in triangle)
ribbonlist (sets of 2 filled-in triangles have same normal)
arrowlist (Tail point x,y,z -->Head x,y,z with 4 tines ...)
marklist (screen-oriented squares around x,y,z)
ringlist (screen-oriented annulus around x,y,z)
fanlist (table member: screen-oriented, weighted feathers)
(weighted feathers radiate from x,y,z of asociated graphics point)
(@tablefancore #.## inner radius of table value fan on graphics point
(@tablefanradius #.## outer radius of table fan at a graphics point,

--------mage list parameters------
@_____list {name} [param...]
nobutton (for this list)

answer (list used as answer key with @minutes timed test)
(answer dominant nobutton off (hide answer key from user))
(answer must have point types of lines, labels, balls as test asks)
(answer list can be made with drawnew function in Mage.)
(see @minutes, @drawline, @drawlabel, @drawball ... )
result (list from drawnew of an earlier mage run to be scored vs. answer)

color= name colour= name (mage palette named colors)
master= {name} (common master name) (see NOTES)
instance= {name} (name of a proceeding list) (see NOTES)
clone= {name} (name of a proceeding list) (see NOTES)
lens (applied to member points)
radius= # (ball, sphere, mark, ring, arrow-head vane length)
angle= # (arrow-head tine angle)
width= # (pixel width of lines)
static (dynamic rotations not applied to members of this list)
nozclip (applied to points in this list)
nohi nohighlight
face (for characters in wordlist)
font (for characters in wordlist)
size (for characters in wordlist)

--------list parameters for bond rotations--------
see @beginselect and @endselect for artificial scope
otherwise scope of bondrot is from first point of list to last point
before bondrot of equal or lower number, or end of file
Starting angle is arbitrary as far as MAGE is concerned,
should be actual dihedral
Ganged rotations distinguished by listname
(phirotation) obselete March 2002 (flags a ganged rotation)
bondrot #.# (starting angle, one of ganged rotations)
0bondrot #.# (starting angle, trunk)
1bondrot #.# (starting angle, first branch)
2bondrot #.# (starting angle, later branch)
3bondrot #.# (starting angle, ...)
4bondrot #.# (starting angle)
5bondrot #.# (starting angle)
6bondrot #.# (starting angle)
7bondrot #.# (starting angle)
8bondrot #.# (starting angle)
9bondrot #.# (starting angle)
March 2002: recognize up to 20bondrot levels, accept up to 100 bondrots
(99bondrot prototype for monotonically continuing branch from last n)
parameter (Lbrotoption 1)
precession (Lbrotoption 2)
selection (Lbrotoption 3)
xrotation (Lbrotoption 4)
yrotation (Lbrotoption 5)
zrotation (Lbrotoption 6)
xtranslation (Lbrotoption 7)
ytranslation (Lbrotoption 8)
ztranslation (Lbrotoption 9)
samescope2 (2 bondrots have the same scope as first of 2)
samescopt3 (3 bondrots have the same scope as first of 3)
samescope4 (4 bondrots have the same scope as first of 4)
hplot (bondrot value plotted horizontally)
vplot (bondrot value plotted vertically)
zplot (bondrot value plotted in&out, perpendicular to screen)
pattern c... (MAXBONDPATT==37 characters== 0...A or R,Y,G on UNIX slider)
phirotation (Lbrotoption 10 ganged rotation of same-named bondrot lists)

--------mage point attributes------
point attributes are usually separated by white space
as a matter of style and ease of editing, do separate all by white space
but sometimes worth maximal compression to use storage, transmission, etc.
----------points---follow @____list line on the next line
{pointID} [attributes...separated by spaces, commas, new-lines, etc.] x y z
{ final } does not require white space before next attribute.
--trailing triple: x,y,z defines scope of a point, x,y,z only required thing
----table cells only: 'tablecell' or 'noxyz' can stand for triple
saved and outputted for all point types
written to screen for wordlists, written in cell in table groups
if present, written in lower left screen when label is picked
--------single character flags, all except P need trailing white space
P defines new beginning of Point-->Line-->Line-->...polyline in vectorlist
P synonyms are p M m i.e. in Move-->Draw, exception: P ends itself
presumed for first point of a vectorlist. L for 'Line' not essential.
L synonyms are l D d
U (or u) flags point as unpickable, see menu superpick item
B (or b) ball at this point in a vectorlist
S (or s) sphere at this point in a vectorlist
R (or r) screen oriented ring at this point in a vectorlist
Q (or q) screen oriented square at this point in a vectorlist
A (or a) arrow on this point of a vectorlist
T (or t) point is to be interpreted as part of a triangle in a vectorlist

'C' single quotes around character(s) identifying pointmaster(s),
case sensitive, declare before use earlier in kinemage
to avoid single char master name or master-name conflict:
@pointmaster 'C' {name} character 'C' associated with master= {name}

--------multiple character attributes------- need surrounding white space
colorname any of mage palette color names;
colorname! (exclaimation point) forces use of point color.

width1 (or thin) for forced one pixel wide lines
width2 (width#, where #= 1...7) forced # pixel wide lines
Effective pen width = line width specified by point width or list width
where point width is dominant over list width setting.
When not specified, multi-width mode uses pen width for depth cueing
but some display objects (rings and marks) default to a const.

r= f point radius for points that are balls, spheres, rings, etc,
also used for arrow vane length (vane angle is list angle).

dummy (or DUMMY) point is NOT used for setting min,max x,y,z extents
tablecell (or noxyz or NOXYZ) substitutes for x, y, z triple
ghost (or GHOST) point is seen but not in special output (like PDB)

The same master can refer to groups,subgroups,lists, each of which can
have multiple masters, but only 32 unique masters total.
Multiple masters are restrictive: all have to be ON for object to be ON
Object merely redisplayed at original coordinates, color can be different
but inherits masters, etc.
Object actually copied, can have changed coords, etc. new object in output.

COMMANDLINE, NO GUI, postscript output of each animation view:
mage filename.kin -postscript
produces: filename.kin.1.eps , filename.kin.2.eps , ... for n animate views

Capture the foo (besides game mode)
menu:Tools/Kludges/foo in cavity
Pick point for initial foo, grow in cavity, surface the foo.
Foo will coat a surface, and not puff out into the void.
Note: use Show Object Properties: group ignorable (by the foo).
For proper VdW size use: prekin -atomradii ...



--------mage hypertext help------
The hypertext capabilities of MAGE text has two interrelated functions.
One is for a system of questions presented to the reader that are each
answered in a dialog box that gives the reader access to information from
the most recently picked points.
The other is facility to instruct MAGE to move around in the kinemage
by jumps to specific kinemages and views, find pointID text strings, turn
on and off masters, and reset bond rotations. Of course, these moves can
be part of a scheme of questions. However, they confer an enormous power
to the reader, particularly because the text, including the hypertext, can
be edited during the session!
For Questions, kinemage number and View number are carried forward from
the last time they were set during the linear input of the TEXT window
material. Thus kinemage and view can be presumed for the go-to-graphics
option of a new question. However, if these are to re-defined for the
current question, this must be done before any master-button or FIND
controls are specified. This dependence on the order of controls is
NOT hypertext-like and might frustrate the reader/lecturer if they try to
jump around in the text. The author must balance readability and flow
of the text with robustness.

Format: starts with '*{' includes [options] ends with '}*'
Questions start with Q: but Mage keeps track of the question number.
*{Q: text of question... }*
Thus, if the second question in the kinemage is:
*{Q: Which is the active Ser?}*
Mage shows this in the text, with room for the answer in the underlined space
*{Q: 2 Which is the active Ser?}*___________________________

Change instructions to Mage include:
*{kinemage #, view #, alloff, master={name} on, find {string} }*
abreviations: kinemage kin k, view v, master m, find f
'alloff' turns all masters off, masters are individually set 'on' or 'off'

Bond rotations can be set (and edited and reset!):
*{rot={name 1} #.#, rot={name 2} #.# ...}* abr: 'rot=','rot ','r '
where 'name 1' == the bondrot identifier string seen on the slider bar
and #.# is the new value for that rotation angle
If Update by PROBE active, hypertext 'rot' triggers an update.
PREKIN after version 5.74 makes hypertext commands
for rot/mutated residues



---mage docking help------Visual based docking and superposition----
Tools menu item: 'Docking Scope' sets what ever groups currently 'ON'
to be mobile (they must be contiguous in the kinemage data structure) while
all other groups become the stabile, reference set.
(One can still set up by hand appropriate bond rotation/translation commands
in the kinemage file itself as once was the only way to do docking.)
A set of sliders appears in the far right panel which move the
mobile set relative to the reference set.
Less precise but more facile: holding down the shift key will restrict
drag motions to move only the mobile group.
Holding down the ctrl (PC:alt) key does xy scrolling instead of rotations
thus, holding down both shift and ctrl keys scrolls the mobile group(s)
relative to the reference set.
The saved kinemage has the modified coordinates of the mobile set.
The slider values are not updated by the mouse docking operations and
resetting the sliders does NOT reset the docking changes. However, MAGE
saves the relative changes with each mobile group and outputs
a keyword entry that can be used to externally reproduce the docking.
@gnomon #.## #.## #.## #.## #.## #.## #.## #.## #.## #.## #.## #.##
place after the @group... line: to belong to that group
points on 3 axes and center (ok if each on separate line)
used by Docking routines to track change to a mobile group
MAGE will add to existing gnomon info or create anew if needed
(Since a kinemage can be made from either a subset or superset of the
information in a PDB coordinate file, there is no general translation from
a modified kinemage to a modified PDB file.)

Three point docking onto 3 selected points in the reference group(s)
of another 3 points selected in the mobile group(s), is accessed through
[Edit/Draw New] which puts up a dock3on3 button in the side panel.
Activating dock3on3 empowers the next 3 picked points to be references
for the final 3 (6 total) to be moved. The scheme is the 1st mobile point
of a set of 3 is moved onto the first point in the reference set, the 2nd
is put onto the line defined by reference points 1 and 2, and the
3rd point is swung around to point toward reference point 3.
The entire set of points in the mobile groups are moved by these rules.
Mage is oblivious to how these points are actually picked, so they can
be picked on anything in the display, and the docking will be done as if
they were real points in the reference and mobile groups.

(Small PROBE contact analysis update requires inventing the appropriate
command line, also requires the pointIDs of the mobile groups to contain
PDB information needed by PROBE. It would be convenient for docking but
appropriate command is NOT generated automaticly in this version of MAGE.)