14sep02a.kps:if \rr2 < 1 then "rotate y 180"
14sep02a.kps:if \rr2 < 1 then "refl z"
14sep02a.kps:if \rr2 < 1 then "refl x"
14sep02a.kps:if \rr1 < .11 then "refl y;trans 0 12 0"
14sep02a.kps:if \rr1 < .11 then "about z 90;scale=.2"
14sep02b.kps:if \rr1 < .8 then "hsta=\rr130"
14sep02b.kps:if \rr1 < .5 then "refl x"
14sep02b.kps:if \rr1 < .5 then "refl y"
14sep02b.kps:if \rr1 < .5 then "refl z"
14sep02b.kps:if \rr1 < .03 then "sbuff;clrfun n;cyl=.2"
14sep02c.kps:if \rr1 < .5 then "therm = t"
14sep02c.kps:if \rr1 < .3 then "trans \rr+-3 \rr+-3 \rr+-3"
14sep02c.kps:if \rr2 < 1 then "refl grG last"
14sep02c.kps:if \rr2 < 1 then "refl x"
14sep02c.kps:if \rr2 < 1 then "refl z"
14sep02c.kps:if \rr1 < .005 then <electric.kps
14sep02c.kps:echo "         Press F3 to run this demo again (it's slightly different every time)" 
16cell.kps:if \rr2 < 1 then "spin 315 315 45" else "spin 0 0 0"
18feb07a.kps:%% c:\usr\KnotPlot\resource\win32\multiif.exe 28may05a.txt
18feb07a.kps:if par1 < 100 then "nop;par1=212"
18feb07a.kps:if par1 < 177 then "rotate x \rr+-90;par1=212"
18feb07a.kps:if par1 < 211 then "rotate y \rr+-9;par1=212"
1may05a.kps:if \rr2 < 1 then "par1=\ppar0"
1may05a.kps:if \rr2 < 1 then "draw brok;brof=\rr[-4/4]"
1may05a.kps:func 5 "draw brok;twfix \rr+-22222;echo *** Press again to get a different effect!"
1may05a.kps:if \rr3 < 2 then "func exec 4"
1may05a.kps:% multiif < 1may05a.txt
1may05a.kps:if par4 < 100 then "func exec 2;silent=t;par4=302"
1may05a.kps:if par4 < 200 then "nop;par4=302"
1may05a.kps:if par4 < 301 then "func exec 2;silent=t;func exec 3;par4=302"
1may05a.kps:echo " *** I'm not sure what this demo is supposed to show, but click again or press F1 to rerun!  Always different..."
1may05a.kps:if \ppar0 == 1 then "echo -n blending off (F2 toggles on/off)" else "echo -n blending on (F2 toggles off/on)" 
1may05a.kps:if \ppar2 == 3 then "echo zbuffer on (F3 toggles off/on)" else "echo zbuffer off (F3 toggles on/off)" 
1may05a.kps:if \ppar1 == 6 then "echo swizzler on (F4 toggles off/on)" else "echo swizzler off (F4 toggles on/off)" 
20oct05a.kps:if par1 != 395015120 then "reset all;scale=.2"
20oct05a.kps:if \rr2 < 1 then "hstart=\rr360"
20oct05a.kps:if \rr1 < 8 then "tangle x,"
20oct05a.kps:%if \rr2 < 1 then "tangle ." else "tangle N"
20oct05a.kps:if \rr2 < 1 then <fun-with-accbuff.kps
20sep00.kps:if \rr5 < 1 then "mathsv k 0 0 1 e;back=0"
20sep00.kps:if \rr1 < .9 then "rotate z 90"
20sep00.kps:if \rr1 < .01 then "refl rr"
20sep00.kps:% if value is 0 below, then the thing is white.  why?
20sep00.kps:if \rr21 < 1 then "mathsv k \rr360 1 1 e;back=0;value=.001"
22jun05a.kps:if \rr10 < 7 then "mode s" else "mode cb"
22jun05a.kps:if \rr4 < 2 then "sphere cheapo" else "sphere luxo"
23jun05c_aux.kps:if \rr2 < 1 then "par0 = \rr+-10.2" else  "par0 = \rr+-102.2"
23jun05c_aux.kps:tfunc 12 "echo if you get tired of pressing F2 repeatedly, then press F3"
24cell.kps:if \rr2 < 1 then "spin 0 0 0" else "spin 135 0 0"
25jun05a.kps:shift \rr222
25jun05a.kps:shift random
26oct03c.kps:if \rr2 < 1 then revb
26oct03c.kps:if par2 < 1 then "mode cb;cyl=.07"
26oct03c.kps:if par2 < 1 then "unknot \ri[3/4] .4" else "unknot 9 .4"
26oct03c.kps:if par1 < 1 then "unknot 102 10"
26oct03c.kps:if par1 < 1 then "mcyl all .2;mcyl 180 .4"
27mar05a.kps:if \rr2 < 1 then "knot" else "knot sp"
27mar05a.kps:if \rr2 < 1 then revb
27oct02a.kps:if \rr3 < 1 then "zbuff f;blend one one;back=0"
27oct02a.kps:if \rr1 < .9 then "back=0"
27oct02a.kps:if \rr1 < .5 then "trx = -12.033463" else "trx = 12.033463"
27oct02a.kps:if \rr2 < 1 then "chain \rr[9/25]" else "torus;try=1.09"
27oct02a.kps:if \rr1 < .5 then "rots z L"
27oct02a.kps:if \rr13 < 1 then "cyl=\rr[3/7];zbuff f;blend one one;back=0"
27oct02a.kps:if \rr1 < .6 then "tex normal face" else "tex normal lupin"
27oct02a.kps:if \rr5 < 1 then "dfunc glow;mathsv k 0 0 .1 s;value=.1;back=0"
28jul00a.kps:if \rr1 < .67 then "rotate x \rr[-70/0]"
28jul00a.kps:if \rr1 < .1 then "draw spec"
28jul00a.kps:if \rr1 < .5 then "mode sa"
28jul00a.kps:if \rr1 < .1 then "draw n;mode abc;cyl=.1"
28jul00a.kps:if \rr1 < .5 then "unknot \ri[22/155]" else "torus \ri[2/4] \ri[5/17] \ri[44/177]"
28jul00a.kps:if \rr1 < .5 then "jit .1"
28jul00a.kps:if \rr1 < .12 then "untran;rot x \rr[88/92];scale=.7"
28jul00a.kps:if \rr1 < .07 then "clrfun n"
28may05a.kps:%% c:\usr\KnotPlot\resource\win32\multiif.exe 28may05a.txt
28may05a.kps:if par1 < 100 then "nop;par1=212"
28may05a.kps:if par1 < 177 then "rotate x \rr+-90;par1=212"
28may05a.kps:if par1 < 211 then "rotate y \rr+-9;par1=212"
28may05a_aux.kps:%% c:\usr\KnotPlot\resource\win32\multiif.exe 28may05a_aux.txt
28may05a_aux.kps:if par2 < 30 then "sphere cheapo \ri[3/22] \ri[3/22] \rr70;par2=199"
28may05a_aux.kps:if par2 < 130 then "sphere luxo \ri[2/4];par2=199"
28may05a_aux.kps:if par2 < 195 then "sphere icos \ri[2/4];par2=199"
28may05a_aux.kps:if par2 < 198 then "sphere teapot;par2=199"
30oct05a.kps:if \rr2 < 1 then "breakup r 66.1 16.7 164" else "breakup r 11.3 -93.4 79.2"
30oct05a.kps:if \rr6 < 1 then "draw sbro" else "draw brok"
30oct05a.kps:if \rr2 < 1 then "knot s" else knot
4d-spun-knot.kps:if \rr3 < 1 then "back=#135"
4d-spun-knot.kps:if \rr2 < 1 then "func exec c 1" else "func exec c 2"
4d-spun-knot.kps:if \rr10 < 7 then "4dop disp acs"
4jul05a.kps:if \rr2 < 1 then "about z 45"
6.3-relax.kps:if \rr1 < .5 then "load demos-demo3.k" else "conway 2112"
6.3-relax.kps:if KPbuild < 2990 then "anim cyl .06 .6 27 log" else "anim cyl .06 .6 .75 log"
6.3-relax.kps:if KPbuild < 2990 then "anim broff .01 5 14 log" else "anim broff .01 5 .2 log"
7.1-relax.kps:if \rr1 < .5 then "load demos-demo4.k" else "conway 7"
7.1-relax.kps:if KPbuild < 2990 then "anim cyl .06 .6 27 log" else "anim cyl .06 .6 .75 log"
7.1-relax.kps:if KPbuild < 2990 then "anim broff .01 5 14 log" else "anim broff .01 5 .2 log"
7jun00a.kps:if \rr1 < .2 then "mathsv k \rr360 1 .5 e"
7jun00a.kps:if \rr1 < .1 then "vcn=\ri[3/6]"
7jun00a.kps:if \rr1 < .2 then "back=0"
7jun00a.kps:if \rr1 < .5 then "tangle 2@!z#" else "tangle 111Z1Z11c"
7jun00a.kps:if \rr1 < .01 then "random tangle"
7jun00a.kps:if \rr1 < .5 then "refl rr" else "refl r"
7jun00a.kps:if \rr1 < .01 then "draw spec"
7jun00a.kps:if \rr1 < .1 then "scale \rr[.5/2] \rr[.5/2] \rr[.5/2]"
7mar07a.kps:if \rr2 < 1 then "wave colour hsv:22/1/1"
8jul00a.kps:if \rr1 < .4 then "draw flat" else "draw hflat"
8jun00a.kps:if \rr1 < .4 then "draw flat" else "draw hflat"
9jun05a.kps:echo "  *** Press F1 to rerun with different random parameters."
9jun05a.kps:if \rr2 < 1 then "dna draw 1" else "dna draw 3"
9jun05a.kps:if \rr2 < 1 then "hstart = \rr360"
9jun05a.kps:if \rr1 < 1 then "value=.05;zbuff f;blend one one;dna draw 1;sphere off"
9jun05a.kps:%if \rr1 < 1 then "value=.05;clrfun n;blend one one;dna draw 0;sphere off"
9jun05a.kps:if \rr4 < 3 then "clrfun n" else "clrfun z"
9jun05a.kps:if \rr111 < 1 then "draw SE"
ACN_illustrate.kps:alias ~trefoil "if \rr10 < 5 then {load ms/3.1} else {load mscl/3.1}"
ACN_illustrate.kps:alias ~fig8 "if \rr10 < 5 then {load ms/4.1;txt exec 4 108} else {load mscl/4.1;txt exec 5 108}"
ACN_illustrate.kps:sphere has a number of different coloured regions, possibly transparent.  
ACN_illustrate2.kps:txt -15 a "jitter knot" "jitter \rr[1/3];echo;echo;echo *** knot type allowed to change if lots of jittering;echo"
ACN_illustrate2.kps:sphere has a number of different coloured regions, possibly transparent.  
ACN_linkload.kps:if par5 < 10 then "load ms/2.2.1;txt exec 2 108;par5=23"
ACN_linkload.kps:if par5 < 16 then "load |brun3;txt exec 8 108;colour auto;par5=23"
ACN_linkload.kps:if par5 < 22 then "load mscl/2.2.1;txt exec 2 108;par5=23"
AntoinesNecklace.kps:if par0 != 562014 then "reset all" else "delete all"
AntoinesNecklace.kps:if par0 != 562014 then "Draw=f" else "Draw=t"
AntoinesNecklace.kps:% changed for different effects.
AntoinesNecklace.kps:if par0 == 562014 then "scale=.35" else "scale = 1"
AntoinesNecklace.kps:if par0 == 562014 then "disp;nap .1"
AntoinesNecklace.kps:if par0 == 562014 then "disp;nap .1"
AntoinesNecklace.kps:if par0 == 562014 then "disp;nap .1"
AntoinesNecklace.kps:if par0 == 562014 then "disp;nap .1"
AntoinesNecklace.kps:if par0 == 562014 then "disp;nap .1"
AntoinesNecklace.kps:if par0 == 562014 then "disp;nap .1"
AntoinesNecklace.kps:if par0 == 562014 then "disp;nap .1"
AntoinesNecklace.kps:if par0 == 562014 then "scale=.35" else "scale=.6"
AntoinesNecklace.kps:% Modify the file randomize-colours to get different effects.
AntoinesNecklace.kps:if par0 != 562014 then "Draw=f" else "Draw=t"
AntoinesNecklace.kps:echo " *** Press F1 to redo with different colours."
BBframe.kps:if KPbuild < 2753 then "ortho 4 4 44" else ortho
BBframe.kps:if win32 "refine 3"
BBframe.kps:if unix  "refine 3"
Backdrops.kps:if par2 < 25 then "drop ca xaa0000;drop cb xaa0000;drop cc 0;drop cd 0;par2=102"
Backdrops.kps:if par2 < 50 then "drop cc xaa0000;drop cd xaa0000;drop ca 0;drop cb 0;par2=102"
Backdrops.kps:if par2 < 75 then "drop cc xaa0000;drop cd xaa0000;drop ca x66ff;drop cb x66ff;par2=102"
Backdrops.kps:if par2 < 100 then "drop ca xaa0000;drop cb xaa0000;drop cc x66ff;drop cd x66ff;par2=102"
Backdrops.kps:if \rr102 < 1 then "drop ca \ri16777215;drop cb \ri16777215;drop cc \ri16777215;drop cd \ri16777215"
ChiralKnotsB.kps:if par5 != 344585448 then "reset all;ortho;hstart=\rr[20/40];par4=\rr100"
ChiralKnotsB.kps:if \rr2 < 1 then "reflect z"
ChiralKnotsB.kps:if \ppar4 < 95 then "txt c -30 a_chiral_knot_is_one_that_is_not;txt c a equivalent_to_its_mirror_image" else "txt c -30 an_achiral_knot_is_one_that_is;txt c a equivalent_to_its_mirror_image"
ChiralKnotsBc.kps:if par5 != 344585448 then "reset all;ortho;hstart=\rr[20/40];par4=\rr100"
ChiralKnotsBc.kps:if \rr2 < 1 then "reflect z"
ChiralKnotsBc.kps:if \ppar4 < 95 then "txt c -30 a_chiral_knot_is_one_that_is_not;txt c a equivalent_to_its_mirror_image" else "txt c -30 an_achiral_knot_is_one_that_is;txt c a equivalent_to_its_mirror_image"
ConeyMagic2.kps:if \rr2 < 1 then revb
ConeyMagic2.kps:if \rr2 < 1 then revb
ConeyRavenna1.kps:func 4 "func exec cs 1;idle {about z .6;rotate z -.6;scen shift 1}"
CubicSAW.kps:%% with command line: c:\usr\KnotPlot\resource\win32\multiif.exe CubicSAW.txt
CubicSAW.kps:if par2 < 1 then "read CubicSAW_axes.kps;par2=58"
CubicSAW.kps:if par2 < 4 then "read CubicSAW_noncent.kps;par2=58"
CubicSAW.kps:if par2 < 12 then "read CubicSAW_bbox.kps;par2=58"
CubicSAW.kps:if par2 < 57 then "read CubicSAW_cofm.kps;par2=58"
CubicSAW.kps:if \rr3 < 1 then "rot x \rr360"
CubicSAW.kps:if \rr3 < 1 then "rot y \rr360"
DemoA.kps:%  argu 3 - action for button, ignored if a label
DemoA.kps:button DemoA chirality "if \rr100 < 50 then <ChiralKnotsB.kps else <ChiralKnotsBc.kps" -1 -1 0 0
DemoA.kps:if spenabled then "button DemoA spool <spool1.kps -1 -1 0 0"
DemoA.kps:if stereo then nop else "button DemoA shadows <shadows.kps -1 -1 0 0"
DemoA.kps:if KPbuild > 3181 then "button DemoA THK <turkshead2.kps -1 -1 0 0"
DemoA.kps:%if KPbuild > 3181 then "button DemoA alt_deco <altdeco.kps -1 -1 0 0"
DemoA.kps:%if KPbuild > 3181 then "button DemoA alt_deco_moeb <altdeco-moeb.kps -1 -1 0 0"
DemoA.kps:if KPbuild > 3514 then "button DemoA free_drag <FreeDrag.kps -1 -1 0 0"
DemoA.kps:if stereo then nop else "button DemoA Hopf <hopf.kps -1 -1 0 0"
DemoA.kps:if KPbuild > 3587 then "button DemoA plaits <plaits.kps -1 -1 0 0"
DemoA.kps:if KPbuild > 3592 then "button DemoA splaits <splaits.kps -1 -1 0 0"
DemoA.kps:if KPbuild > 3646 then "button DemoA star/box <starbox.kps -1 -1 0 0"
DemoA.kps:if KPbuild > 3999 then "button DemoA Fun_w_Forces <fwf.kps -1 -1 0 0"
DemoA.kps:if KPbuild > 4001 then "button DemoA Thing_toss <thingtoss.kps -1 -1 0 0"
DemoA.kps:%if exists colabex/start-demo.kps then <exib-buttons.kps
DemoA.kps:if KPbuild > 3222 then "<../exhibits/ExhibitList.kps"
DemoA.kps:if KPbuild < 3516 then "<warn_KPbuild.kps"
DemoB.kps:% if XPOS == -2 then XPOS = hspace
DemoB.kps:% if XPOS < 0.0 then XPOS += (hspace + prev_button_width)
DemoB.kps:% if WIDTH <= 0.0 then WIDTH = 
DemoB.kps:%if \rr4 < 1 then "button DemoB Tangled_mess <TangledMess.kps -1 -1 0 0" 
DemoB.kps:if \rr2 > 1 then "button DemoB Skelions <skelions.kps -1 -1 0 0" else "button DemoB Crop_circles <skelions.kps -1 -1 0 0"
DemoB.kps:% multiif < demob.txt
DemoB.kps:if par2 < 1 then "button DemoB do_not_click <do-not-click.kps -1 -1 0 0;par2=28"
DemoB.kps:if par2 < 6 then "button DemoB Weird_Cone <WeirdCone.kps -1 -1 0 0;par2=28"
DemoB.kps:if par2 < 27 then "button DemoB Freaky <FreakyA.kps -1 -1 0 0;par2=28"
DemoB.kps:if KPbuild > 3237 then "button DemoB flicker_test <flicker_test2.kps -1 -1 0 0"
DemoB.kps:if KPbuild > 3185 then "button DemoB Ea <graphicsEa.kps -1 -1 0 0"
DemoB.kps:if KPbuild > 3185 then "button DemoB Eb <graphicsEb.kps -1 -1 0 0"
DemoB.kps:if KPbuild > 3185 then "button DemoB Ec <graphicsEc.kps -1 -1 0 0"
DemoB.kps:if KPbuild > 3945 then "button DemoB Eo <aum-fly.kps -1 -1 0 0"
DemoB.kps:%% with command line: c:\usr\KnotPlot\resource\win32\multiif.exe CFK.txt
DemoB.kps:if par0 < 10 then "button DemoB C <graphicsC.kps -1 -1 0 0;par0=32"
DemoB.kps:if par0 < 20 then "button DemoB F <graphicsF.kps -1 -1 0 0;par0=32"
DemoB.kps:if par0 < 31 then "button DemoB K <graphicsK.kps -1 -1 0 0;par0=32"
DemoB.kps:%% with command line: c:\usr\KnotPlot\resource\win32\multiif.exe glodemos.txt
DemoB.kps:if par0 < 10 then "button DemoB H <graphicsH.kps -1 -1 0 0;par0=42"
DemoB.kps:if par0 < 20 then "button DemoB Ha <graphicsHa.kps -1 -1 0 0;par0=42"
DemoB.kps:if par0 < 30 then "button DemoB I <graphicsI.kps -1 -1 0 0;par0=42"
DemoB.kps:if par0 < 41 then "button DemoB J <graphicsJ.kps -1 -1 0 0;par0=42"
DemoB.kps:if KPbuild > 3381 then "button DemoB M <graphicsM.kps -1 -1 0 0"
DemoB.kps:if KPbuild > 3419 then <procomp_DemoB_aux.kps
DemoB.kps:if KPbuild > 3677 then "button DemoB R <1may05a.kps -1 -1 0 0"
DemoB.kps:if stereo then nop else <anaglyphButtons.kps
DemoB.kps:%if KPbuild > 3668 then "button DemoB F <anaglyphrcF.kps -1 -1 0 0"
DemoB.kps:%if KPbuild > 3668 then "button DemoB G <anaglyphrcG.kps -1 -1 0 0"
DemoB.kps:%if KPbuild > 3668 then "button DemoB F <anaglyphrbF.kps -1 -1 0 0"
DemoB.kps:%if KPbuild > 3668 then "button DemoB G <anaglyphrbG.kps -1 -1 0 0"
DemoB.kps:if KPbuild < 3516 then "<warn_KPbuild.kps"
FreakyA.kps:if par1 == 3642963 then "delete all" else "reset all"
FreakyA.kps:if \rr4 < 3 then "mode B" else "mode fB"
FreakyA.kps:if \rr3 < 2 then "draw spec" else "draw norm"
FreakyA.kps:if \rr3 < 1 then "cyl=\rr[.1/.2];mode sBf;blend one one;zbuff f;glop backface t;ncur=13"
FreakyA.kps:echo "      Press F1 to rerun demo (different everytime)."
FreeDrag.kps:%% if \rr2 < 1 then "mode sb" else "mode cb"
FreeDrag.kps:% multiif < FreeDrag.txt 
FreeDrag.kps:if par0 < 3 then "line number \ri[20/33];line;align ax;about z 45;par0=29"
FreeDrag.kps:if par0 < 8 then "unknot 60;open 0;cut \ri[20/33];keep 0;about z \;par0=29"
FreeDrag.kps:if par0 < 13 then "torus 2 3 60;cut \ri59;cut \ri[20/33];keep 0;abo;par0=29"
FreeDrag.kps:if par0 < 18 then "torus 3 2 60;cut \ri59;cut \ri[20/33];keep 0;abo;par0=29"
FreeDrag.kps:if par0 < 23 then "torus 2 5 60;cut \ri59;cut \ri[20/33];keep 0;abo;par0=29"
FreeDrag.kps:if par0 < 25 then "torus 2 7 60;cut \ri59;cut \ri[20/33];keep 0;abo;par0=29"
FreeDrag.kps:if par0 < 28 then "torus 5 2 60;cut \ri59;cut \ri[20/33];keep 0;about z \rr360;par0=29"
FreeDrag_addunk.kps:if unsafe then "delete last;echo Press that key again." else "echo something more to play with"
Freedman.kps:if par5 != 391395360 then "reset all;cyl=.2;scale=.23"
Freedman.kps:if stereo then "back=0" else "spec back"
Freedman.kps:if \rr2 < 1 then "txt c a Is_it_a_Knot_or_an_Unknot?" else "txt c a Is_it_an_Unknot_or_a_Knot?"
Freedman.kps:if \rr2 < 1 then "echo -n knot (or unknot?)" else "echo -n unknot (or knot?)"
KPupgrade.kps:button DemoA "Rerun KnotPlot to see a different selection or upgrade" nop 4 6 80 10 4
KPupgrade.kps:button DemoB "Rerun KnotPlot to see a different selection or upgrade" nop 4 6 80 10 4
KnotPaint0.kps:if par0 < 7 then "mode cb" else "mode b"
KnotPaint0.kps:if \rr9 < 3 then "math k 22 .9 .1 d;math b 222 .94 .9 d;bead=\rr[.01/.02]"
KnotPaint0.kps:if \rr1022 < 1 then "math k \rr360 .9 .1 d"
KnotPaint0.kps:if \rr4 < 3 then "tgvas=6;conway 3" else "tgvas=2;random tangle"
KnotPaint0.kps:if \rr22 < 1 then "braid -cheapo (aB)^4;fitto \rr[3/7]"
KnotPaint0.kps:if \rr2 < 1 then revb
KnotPaint0.kps:if \rr5 < 1 then "tanf=t"
KnotPaint0.kps:if \rr7 < 1 then "about x 90"
KnotPaint0.kps:if \rr7 < 1 then "about y 90"
KnotPaint0.kps:if \rr7 < 1 then "about z 90"
KnotPaint0.kps:if par0 > 8 then "split"
KnotPaint0.kps:if \rr1022 < 1 then "3dop bgimage lupin;spec +bgimage"
KnotPaint0_aux1.kps:if \rr2 < 1 then "rot x 90" else "rot x -90"
KnotPaint0_aux2.kps:%if \rr2 < 1 then "rot x 90" else "rot x -90"
KnotPaint0_aux2.kps:if \rr2 < 1 then "torus \ri102 \ri102 \ri[22/88]" else "knot cd"
KnotPaint1.kps:if par0 < 7 then "mode cb" else "mode b"
KnotPaint1.kps:if \rr9 < 3 then "math k 22 .9 .1 d;math b 222 .94 .9 d;bead=\rr[.01/.02]"
KnotPaint1.kps:if \rr1022 < 1 then "math k \rr360 .9 .1 d"
KnotPaint1.kps:if \rr4 < 3 then "tgvas=6;conway 3" else "tgvas=2;random tangle"
KnotPaint1.kps:if \rr22 < 1 then "braid -cheapo (aB)^4;fitto \rr[3/7]"
KnotPaint1.kps:if \rr2 < 1 then revb
KnotPaint1.kps:if \rr5 < 1 then "tanf=t"
KnotPaint1.kps:if \rr7 < 1 then "about x 90"
KnotPaint1.kps:if \rr7 < 1 then "about y 90"
KnotPaint1.kps:if \rr7 < 1 then "about z 90"
KnotPaint1.kps:if par0 > 8 then "split"
KnotPaint1.kps:if \rr1022 < 1 then "3dop bgimage lupin;spec +bgimage"
KnotPaint2.kps:if par0 < 7 then "mode cb" else "mode b"
KnotPaint2.kps:if \rr9 < 3 then "math k 22 .9 .1 d;math b 222 .94 .9 d;bead=\rr[.01/.02]"
KnotPaint2.kps:if \rr1022 < 1 then "math k \rr360 .9 .1 d"
KnotPaint2.kps:if \rr6 < 1 then "ccmode = 2;value = .1;mode +c"
Lissajous.kps:if \ppar4 != 30702 then "reset all;par5=1;cyl=.15"
Lissajous.kps:txt 20 -65 "simplify knot" "func exec 2"
Lissajous.kps:echo "Click on one of the buttons `simplify knot' or `rerun demo' (in the view window)"
Lissajous.kps:Bogle et.al. Journal of Knot Theory and Its Ramifications 3#2 (1994) p. 121-140.
MH-prep.kps:if \pncomp > 0 then "save |.tmp;par2=1" else par2=0
MH-prep.kps:if \ppar2 == 1 then "load comb |.tmp"
Mandala4.kps:%% with command line: c:\usr\KnotPlot\resource\win32\multiif.exe Mandala4.txt
Mandala4.kps:if par3 < 10 then "dfunc symm \ri[3/8] \ri[0/2];par3=34"
Mandala4.kps:if par3 < 30 then "dfunc symm \ri[5/8] 1;par3=34"
Mandala4.kps:if par3 < 33 then "dfunc symm \ri[4/18] \ri[0/2];par3=34"
Mandala4.kps:echo " *** Press F1 to rerun demo with different parameters"
Mandala4.kps:echo "     Press F5 if you don't like the colours, F10 to clear screen"
Mandala4b.kps:echo " *** Press F1 to rerun demo with different parameters"
Mandala4b.kps:echo "     Press F5 if you don't like the colours, F10 to clear screen"
PA.kps:if par0 > 1 then "par1=\rr100"
PA.kps:if par1 > 80 then "broff=\rr[-.17/-.15]"
PA.kps:echo " (different combinations can be interesting)"
PA.kps:if par0 > 1 then "fitto 15;split;split;refine 2"
PA.kps:%if par0 > 1 then "twfix \rr+-2.2" else twfix
PA.kps:if \rr3 < 1 then "twfix \rr+-55"
PA.kps:if \rr33 < 1 then "twfix \rr+-222"
PA.kps:if \rr2 < 1 then "brof=\rr[-4/-2]" else "brof=\rr[1/3]"
PA.kps:if \rr2 < 1 then "tanf=t"
PTframe.kps:if \rr3 < 2 then knot else "knot s"
PTframe.kps:if \rr5 < 1 then "knot num \ri[2/384] ms;fitto 19;split;split;split"
PTframe.kps:echo "      Press F1 to rerun demo with a different knot."
Perko.kps:if par5 != 41211169 then "reset all;scale=.18;cyl=.45"
SeaSlugs.kps:if sstereo then "fog range 25 31"
SeaSlugs.kps:%if \rr10 < 8 then "#10 line" else "chain 10 9;par=1"
SeaThings.kps:if \rr1 < .999 then "knot 2" else "knot 3"
SeaThings.kps:if \rr1 < 0.5 then "swap 0 1"
StElmo_aux.kps:if \rr2 < 1 then "auto-colour=off"
StElmo_aux.kps:if \rr9 < 1 then "mathsv k \rr55 1 \rr.4 e"
StElmo_aux.kps:if \rr1 < .05 then "vcn=\ri[1/5]"
StElmo_aux.kps:if \rr2 < 1 then "math k 0 0 .2 s" else "math k 0 0 \rr.2 s"
StElmo_aux.kps:if \rr2 < 1 then "knot cd \ri[3/8] d" else "knot cd \ri[3/7] c"
StElmo_aux.kps:if \rr2 < 1 then revb
StElmo_aux.kps:if \rr2 < 1 then "hincr=0"
StElmo_aux.kps:if \rr4 < 1 then "tanf=on"
StElmo_aux.kps:if \rr66 < 1 then "<delay-power.kps"
TangledMess.kps:if par0 == 386517 then nop else "reset all"
TopoICE-init.kps:if par0 == 1522062301 then "reset all"
UnknotFlowers.kps:%if \rr1 < 1 then "rot x \rr360;rot y \rr360;rot y \rr360"
UnknotFlowers.kps:if \rr9 < 1 then <unkflo-aux.kps
UnknotFlowers.kps:func 10 "read unkflo-aux.kps;silent=f;echo;echo;echo Press F9 to stop, F10 again for a different speed or direction.;echo"
WeirdCone.kps:% This relies on interference effects caused by aliasing artifacts.
allow_accbuff.kps:txt 30 a "   --- if performance is reasonable (frame rate is pretty good) AND you"
anaglyphB.kps:if \rr1 < .1 then "torus" else "chain \ri[11/33]"
anaglyphB.kps:if par0 < .2 then "mode cbf"
anaglyphB.kps:if par0 < .2 then "cyl=.06"
anaglyphC.kps:if \rr1 < .1 then "torus" else "chain \ri[11/33]"
anaglyphC.kps:%if \rr1 < .3 then "sat=.5"
anaglyphC.kps:idle "silent=t;knot num \ri[2/384] ms;fitto 9;disp t;if \rr1 < .33 then sat=.5 else sat=0;ago 166;silent=f"
anaglyphD.kps:echo " *** Press F1 thru F4 for different eye spacings"
anaglyphD.kps:echo "     Press F5 thru F8 for different point sizes"
anaglyphG.kps:if \rr2 < 1 then "par0=\rr[20/204]" else "par0=\rr[-20/-204]"
anaglyphG.kps:if \rr2 < 1 then "torus \ri[1/40] \ri[1/40] \ri[20/60] \rr[2/10] \rr[-2/6]" else "torus \ri[3/222] \ri[3/222] \ri[22/222]"
anaglyphG.kps:if \rr2 < 1 then "torus \ri[1/40] \ri[1/40] \ri[20/60] \rr[2/10] \rr[-2/6]" else "torus \ri[3/222] \ri[3/222] \ri[22/222]"
anaglyphG.kps:% a different construction with varying R and d torus values
anaglyphrbA.kps:if \rr1 < .4 then "conway 2" else "conway 3"
anaglyphrbA.kps:if \rr1 < .2 then "tangle 111111c"
anaglyphrc.kps:if stereo then nop else "anaglyph init;anaglyph r.gb"
anaglyphrcA.kps:if \rr1 < .4 then "conway 2" else "conway 3"
anaglyphrcA.kps:if \rr1 < .2 then "tangle 111111c"
aum-fly.kps:if \rr2 < 1 then "brof=\rr[-4/-2]" else "brof=\rr[1/3]"
braidwarp.kps:if \rr1 < .5 then "draw spec" else "draw norm"
brun-relax-init.kps:if par1 != 999711 then "reset all;cyl = .3;scale=.23"
brun-relax-init.kps:if stereo then "back=0" else "spec back"
brun-relax-init.kps:if par1 != 999711 then "rot x -60;rot z 45"
brun-relax-movie.kps:txt c 65 "becomes trivial if one string is removed."
brun-relax-relax.kps:txt c 55 "One string deleted, now simplifying..." 
brun-relax-relax.kps:txt c 20 "Press F2 to simplify faster" 
brun-relax-relax.kps:echo "  *** One string deleted, now simplifying..." 
brun-relax-relax.kps:echo "      Press F2 to simplify faster, (but it's more fun to not press F2)"
bug1.kps:if anaglyph then back=x666666 else back=x995511
bug1.kps:if \rr5 < 1 then "mode cb;cyl=.12;bead=.23;math k 33 1 1 d"
bug1.kps:if \rr2 < 1 then "scale=.36;trx=0;try=1.45;viewmatrix 0.001309 -0.999132 -0.041600 0.572635 -0.033355 0.819130"
bug1.kps:if \rr3 < 1 then "refl z"
bug1.kps:echo "     F1 reloads demo, F2 deletes beads and relaxes, F3 for a different view."
cable.kps:if \rr8 < 1 then "d-torus=\rr[.1/.3]"
cable.kps:if \rr1 < .5 then "draw spec" else "draw norm"
chains.kps:if \rr99 < 1 then "knot 1"
chains.kps:if \rr3 < 2 then "chain \ri[66/102]" else "chain \ri[66/102] 0 \ri+-11"
chains.kps:if \rr5 < 1 then "#888 swap"
chains.kps:if \rr21 < 1 then "cmode -1;cmode 3 1 1 1"
chains.kps:if \rr19 < 1 then "tex appmode replace;cyl=.3;tex lupin"
clip_test.kps:if \rr4 < 1 then "mode cb;cyl=.2;bead=.28"
clip_test.kps:if \rr4 < 3 then "knot" else "knot s"
clip_test.kps:if \rr9 < 1 then "spe +axes"
clip_test.kps:if \rr9 < 1 then "spe +grid"
clip_test.kps:if \rr3 < 1 then "spe +orient"
clip_test.kps:if \rr6 < 1 then "tanf=on"
clip_test.kps:if \rr9 < 1 then <specommalignaxes.kps
clip_test.kps:if \rr3 < 1 then <randorient2.kps
close-all-safely.kps:if unsafe then "load |.tmp"
coDemo.kps:% customized for a specific project.
coDemo.kps:%  argu 3 - action for button, ignored if a label
coDemo.kps:if \rr1 < .5 then <monster-aux1.kps else <monster-aux2.kps
coDemo.kps:if KPbuild > 3181 then "button 8 THK <turkshead2.kps -1 -1 0 10"
coDemo.kps:if KPbuild > 3181 then "button 8 alt_deco <altdeco.kps -1 -1 0 10"
coDemo.kps:if KPbuild > 3181 then "button 8 alt_deco_moeb <altdeco-moeb.kps -1 -1 0 10"
coDemo.kps:if KPbuild > 3325 then "button 8 tangles <thold.kps -1 -1 0 10"
coDemo.kps:if KPbuild > 3371 then "button 8 random <rand_anchors.kps -1 -1 0 10"
coDemo.kps:if KPbuild > 3167 then "button 8 Graphs <graphs.kps   -1 -1 0 10"
coDemo.kps:%if exists colabex/start-demo.kps then <exib-buttons.kps
coDemo.kps:if KPbuild > 3222 then "<../exhibits/ExhibitList.kps"
collideA.kps:if \rr22 < 1 then "mode B;tex env lupin;tex on"
collideB.kps:require KPbuild 4091 ifnot "reset all"
collideB.kps:if par0 != 149446177 then "reset all;hsta=\rr360"
collideB.kps:if \rr2 < 13 then "fly follow 1;persp 77 2 155;fog on;fog colour;fog end 155"
collideC.kps:if \rr22 < 1 then "mode B;tex env lupin;tex on"
collideE.kps:require KPbuild 4002 ifnot "reset all"
collideE.kps:if par4 != 36795246 then "reset all;rotate x -55;scale=.24;par1=90;par2=4;par3=2"
complete-graph.kps:if \rr22 < 1 then "mode cb;cyl=.07"
complete-graph.kps:if par1 < 10 then "read complete-graph5.kps;par1=57"
complete-graph.kps:if par1 < 25 then "read complete-graph6.kps;par1=57"
complete-graph.kps:if par1 < 40 then "read complete-graph7.kps;par1=57"
complete-graph.kps:if par1 < 56 then "read complete-graph8.kps;par1=57"
cpanel_help.kps:% should go from least to most specific
demo-relaxA.kps:if \rr1 < .8 then "velf=t"
demo_panel_upgrade.kps:txt c a "A different selection of buttons is"
do-not-click.kps:if par1 < 60 then "<violently-happy.kps" else "<ufos.kps"
dowker.kps:func cs 1 "if \ppar4 == 0 then <dowker_aux1.kps"
dowker.kps:func cs 2 "if \pncomp > 1 then {echo *** DT code may not be correct for links;echo}"
dowker.kps:func s 7 "if \ppar5 == 1 then {func exec s 5} else {func exec s 6}"
dowker.kps:func c 8 "untran;read randorient.kps;shift maxx"
dowker.kps:func c 10 "echo;echo;echo *** might change the DT code (ignoring sign) if not an orthographic projection;echo"
dowker.kps:txt 5 -18 "shift start to:"
dowker.kps:txt 80 a0 "max x" "rot fix;shift maxx"
dowker.kps:txt 130 a0 "min x" "rot fix;shift minx"
dowker.kps:txt 80 a "max y" "rot fix;shift maxy"
dowker.kps:txt 130 a0 "min y" "rot fix;shift miny"
dowker.kps:txt 10 a   "revbeads" "revbeads;shift 1"
dowker.kps:txt -10 a Ashley "load Ash2445.k;fitto 10;untran;revb rand;scale=.368;shift maxx;func exec c 2;func exec c 5"
dowker.kps:txt -10 a monster "load Monster.k;shift maxx;untran;func exec c 2;;func exec c 5;echo *** click on relax `normal' button;echo"
dowker.kps:       in the z direction should change only the signs of the code if you are using 
dowker.kps:       an orthographic projection.  possibly the code itself if viewing with perspective.
dowker.kps:   --- `memtest' tests for memory leaks.  it's funnest if you first click `min stick' button.
dowker.kps:Dowker, C. H.; Morwen B. Thistlethwaite (1983). "Classification of knot projections". 
dowker_aux1.kps:      projection.  this is usually a perspective projection and is different
eofill-colour.kps:if \rr2 < 1 then "back=0" else "back=xffffff"
eofill-colour.kps:if par0 < 33 then "value=0;back=xffffff;par0=888"
eofill-colour.kps:if par0 < 66 then "sat=0;back=0;par0=888"
eofill-colour.kps:if \rr97 < 1 then "back=xff0000"
eofill-colour.kps:if \rr97 < 1 then "back=x00ff00"
eofill-colour.kps:if \rr97 < 1 then "back=x0000ff"
eofill-colour.kps:if \rr97 < 1 then "back=x00ffff"
eofill-colour.kps:if \rr97 < 1 then "back=xff00ff"
eofill-colour.kps:if \rr97 < 1 then "back=xffff00"
field_lorenz.kps:if \rr2 < 1 then "mode bF" else "mode F"
field_lorenz.kps:if \rr2 < 1 then "unknot \ri[10/75] \rr[.3/10];about z \rr360" else knot
field_lorenz.kps:if \rr2 < 1 then "mode F;zbuff f;3dop colF \rr44 1 .4;blend one one;par1=12"
field_lorenz.kps:% multiif < field_lorenz.txt 
field_lorenz.kps:if par2 < 1 then "about x 90;par2=5"
field_lorenz.kps:if par2 < 2 then "about y 90;par2=5"
field_lorenz.kps:if par2 < 4 then "nop;par2=5"
field_lorenz.kps:echo "      Press F1 to rerun demo (always different)."
fig8-relax.kps:if \rr3 < 2 then "<Backdrops.kps"
fig8-relax.kps:if \rr1 < .5 then "load demos-demo2.k" else "conway 22"
fig8-relaxB.kps:if \rr1 < .5 "special backdrop"
flicker_test2.kps:if anaglyph then "reset all;echo;echo;echo This demo does not work in anaglyph mode.;echo"
fwf-aux.kps:if \pgrav == 1 then "txt 10 a gravity_is_on" else "txt 10 a gravity_is_off"
fwf-aux.kps:func s 4 "if \pgrav == 1 then {grav=f;grav=0} else {grav=t;grav=1};read fwf-aux.kps"
fwf-aux.kps:if \pelec == 1 then "txt 10 a electric_force_is_on" else "txt 10 a electric_force_is_off"
fwf-aux.kps:func s 6 "if \pelec == 1 then {elec=f;elec=0} else {elec=t;elec=1};read fwf-aux.kps"
fwf-aux.kps:if \pmech == 1 then "txt 10 a mechanical_force_is_on" else "txt 10 a mechanical_force_is_off"
fwf-aux.kps:func s 1 "if \pmech == 1 then {mech=f;mech=0} else {mech=t;mech=1};read fwf-aux.kps"
fwf-aux.kps:if \panch == 1 then "txt 10 a archors_are_on" else "txt 10 a anchors_are_off"
fwf-aux.kps:func s 5 "if \panch == 1 then {anch=f;anch=0} else {anch=t;anch=1};read fwf-aux.kps"
fwf-aux.kps:if \pvelf == 1 then "txt 10 a velocity_force_is_on" else "txt 10 a velocity_force_is_off"
fwf-aux.kps:func s 2 "if \pvelf == 1 then {velf=f;velf=0} else {velf=t;velf=1};read fwf-aux.kps"
fwf-aux.kps:if \ptherm == 1 then "txt 10 a thermal_force_is_on" else "txt 10 a thermal_force_is_off"
fwf-aux.kps:func s 3 "if \ptherm == 1 then {ther=f;therm=0} else {ther=t;therm=1};read fwf-aux.kps"
fwf-aux.kps:func c 1 "if \pgrav == 1 then {echo;echo;echo *** NOTE, If gravity is on and anchors off, your knot may disappear!;echo Turn anchors on to get it back;echo}"
fwf-aux.kps:if \panch == 0 then "func exec c 1"
fwf-randomize.kps:if \rr20 < 10 then elec=t else elec=f
fwf-randomize.kps:if \rr20 < 10 then mech=t else mech=f
fwf-randomize.kps:if \rr20 < 15 then velf=t else velf=f
fwf-randomize.kps:if \rr20 < 8 then ther=t else ther=f
fwf-randomize.kps:if \rr20 < 10 then grav=t else grav=f
fwf-randomize.kps:if \rr20 < 12 then anch=t else anch=f
fwf.kps:if \ppar3 != 30635884 then <fwf-init.kps
fwf.kps:if \rr3 < 2 then "ccmode=2"
fwf.kps:%% with command line: c:\usr\KnotPlot\resource\win32\multiif.exe fwf.txt
fwf.kps:if par0 < 10 then "conway 3;par0=29"
fwf.kps:if par0 < 15 then "conway 2;par0=29"
fwf.kps:if par0 < 22 then "conway 4;par0=29"
fwf.kps:if par0 < 26 then "conway 32;par0=29"
fwf.kps:if par0 < 28 then "conway 2,3,2;par0=29"
fwf.kps:if \rr5 < 1 then "about y 90"
fwf.kps:if \rr2 < 1 then "about x 90"
fwf.kps:if \rr6 < 1 then "rotate x -90"
fwf.kps:if \rr6 < 1 then "rotate x 90"
fwf.kps:if par2 == 15 then "txt set selected"
fwf.kps:if par2 == 30 then "txt set selected"
fwf.kps:if par2 == 60 then "txt set selected"
fwf.kps:if par2 == 90 then "txt set selected"
fwf.kps:if par2 == 120 then "txt set selected"
fwf.kps:if par2 == 150 then "txt set selected"
fwf.kps:if par2 == 1022 then "txt set selected"
glueing-graphs.kps:if \rr2 < 1 then "sat = \rr1"
graphicsA.kps:if par0 != 81210201 then "reset all"
graphicsA.kps:if \rr1 < 0.5 then "back = 0"
graphicsA.kps:if \rr1 < 0.2 then "reset all;disp t"
graphicsA.kps:if \rr1 < 0.1 then "draw spec" else "draw norm"
graphicsA.kps:if \rr1 < 0.9 then "torus 0 0 0" else "knot spe"
graphicsA.kps:if \rr1 < 0.5 then "anim scale .8 .005 33 log" else "anim scale .005 .8 33 log" 
graphicsB.kps:if par0 < .5 then "back=0;par0=11"
graphicsB.kps:if par0 < 6 then "back=xffffff;par0=22"
graphicsB.kps:if par0 < 6.5 then "back=x996633;par0=22"
graphicsB.kps:if \rr3 < 2 then knot else "knot spe"
graphicsB.kps:if KPbuild > 3188 "shift random"
graphicsB.kps:if sstereo then "fog range 25 35"
graphicsB.kps:if \rr6 < 1 then "glop poly l"
graphicsB.kps:if \rr7 < 1 then "tex SphereMap;sat=\rr.5"
graphicsB.kps:if \rr4 < 1 then "open all"
graphicsB.kps:if \rr1 < .8 then "velf=t"
graphicsD.kps:if \rr1 < .4 then "hsta=\rr360"
graphicsD.kps:if \rr12 < 1 then "satu=0"
graphicsD.kps:if \rr3 < 1 then "vcn=\ri[2/7]"
graphicsD.kps:if \rr15 < 1 then "unknot \ri[8/17] 2"
graphicsD.kps:if \rr3 < 1 then "cyl=\rr[.5/2]"
graphicsD.kps:if \rr9 < 1 then "delet all;tfunc reset;tangle 111111c;scale=.3"
graphicsE.kps:if par0 > 1 then "knot num \ri[2/251] ms;fitto 15;split;split;split;refine 2"
graphicsE.kps:if \rr8 < 1 then "twfix \rr+-22"
graphicsE.kps:if par0 > 1 then "fitto 15;split;split;refine 2"
graphicsE.kps:%if par0 > 1 then "twfix \rr+-2.2" else twfix
graphicsE.kps:if \rr3 < 1 then "twfix \rr+-55"
graphicsE.kps:if \rr33 < 1 then "twfix \rr+-222"
graphicsE.kps:if par0 > 1 then "par1=\rr100"
graphicsE.kps:if par1 > 80 then "broff=\rr[-.17/-.15]"
graphicsE.kps:if \rr100 < 90 then "fly \rr[11/55]" else "fly \rr[-11/-55]"
graphicsE.kps:echo " (different combinations can be interesting)"
graphicsEa.kps:if \rr8 < 1 then "twfix \rr+-22"
graphicsEa.kps:if \rr3 < 1 then "twfix \rr+-55"
graphicsEa.kps:if \rr33 < 1 then "twfix \rr+-222"
graphicsEb.kps:if \rr8 < 1 then "twfix \rr+-22"
graphicsEb.kps:if \rr3 < 1 then "twfix \rr+-55"
graphicsEc.kps:if par0 > 1 then "knot num \ri[2/251] ms;fitto 15;split;split;split;refine 2"
graphicsEc.kps:if \rr8 < 1 then "twfix \rr+-22"
graphicsEc.kps:if par0 > 1 then "fitto 15;split;split;refine 2"
graphicsEc.kps:%if par0 > 1 then "twfix \rr+-2.2" else twfix
graphicsEc.kps:if \rr3 < 1 then "twfix \rr+-55"
graphicsEc.kps:if \rr33 < 1 then "twfix \rr+-222"
graphicsEc.kps:if \rr2 < 1 then "draw norm" else "draw brok"
graphicsEc.kps:%if par0 > 1 then "par1=\rr100"
graphicsEc.kps:%if par1 > 80 then "broff=\rr[-.17/-.15]"
graphicsEc.kps:if \rr100 < 90 then "fly \rr[11/55]" else "fly \rr[-11/-55]"
graphicsEc.kps:echo " (different combinations can be interesting)"
graphicsF.kps:if par2 != 536527 then "reset all"
graphicsF.kps:if \rr4 < 3 then "conw 3" else "conw 32"
graphicsF.kps:if \rr11 < 1 then "torus 2 3 24"
graphicsF.kps:if \rr33 < 1 then line
graphicsF.kps:if \rr2 < 1 then "hsta=\rr[11/28]" else "hsta=\rr[218/274]"
graphicsF.kps:if \rr44 < 1 then "unknot \ri[11/24]"
graphicsG.kps:if \rr3 < 1 then "mode bE" else "mode E"
graphicsG.kps:if \rr99 < 44 then "knot s" else knot
graphicsG.kps:if \rr11 < 1 then "refl r"
graphicsG.kps:if \rr22 < 1 then "rot x \rr360"
graphicsG.kps:if \rr22 < 1 then "rot y \rr360"
graphicsG.kps:if \rr22 < 1 then "rot z \rr360"
graphicsG.kps:if \rr3 < 1 then "tanf=f;force 1;coll a;velf=t"
graphicsG.kps:if \rr6 < 1 then "glop poly l"
graphicsG.kps:echo " Randomized demo, try again! (doesn't work with open components, if you see nothing, click again)"
graphicsH.kps:if \rr2 < 1 then "persp \rr[50/62]"
graphicsH.kps:%if \rr2 < 1 then "knot s" else "torus"
graphicsH.kps:if \rr22 < 1 then "refl r"
graphicsH.kps:if \rr22 < 1 then "open all"
graphicsHa.kps:%if \rr2 < 1 then "knot s" else "torus"
graphicsHa.kps:if \rr22 < 1 then "refl r"
graphicsHa.kps:if \rr22 < 1 then "open all"
graphicsI.kps:if \rr2 < 1 then "persp \rr[55/77]"
graphicsI.kps:if \rr11 < 1 then "persp 150;scale=1.3"
graphicsI.kps:if \rr9 < 1 then "about z 90"
graphicsI.kps:if \rr9 < 1 then "about x 90"
graphicsI.kps:if \rr9 < 1 then "about y 90"
graphicsI.kps:if \rr14 < 1 then "refl r"
graphicsJ.kps:if \rr3 < 1 then "mode c"
graphicsK.kps:if \rr3 < 2 then "back=f"
graphicsK.kps:if \rr5 < 1 then "disp t"
graphicsK.kps:if \rr22 < 1 then "mode cbf"
graphicsK.kps:if \rr22 < 1 then "mode bf"
graphicsK.kps:if \rr22 < 1 then "mode f"
graphicsK.kps:if par0 < 25 then "knot num \ri[2/384] ms;par0=999;echo a" 
graphicsK.kps:if par0 < 50 then "knot num \ri[2/251] mseq;par0=999;echo b"
graphicsK.kps:if par0 < 75 then "knot;del down 16;par0=999;echo c"
graphicsK.kps:if par0 < 100 then "knot num \ri[2/384] ms;fixc=t;stu=\ri[22/222];echo d"
graphicsK.kps:if par0 < 120 then "knot cd \ri[3/8] d;del down 0;fitto \rr[5/8];par0 = 977"
graphicsK.kps:if par0 < 140 then "knot cd \ri[3/8] c;del down 0;fitto \rr[5/8];par0 = 977"
graphicsK.kps:if \rr2 < 1 then "revb"
graphicsK.kps:if \rr5 < 1 then "fixc=t"
graphicsK.kps:if par0 > 988 then "split;split"
graphicsK.kps:if \rr6 < 1 then "refl r"load *
graphicsL.kps:if \rr400 < 360 then knot else "knot spe"
graphicsL.kps:if \rr5 < 1 then "knot cd"
graphicsL.kps:if \rr6 < 1 then "open all"
graphicsL.kps:satu = 0.0    % looks cooler if knot surface is white
graphicsL.kps:if \rr2 < 1 then go
graphicsM.kps:if \rr9 < 7 then back=0
graphicsM.kps:%% with command line: c:\usr\KnotPlot\resource\win32\multiif.exe graphicsM_aux1.txt
graphicsM.kps:if par1 < 300 then "knot;par1=459"
graphicsM.kps:if par1 < 355 then "knot s;par1=459"
graphicsM.kps:if par1 < 458 then "knot cd;par1=459"
graphicsM.kps:if \rr2 < 1 then revb
graphicsM.kps:%% with command line: c:\usr\KnotPlot\resource\win32\multiif.exe graphicsM_aux2.txt
graphicsM.kps:if par1 < 5 then "mode s;par1=48"
graphicsM.kps:if par1 < 7 then "mode c;par1=48"
graphicsM.kps:if par1 < 11 then "mode cb;par1=48"
graphicsM.kps:if par1 < 15 then "mode sb;par1=48"
graphicsM.kps:if par1 < 19 then "mode b;par1=48"
graphicsM.kps:if par1 < 23 then "mode cB;par1=48"
graphicsM.kps:if par1 < 28 then "mode sB;par1=48"
graphicsM.kps:if par1 < 33 then "mode B;par1=48"
graphicsM.kps:if par1 < 34 then "mode f;par1=48"
graphicsM.kps:if par1 < 37 then "mode bf;par1=48"
graphicsM.kps:if par1 < 39 then "mode cbf;par1=48"
graphicsM.kps:if par1 < 40 then "mode sbf;par1=48"
graphicsM.kps:if par1 < 43 then "mode Bf;par1=48"
graphicsM.kps:if par1 < 45 then "mode cBf;par1=48"
graphicsM.kps:if par1 < 47 then "mode sBf;par1=48"
graphicsM.kps:if \rr2 < 1 then "tanf=on"
graphicsN.kps:if par0 < 1.1 then "back=0"
graphicsN.kps:if par0 > 2 then "back=xffffff"
graphicsN.kps:if \rr10 < 3 then "vcn=\ri[1/5]"
graphicsN.kps:if \rr1 < .1 then "knot s" else knot
graphicsN.kps:if \rr2 < 1 then revb
graphicsN.kps:if par0 < 1 then "tex lupin"
graphicsN.kps:if par0 < .5 then "sat=.3"
graphicsN.kps:if \rr3 < 1 then "zbuff f;blend one one;back=0"
graphicsN.kps:if \rr12 < 1 then "draw brok;twfix"
graphs.kps:%% with command line: c:\usr\knotplot\resource\win32\multiif.exe graphs.txt
graphs.kps:if par0 < 20 then "read handcuff-graph.kps;par0=272"
graphs.kps:if par0 < 50 then "read thetacurves.kps;par0=272"
graphs.kps:if par0 < 120 then "read knot-cage.kps;par0=272"
graphs.kps:if par0 < 160 then "read random-graphs1.kps;par0=272"
graphs.kps:if par0 < 180 then "read complete-graph.kps;par0=272"
graphs.kps:if par0 < 220 then "read 10dec05a.kps;par0=272"
graphs.kps:if par0 < 271 then "read glueing-graphs.kps;par0=272"
gravity.kps:if par0 < 20 then "read 14sep02a.kps;par0=102.2"
gravity.kps:if par0 < 40 then "read 14sep02b.kps;par0=102.2"
gravity.kps:if par0 < 100 then "read 14sep02c.kps;par0=102.2"
guess_knot.kps:if \rr3 < 1 then "rotate x 180"
guess_knot.kps:if \rr2 < 1 then "rotate z 180"
guess_knot.kps:if stereo then "back=black" else "spec back"
guess_knot.kps:par4 = \rr10          % if par4 < 5 then Unknown1 is unknot, otherwise Unknown2 is unknot
guess_knot.kps:if \rr2 < 1 then "echo a trefoil, the other is an unknot." else "echo an unknot, the other is a trefoil."
guess_knot_annote.kps:if \ppar1 < 5 then "txt c -55 Unknot_or_Trefoil?" else "txt c -55 Trefoil_or_Unknot?"
guess_knot_unknown1.kps:if \ppar4 < 5 then "load Monster.k" else "load NotMonster.k"
guess_knot_unknown1_relax.kps:if \ppar4 < 5 then "<MonsterMovie.kps" else "<NotMonsterMovie.kps"
guess_knot_unknown2.kps:if \ppar4 < 5 then "load NotMonster.k" else "load Monster.k"
guess_knot_unknown2_relax.kps:if \ppar4 < 5 then "<NotMonsterMovie.kps" else "<MonsterMovie.kps"
handcuff-graph.kps:if \rr4 < 3 then "mode sC;cyl=.25"
handcuff-graph.kps:fixcofm = t  % it tends to drift a bit
handcuff-graph.kps:if \rr2 < 1 then "revb 0"
handcuff-graph.kps:if \rr2 < 1 then "revb 1"
handcuff-graph.kps:shift \ri999 0
handcuff-graph.kps:shift \ri999 1
handcuff-graph.kps:glue f0 f2  % identify first bead in component 0 with first in component 2
handcuff-graph.kps:glue f1 l2  % identify first bead in component 1 with last in component 2
handcuff-graph.kps:if \rr4 < 3 then "force 1;velf=t"
hedgehog-start.kps:if par1 == 1 then "mode l"
hedgehog-start.kps:idle "if safe then ~cease else ~hh;~showit"
hedgehog-stop.kps:if safe then "echo Try relaxing the knot by clicking on the `go' button" else "echo Click on `go' button at your own risk!"
hedgehog-stop.kps:func s 1 "if relaxing then {go 0;echo;echo click on `go' again to start relaxation} else {go;echo;echo click on `go' again to stop relaxtion}"
hedgehog.kps:if stereo then "back=0"
hedgehog.kps:func s 2 "if idling then {mode l}"
hedgehog.kps:      Be warned that if "close" is less than "max-dr" (also on Dyna panel)
hopf.kps:if par0 != 603083252 then "reset all;disp t;disp t"
hopf.kps:% why are the following different when electric.kps is read in?
inflate-n-explode.kps:if KPbuild < 2990 then "anim cyl .06 .6 27 log" else "anim cyl .06 .6 .75 log"
inflate-n-explode.kps:if KPbuild < 2990 then "anim broff .01 5 14 log" else "anim broff .01 5 .2 log"
init-textureA.kps:if \rr3 < 1 then "hincr=0"
init-textureA.kps:if \rr2 < 1 then "about z 45"
init-textureA.kps:if \rr2 < 1 then "delete all;unknot 222;fitto 11"
init-textureD.kps:if \rr3 < 2 then "back = 0"
init-unknown.kps:if \rr2 < 1 then "rotate z 180"
init-unknown.kps:if stereo then "back=black" else "spec back"
knot-cage.kps:if \rr22 < 1 then "mode cb;cyl=.07"
knot-cage.kps:if par2 < 10 then "read tetra_cage.kps;par2=102"
knot-cage.kps:if par2 < 25 then "read cube_cage.kps;par2=102"
knot-cage.kps:if par2 < 45 then "read octa_cage.kps;par2=102"
knot-cage.kps:if par2 < 70 then "read dodec_cage.kps;par2=102"
knot-cage.kps:if par2 < 101 then "read icos_cage.kps;par2=102"
knot-cage.kps:if \rr2 < 1 then "jit 99999;fitto 12"
knot-cage.kps:%if \rr4 < 1 then "coll a" else "coll n;stu=11"
knottype.kps:if \rr33 < 1 then "del 4;cent"
knottype.kps:if \rr6 < 1 then "about y 180"
knottype.kps:if \rr6 < 1 then "<randorient.kps"
knottype.kps:if \rr1 < .99 then "hincr=0"
knottype.kps:if \rr21 < 1 then "tanfo=t"
knottype.kps:if \rr1 < .2 then "jit \rr1"
knottype.kps:if \rr1 < .1 then "hstar=\rr360"
knottype.kps:if \rr1 < .5 then "refl z"
knottype.kps:if \rr1 < .5 then "mathsv k 0 0 0 s;value=\rr[.1/.5]"
knottype.kps:if \rr1 < .8 then "dstep=\ri[1/7]"
knottype.kps:if \rr1 < .5 then "zbuff f"
knottype.kps:if \rr2 < 1 then "rot x -40;scale=.4"
kpath-demo0.kps:if \rr3 < 1 then "hstart=\rr360"
kpath-demo0.kps:%% with command line: c:\usr\KnotPlot\resource\win32\multiif.exe kpath.txt
kpath-demo0.kps:if par4 < 1 then "knot spec;par4=27"
kpath-demo0.kps:if par4 < 22 then "knot 1;par4=27"
kpath-demo0.kps:if par4 < 23 then "unknot \ri[22/333];par4=27"
kpath-demo0.kps:if par4 < 26 then "knot cd;par4=27"
kpath-demo0.kps:if \pnbeads > 375 then "knot 1"
kpath-demo0.kps:if \rr4 < 1 then "refl r"
kpath-demo0.kps:if \rr2 < 1 then "twfix 555" else "twfix -555"
kpath-demo0.kps:if \rr2 < 1 then swap
kpath-demo0.kps:if par0 < 1 then "back=xffffff"
kpath-demo0.kps:if par0 < 1 then "fog colour 1 1 1;fog on"
kpath-demo0.kps:if par0 < .5 then "rotate x \rr360"
kpath-demo0.kps:if \rr1 < .1 then "hstart=213"
kpath-demo1.kps:if \rr3 < 1 then "hstart=\rr360"
kpath-demo1.kps:if \rr2 < 1 then "twfix 555" else "twfix -555"
lissa_simp.kps:echo "Press F3 to stop simplification process (but keep relaxing)."
lissa_simp.kps:txt 20 -65 "stop simplifing" "func exec 3"
magnetic1-aux1.kps:if \rr2 < 1 then "revb 0"
magnetic1-aux2.kps:if \rr2 < 1 then "revb"
magnetic1-aux3.kps:if \rr2 < 1 then "revb"
magnetic1-aux3.kps:if \rr3 < 1 then "about y 90 0;trans 0 0 \rr[2/3] 0"
magnetic1-aux5.kps:if \rr2 < 1 then "revb"
magnetic1.kps:if par5 != 16052253 then <magnetic1-init.kps
mangle-demo.kps:echo "      Use view window buttons to try different options for `mangle'"
mangle-demo.kps:if \rr22 < 1 then "txt fill off;txt font 2;txt c 10 mangling_stuff_is_fun"
marcus.kps:if \rr4 < 1 then "tanf=on"
marcus.kps:if \ppar0 < 1 then <txt_colours.kps
marcus.kps:if \ppar0 < 1 then <txt_colours.kps
marcus.kps:if \ppar0 < 1 then <txt_colours.kps
marcus.kps:if \ppar0 < 1 then <txt_colours.kps
marcus.kps:if \ppar0 < 1 then <txt_colours.kps
more-sea-things.kps:if \rr1 < .999 then "knot 2" else "knot 3"
more-sea-things.kps:if \rr1 < 0.5 then "swap 0 1"
negcylspace.kps:% modified from 7oct94e
negcylspace.kps:func 5 "if \rr1 < .2 then {knot spe} else knot"
negcylspace.kps:if \rr1 < .2 then "knot spe" else knot
new.kps:if \rr3 < 1 then knot else "unknot \ri[33/88]"
new_twist.kps:alias ~complain+ "if \ppar0 > 30 then ~complain"
new_twist.kps:alias ~complain- "if \ppar0 < -31 then ~complain"
open-end-aux.kps:if \rr3 < 2 then "tang ???##???##???####" else "tang ??#??#??#??#??#??#c"
open-end-aux2.kps:if \rr2 < 1 then "revb 0"
open-end-aux2.kps:if \rr2 < 1 then "revb 0"
open-end-aux2.kps:if \rr2 < 1 then "revb 0"
open-end-aux2.kps:if \rr2 < 1 then "revb 0"
open-end-aux2.kps:shift \ri999
open-end-aux2.kps:if \rr2 < 1 then "cut \ri[2/32];del 0"
open-end-aux2.kps:if \rr10 < 3 then "hinc=0"
open-end-aux2.kps:if \rr12 < 1 then "refl r"
open-end-aux2.kps:if \rr2 < 1 then "rot z 90"
open-end-aux2.kps:if \rr2 < 1 then "rot z 180"
open-end-aux2.kps:if \rr5 < 1 then "fixc=t"
open-end-aux2.kps:if \rr7 < 1 then <specommalignaxes.kps
open-end-aux3.kps:if \rr5 < 1 then "back=xffffff"
open-end-aux3.kps:if \rr3 < 1 then "back=0"
open-end-aux3.kps:if \rr19 < 1 then "draw spec"
open-end-aux3.kps:if \rr1022 < 1 then "back=\ri9999999"
open-end-aux3.kps:if stereo then "spec -back;back=0"
open-end-if.kps:if par0 < 30 then "mode sA;spec;par0=152"
open-end-if.kps:if par0 < 80 then "mode s;spec;par0=152"
open-end-if.kps:if par0 < 110 then "mode s;spec orient;par0=152"
open-end-if.kps:if par0 < 120 then "mode sA;spec orient;par0=152"
open-end-if.kps:if par0 < 135 then "mode cb;cyl=.14;bead=.2;spec orient;draw norm;par0=152"
open-end-if.kps:if par0 < 151 then "mode cb;cyl=.14;bead=.2;draw norm;par0=152"
open-end.kps:% multiif < open-end.txt > open-end-if.kps
open-end.kps:<open-end-if.kps
open-end.kps:%if \rr5 < 2 then "mode sA"
open-end.kps:if \rr2 < 1 then "arrow cap t" else "arrow cap f"
open-end.kps:if \rr2 < 1 then "arrow slices \ri[3/11]"
open-end.kps:if \rr66 < 1 then "sbuff;clrfun n;ncur=3;nseg=3;cyl=.02;read specommalignaxes.kps"
open-end.kps:if \rr10 < 7 then "knot num \ri[1/36]" else "knot num \ri[252/272]"
open-end.kps:if \rr2 < 1 then <open-end-aux.kps
orbit.kps:if \rr7 < 1 then "mode sA;arrow N \ri[1/11]"
orbit.kps:if \rr22 < 1 then "mode cBf"
orbit.kps:if \rr22 < 1 then "mode Bf"
orbit.kps:if \rr22 < 1 then "mode f"
orbit.kps:if \rr55 < 1 then "glop poly line"
orbit.kps:if par0 < 25 then "knot num \ri[2/384] ms;par0=999;echo a" 
orbit.kps:if par0 < 50 then "knot num \ri[2/251] mseq;par0=999;echo b"
orbit.kps:if par0 < 75 then "knot;del down 16;scale=.6;par0=999;echo c"
orbit.kps:if par0 < 102 then "knot num \ri[2/384] ms;fixc=t;stu=\ri[2/22];echo d"
orbit.kps:if \rr5 < 1 then "fixc=t"
orbit.kps:if par0 > 988 then "split;split"
orbit.kps:if \rr10 < 8 then "go inf limit 66" else go
orbit.kps:if \rr5 < 1 then <fun-with-accbuff.kps
oscilpaint.kps:if \rr2 < 1 then "clrfun z" else "accbuff on;accbuff clear"
oscilpaint.kps:if \rr2 < 1 then "scale 1 1 0"
oscilpaint.kps:if \rr2 < 1 then "rotate x 180"
oscilpaint.kps:echo "      Press F2 thru F? for different effects."
oscilpaint_aux.kps:% multiif < oscilpaint_aux.txt
oscilpaint_aux.kps:if par2 < 100 then "draw norm;par2=113"
oscilpaint_aux.kps:if par2 < 109 then "draw spec;par2=113"
oscilpaint_aux.kps:if par2 < 112 then "draw spec;cmode -1;cmode 3 1 1 1;par2=113"
panes.kps:if par0 < 1 then "back=xff;par0=9"
panes.kps:if par0 < 2 then "back=xff00;par0=9"
panes.kps:if par0 < 3 then "back=xff0000;par0=9"
panes.kps:if par0 < 3.5 then "back=xffffff;par0=9"
panes.kps:if par0 < 5 then "back=0;par0=9"
panes.kps:if \rr2 < 1 then "rot x \rr360"
panes.kps:if \rr2 < 1 then "blend one one;zbuff f;back=0;value=.2;math k 0 0 .1 s"
panes.kps:if \rr4 < 2 then <fun-with-accbuff.kps
panes.kps:if \rr3 < 2 then "mathsv s 0 0 0 s"
plaits.kps:if stereo then back=0 else back=x660000
plaits.kps:%% with command line: c:\usr\KnotPlot\resource\win32\multiif.exe plaits.txt
plaits.kps:if par1 < 90 then "celtic grid \ri[3/12] \ri[3/12];par1=129"
plaits.kps:if par1 < 100 then "celtic cgrid \ri[12/20] \ri[3/6] \rr[3/9];scale=;par1=129"
plaits.kps:if par1 < 112 then "celtic grid \ri[2/22] \ri[2/22];scale=.18;alloc ;par1=129"
plaits.kps:if par1 < 128 then "celtic grid \ri[12/22] \ri[12/22];scale=.18;alloc 4444;par1=129"
plaits.kps:tfunc \rr[.2/4] "if \rr3 < 1 then <plaits_aux1.kps"
plaits.kps:tfunc \rr[.2/4] "if \rr3 < 1 then <plaits_aux2.kps"
plaits.kps:tfunc \rr[3/8]  "if \rr3 < 2 then <plaits_aux3.kps"
plaits_aux4.kps:if \rr5 < 3 then "hincr = 0"
procomp_DemoB_aux.kps:if win32 then "button 11 P <procomp_DemoB.kps -1 -1 0 0"
procomp_DemoB_aux.kps:if linux then "button 11 P <procomp_DemoB.kps -1 -1 0 0"
proj-plane.kps:if \rr2 < 1 then 4dsm=0 else 4dsm=4
randBeStCol.kps:% multiif < randBeStCol.txt > randBeStCol_aux.kps
randBeStCol_aux.kps:if par0 < 1 then "par2 = 22;par1 = 190;par0=6"
randBeStCol_aux.kps:if par0 < 2 then "par1 = 22;par2 = 232;par0=6"
randBeStCol_aux.kps:if par0 < 3 then "par2 = 0;par1 = 155;par0=6"
randBeStCol_aux.kps:if par0 < 5 then "par1 = 0;par2 = 155;par0=6"
rand_anchors.kps:if \rr2 < 1 then "drop ca 0x0066dd;drop cb 0x0066dd"
rand_anchors.kps:if \rr4 < 3 then "knot num \ri[1/15]" else "knot num \ri[1/36]"
rand_anchors.kps:if \rr102 < 1 then "knot num \ri[1/251]"
randbraid2.kps:if stereo then "back=0"
randbraid2.kps:if \rr1 < .5 then "rota y 180"
randbraid2_aux1.kps:txt -15 -280 "fast simplify" "delete downto 5"
randbraid2_aux1.kps:echo "*** Use the `fast simplify' button to speed up the relaxation"
randbraid2_aux2.kps:%txt delete simplify
random-chain.kps:if par5 != 150285363 then "reset all;scale=\rr[.7/1.2]"
random-chain.kps:if \rr3 < 1 then "sat=\rr[.4/1]"
random-chain.kps:if \rr9 < 1 then "mathsv k \rr44 1 \rr.6 e"
random-chain.kps:if \rr7 < 1 then <mix-up.kps
random-chain.kps:echo "Done!  Hurray!  Try it again!  Different every time!"
random-chain.kps:if \rr102 < 1 then "<crazy-lights.kps"
random-graphs1.kps:if \rr22 < 1 then "mode cb;cyl=.07"
random-graphs1.kps:if par2 < 10 then "read tetra_cage.kps;par2=107"
random-graphs1.kps:if par2 < 25 then "read cube_cage.kps;par2=107"
random-graphs1.kps:if par2 < 45 then "read octa_cage.kps;par2=107"
random-graphs1.kps:if par2 < 65 then "read dodec_cage.kps;par2=107"
random-graphs1.kps:if par2 < 85 then "read icos_cage.kps;par2=107"
random-graphs1.kps:if par2 < 106 then "read peterson_graph.kps;par2=107"
random-graphs1.kps:if \rr2 < 1 then "jit 99999;fitto 12"
random-lights.kps:if \rr400 < 360 then knot else "knot spe"
random-lights.kps:if \rr100 < 3 then "random tangle"
random-lights.kps:satu = 0.0    % looks cooler if knot surface is white
random-lights.kps:if \rr1 < .4 then "draw flat" else "draw hflat"
random-lights.kps:if \rr1 < .3 then "draw norm;twfix 0"
random-lights.kps:if \rr15 < 1 then "glop poly l"
randorient.kps:if \rr2 < 1 then "refl x"
randorient.kps:if \rr2 < 1 then "refl y"
randorient.kps:if \rr2 < 1 then "refl z"
randorient.kps:if \rr2 < 1 then "about x 180"
randorient.kps:if \rr2 < 1 then "about y 180"
randorient.kps:if \rr2 < 1 then "about z 180"
randorient.kps:shift random  % randomly shifts each component separately
randorient2.kps:if \rr2 < 1 then "refl x"
randorient2.kps:if \rr2 < 1 then "refl y"
randorient2.kps:if \rr2 < 1 then "refl z"
randorient2.kps:if \rr2 < 1 then "about x 180"
randorient2.kps:if \rr2 < 1 then "about y 180"
randorient2.kps:if \rr2 < 1 then "about z 180"
randorient2.kps:if \rr2 < 1 then "refl r"
randorient3.kps:if \rr2 < 1 then "refl x"
randorient3.kps:if \rr2 < 1 then "refl y"
randorient3.kps:if \rr2 < 1 then "refl z"
randorient3.kps:if \rr2 < 1 then "about x 180"
randorient3.kps:if \rr2 < 1 then "about y 180"
randorient3.kps:if \rr2 < 1 then "about z 180"
rat_tangle.kps:require KPbuild 4091 ifnot "reset all"
rat_tangle_old2.kps:require KPbuild 4090 ifnot "reset all"
relax1-extra.kps:if \rr3 < 1 then "shift \ri99;open all;glop backface f"
relax2.kps:if \rr3 < 2 then "<Backdrops.kps"
relax2.kps:if \rr10 < 1 then "read electric.kps;ncur=4;spec"
relax2.kps:if \rr1 < .4 then "load demos-demo0.k" else "load demos-demo2.k"
relax2.kps:if \rr3 < 1 then "refl r"
relaxA.kps:if \rr1 < .5 then "if \rr1 < .5 then <tref-relax.kps else <fig8-relax.kps" else "if \rr1 < .5 then <6.3-relax.kps else <7.1-relax.kps"
relaxA1.kps:if \rr1 < .5 then "read tref-relax.kps" else "read fig8-relax.kps"
relaxA2.kps:if \rr1 < .5 then "read 6.3-relax.kps" else "read 7.1-relax.kps"
relaxB.kps:if \rr1 < .5 then "special backdrop"
relaxB.kps:if \rr1 < .4 then "load demos-demo0.k" else "load demos-demo2.k"
ring-pack-start.kps:idle "if athick < \ppar0 then ~placeit else ~create;~placeit"
ring-pack-steps.kps:if par4 == 6 then "echo showing every step in the placement procedure" else  "echo NOT showing every step in the placement procedure"
ring-pack-stop.kps:if athick < \ppar0 then "delete last"
ring-pack.kps:if \rr1 < .3 then "back=0"
ring-pack.kps:if \rr1 < .3 then "spe back"
ring-pack.kps:if stereo then "back=0"
ring-pack.kps:if \rr1 < .2 then "read fancy-lights.kps;back=0"
ring-pack.kps:"volume exclusion").  You can change this thickness several different values. 
ring-pack.kps:   --- if you want to try packing something else, load a knot from somewhere
ringToss.kps:if \rr1 < .2 then "mathsv k \rr55 1 .5 e"
ringToss.kps:if \rr1 < .05 then "vcn=\ri[1/5]"
ringToss.kps:if \rr1 < .15 then "tangle 2@!z#" else "tangle 111Z1Z11c"
ringToss.kps:if \rr1 < .15 then "tangle 2@!z#" else "tangle 111Z1Z11c"
ringToss.kps:if \rr6 < 1 then "open 0"
ringToss.kps:if \rr6 < 1 then "open 1"
ringToss.kps:if \rr12 < 1 then "open 2"
ringToss.kps:if \rr1 < .9 then "refl r;trans \rr[3/10];load comb |tmp;cent"
ringToss.kps:%if \rr1 < .7 then "refl r;trans 3;load comb |tmp;cent"
ringToss.kps:if \rr1 < .5 then "refl rr" else "refl r"
ringToss.kps:if \rr1 < .01 then "draw spec"
ringToss.kps:if \rr1 < .4 then "scale \rr[.5/2] \rr[.5/2] \rr[.5/2]"
ringToss.kps:if \rr11 < 1 then "mode cbf;a-scale=.01;cyl=0.18;bead=0.3"
ringToss.kps:if \rr102 < 1 then "sbuff;clrf n"
ringToss.kps:if \rr1 < .01 then "spec;tex SphereMap;tex mode modu;sat=\rr.5;cyl=1"
ringToss.kps:%if \rr1 < .01 then "spec;tex SphereMap;tex mode replace;sat=\rr.5;cyl=1"
ringToss.kps:if \rr16 < 1 then "read electric.kps;ncur=4;spec"
ringToss.kps:if \rr17 < 1 then "open all;glop backface f"
ringToss.kps:if \rr3 < 1 then "tfunc \rr[2/6] split"
rotate-stick-things.kps:if \rr2 < 1 then "par0=\rr[20/102]" else "par0=\rr[-20/-102]"
rotate-stick-things.kps:if \rr2 < 1 then "torus \ri[1/40] \ri[1/40] \ri[20/60] \rr[2/10] \rr[-2/6]" else "torus \ri[3/222] \ri[3/222] \ri[22/222]"
rotate-stick-things.kps:if \rr2 < 1 then "torus \ri[1/40] \ri[1/40] \ri[20/60] \rr[2/10] \rr[-2/6]" else "torus \ri[3/222] \ri[3/222] \ri[22/222]"
rotate-stick-things.kps:% a different construction with varying R and d torus values
sea-things.kps:% to replace it.  More Sea Things is exactly like Sea Things except a different
shadows.kps:% Modified 14 May 2003 to show off eofilling.
shadows.kps:if \rr5 < 1 then "mathsv s 0 0 1 e;back=0"
shadows.kps:if \rr1 < .9 then "rotate z 90"
shadows.kps:if \rr1 < .01 then "refl rr"
shadows.kps:% if value is 0 below, then the thing is white.  why?
shadows.kps:if \rr21 < 1 then "mathsv s \rr360 1 1 e;back=0;value=.001"
shadows.kps:%if \rr2 < 1 then "refine 3;mode E;read eofill-colour.kps"
simple-relax.kps:%% with command line: c:\usr\KnotPlot\resource\win32\multiif.exe simple-relax.txt
simple-relax.kps:if par0 < 10 then "read tref-relax.kps;par0=257"
simple-relax.kps:if par0 < 25 then "read fig8-relax.kps;par0=257"
simple-relax.kps:if par0 < 45 then "read 6.3-relax.kps;par0=257"
simple-relax.kps:if par0 < 60 then "read 7.1-relax.kps;par0=257"
simple-relax.kps:if par0 < 85 then "read relax2.kps;par0=257"
simple-relax.kps:if par0 < 170 then "read open-end.kps;par0=257"
simple-relax.kps:if par0 < 256 then "read slide-knot.kps;par0=257"
skelions.kps:if par0 != 2228871 then "reset all;scale=.3;back=white;value=0"
skelions.kps:if \rr2 < 1 then "knot cd \ri[3/8] d" else "knot cd \ri[3/7] c"
skelions.kps:if \rr22 < 1 then "knot cd \ri[3/7] c;save |skl;refl x;load comb |skl"
skelions.kps:func 10 "read unkflo-aux.kps;silent=f;echo;echo;echo Press F9 to stop, F10 again for a different speed or direction.;echo"
slide-knot-aux.kps:if par0 < 50 then "load comb opensquare.k;par0=102"
slide-knot-aux.kps:if par0 < 75 then "load comb bowline.k;par0=102"
slide-knot-aux.kps:if par0 < 100 then "load comb Figure8open.k;par0=102"
slide-knot-aux.kps:if \rr2 < 1 then "revb 1"
slide-knot-aux.kps:if \rr2 < 1 then "align ax"
slide-knot.kps:if par0 < 50 then "load opensquare.k;par0=102"
slide-knot.kps:if par0 < 75 then "load bowline.k;par0=102"
slide-knot.kps:if par0 < 100 then "load Figure8open.k;par0=102"
slide-knot.kps:if \rr4 < 1 then "align ax;about y \rr360;about x \rr360"
slide-knot.kps:if \rr2 < 1 then "revb 0"
slide-knot.kps:if \rr4 < 2 then "read slide-knot-aux.kps"
slide-knot.kps:if \rr4 < 2 then "read slide-knot-aux.kps"
slide-knot.kps:if \rr4 < 2 then "read slide-knot-aux.kps"
slide-knot.kps:if \rr4 < 2 then "read slide-knot-aux.kps"
slide-knot.kps:if \rr4 < 1 then "read slide-knot-aux.kps"
slide-knot.kps:if \rr4 < 1 then "read slide-knot-aux.kps"
slide-knot.kps:if \rr4 < 1 then "read slide-knot-aux.kps"
slide-knot.kps:if \rr11 < 1 then "scale=\rr[.3/.7];tex norm lupin;draw tex;satu=\rr1;tex on;tex rep 3 0;go 9999999 limit 44"
slide-knot.kps:if \rr2 < 1 then "vcA=1;vcn=1;vcphi=3.14159;cyl=.22"
slide-knot.kps:if \rr102 < 1 then "sbuff;clrfun n;cyl=.1"
splaits.kps:if \rr3 < 1 then <Backdrops.kps
splaits.kps:if stereo then "spec -back;back=0"
splaits.kps:if \rr3 < 1 then "hsta=\rr360"
splaits.kps:if \rr5 < 1 then "cmode -1;cmode 3 1 1 1"
splaits.kps:if \rr5 < 1 then "func exec s 1"
splaits.kps:% multiif < splaits1.txt
splaits.kps:if par0 < 30 then "scale=.072;par0=62"
splaits.kps:if par0 < 50 then "scale=.144667;par0=62"
splaits.kps:if par0 < 61 then "scale=.124493;par0=62"
splaits.kps:if \rr11 < 1 then "func exec s 2"
splaits.kps:% multiif < splaits2.txt
splaits.kps:if par1 < 30 then "load 15sep04a.k;par1=62"
splaits.kps:if par1 < 40 then "load CeltCube5.k;celt diag;celt copy;fitto 53;par1=62"
splaits.kps:if par1 < 50 then "load CeltCube6.k;celt diag;celt copy;fitto 53;par1=62"
splaits.kps:if par1 < 61 then "load CeltCube7.k;celt diag;celt copy;fitto 53;par1=62"
splaits.kps:if \rr3 < 1 then "celtic rand active \rr[.65/1]"
splaits.kps:echo "     Press F3 thru F12 for different variations, F1 to rerun demo."
splaits_1comp.kps:echo "      (will abort after 20 seconds if unsuccessful)"
splaits_1comp.kps:if \pncomps == 1 then "echo Success!  Number of components is one!" else "echo Procedure failed!!  :-("
splaits_1comp.kps:if \pncomps != 1 then "echo Try pressing SHIFT-F9 and then SHIFT-F10 again."
splaits_1comp.kps:if \pncomps == 1 then "echo Try also SHIFT-F11 or SHIFT-F12."
splaits_2comp.kps:echo "      (will abort after 20 seconds if unsuccessful)"
splaits_2comp.kps:if \pncomps == 2 then "echo Success!  Number of components is two!" else "echo Procedure failed!!  :-("
splaits_2comp.kps:if \pncomps != 2 then "echo Try pressing SHIFT-F9 and then SHIFT-F11 again."
splaits_2comp.kps:if \pncomps == 2 then "echo Try also SHIFT-F10 or SHIFT-F12."
splaits_3comp.kps:echo "      (will abort after 20 seconds if unsuccessful)"
splaits_3comp.kps:if \pncomps == 3 then "echo Success!  Number of components is three!" else "echo Procedure failed!!  :-("
splaits_3comp.kps:if \pncomps != 3 then "echo Try pressing SHIFT-F9 and then SHIFT-F12 again."
splaits_3comp.kps:if \pncomps == 3 then "echo Try also SHIFT-F10 or SHIFT-F11."
split-delete-aux.kps:func c 1 "txt delete relax;idle;go;txt c 20 {relax and simplify} <split-delete-aux.kps"
split-delete-aux.kps:if \ppar3 == 1 then "txt right;txt -20 c hint <split-delete-hint.kps"
split-delete-aux2.kps:txt c 50 "begin simplification" "txt delete Evalu;func exec 1"
split-delete-hint.kps:txt c a "You might want to see how much you can simplify first"
split-delete.kps:if \rr2 < 1 then "par4=6;par5=7" else "par4=7;par5=6"
split-delete.kps:if \rr2 < 1 then "ccmode=1" else "ccmode=2"
split-delete.kps:if \rr7 < 1 then <randBeStCol.kps
split-delete.kps:echo " *** click on `begin simplification' to simplify the knot"
split-delete.kps:echo "     or use one of the buttons to load a different knot"
spool1.kps:if stereo then "back=0"
spool1.kps:func s 2 "if idling then {mode l}"
spool1.kps:      Be warned that if "close" is less than "max-dr" (also on Dyna panel)
starbox.kps:if \rr4 < 3 then "rot x \rr[-44/-75];rot z \rr360"
starbox.kps:if \rr11 < 10 then "draw norm" else "draw spec"
starbox.kps:if \rr2 < 1 then "par1=63" else "par1=47"
starbox.kps:% multiif < starbox.txt 
starbox.kps:if par2 < 10 then "celtic box \ri[1/6] \ri[1/6] \ri[1/6] \ppar1;celtic scale 2;par2=30"
starbox.kps:if par2 < 20 then "celtic box \ppar0 \ppar0 \ri[1/4] \ppar1;celtic scale 2;par2=30"
starbox.kps:if par2 < 29 then "celtic star \ri[3/7] \ri[1/5];par2=30"
starbox.kps:tfunc \rr[.2/4] "if \rr3 < 1 then <plaits_aux1.kps"
starbox.kps:tfunc \rr[.2/4] "if \rr3 < 1 then <plaits_aux2.kps"
starbox.kps:tfunc \rr[3/8]  "if \rr3 < 2 then <plaits_aux3.kps"
start-Lorenz.kps:if par0 != 102.2 then <lorenz-idle2.kps
stick-knots-aux.kps:if par0 < 40 then "knot num \ri[2/251] mseq" else "knot num \ri[2/251] ms" 
stick-knots-aux.kps:if par0 < 40 then "nstring cm -40 (equilateral) 3"
stick-knots.kps:if KPbuild < 2923 then "echo You need a newer KnotPlot to run this demo (build 2923)." else <stick-knots-aux.kps
stick-things.kps:if \rr2 < 1 then "ccmode = 1" else "ccmode = 2"
stick-things.kps:if \rr2 < 1 then "hstart = \rr360"
swirlA.kps:if \rr2 < 1 then "back=0"
swirlA.kps:if \rr3 < 1 then "torus function 1"
swirlA.kps:if \rr4 < 1 then "knot cd;refine 5"
swirlA.kps:if \rr2 < 1 then "ortho"
swirlA.kps:if \rr4 < 3 then "mode E;back=0;hsta=\rr360"
tangle_holder_demo.kps:if par2 < 3 then "read thold_10st.kps;par2=20"
tangle_holder_demo.kps:if par2 < 6 then "read thold_cube.kps;par2=20"
tangle_holder_demo.kps:if par2 < 9 then "read thold_8st.kps;par2=20"
tangle_holder_demo.kps:if par2 < 10 then "read thold_a.kps;par2=20"
tangle_holder_demo.kps:if par2 < 13 then "read thold_b.kps;par2=20"
tangle_holder_demo.kps:if par2 < 15 then "read thold_c.kps;par2=20"
tangle_holder_demo.kps:if par2 < 16 then "read thold_f.kps;par2=20"
tangle_holder_demo.kps:if par2 < 17 then "read thold_g.kps;par2=20"
tangle_holder_demo.kps:if par2 < 19 then "read thold_h.kps;par2=20"
test-sum-3comp.kps:if ncomp != 5 then "load |failure"
test-sum-3comp.kps:if ncomp != 5 then "load |failure"
test-sum-3comp.kps:if ncomp != 5 then "load |failure"
test-sum-3comp.kps:if ncomp != 5 then "load |failure"
test-sum-3comp.kps:if ncomp != 5 then "load |failure"
test-sum-3comp.kps:if ncomp != 5 then "load |failure"
test-sum-3comp.kps:if ncomp != 5 then "load |failure"
test-sum-3comp.kps:if ncomp != 5 then "load |failure"
test-sum-3comp.kps:if ncomp != 5 then "load |failure"
textureA.kps:if par0 != 50299566 then <init-textureA.kps
textureABC.kps:%% with command line: c:\usr\KnotPlot\resource\win32\multiif.exe textureABC.txt
textureABC.kps:if par4 < 10 then "read textureA.kps;par4=54"
textureABC.kps:if par4 < 30 then "read textureB.kps;par4=54"
textureABC.kps:if par4 < 32 then "read textureC.kps;par4=54"
textureABC.kps:if par4 < 53 then "read texturePaint1.kps;par4=54"
textureB.kps:if par0 != 48475924 then <init-textureB.kps
textureC.kps:if par0 != 15029566 then <init-textureC.kps
textureC.kps:if \rr2 < 1 then "texture appmode modu" else "texture appmode repla"
textureD.kps:if par0 != 86329566 then <init-textureD.kps
textureD.kps:if \rr1 < .1 then "knot spe" else knot
textureD.kps:if \rr2 < 1 then "texture appmode modu" else "texture appmode repla"
textureDL.kps:if \rr10 < 3 then "texture appmode modu" else "texture appmode repla"
textureDL.kps:if \rr5 < 4 then "tanf=on" else "tanf=off"
textureDL.kps:if \rr10 < 6 then "torus \ri[2/8] \ri[2/8] \ri[102/555];scale=\rr[.35/.48];untran;rota x \rr[50/130];revb rand;shift rand"
textureDb.kps:if \rr10 < 1 then "tex lupin"
textureDb.kps:if \rr10 < 3 then "texture appmode modu" else "texture appmode repla"
texturePaint1.kps:%% with command line: c:\usr\KnotPlot\resource\win32\multiif.exe texturePaint1-face.txt
texturePaint1.kps:if par4 < 10 then "tex eye lupin;par4=33"
texturePaint1.kps:if par4 < 20 then "tex eye varo;par4=33"
texturePaint1.kps:if par4 < 30 then "tex eye face;par4=33"
texturePaint1.kps:if par4 < 32 then "tex eye aum;par4=33"
texturePaint1.kps:if \rr4 < 3 then "tex appmode modu" else "tex appmode blend"
texturePaint1.kps:echo " *** Press F1 to reload this demo with different settings"
thetacurves.kps:if \rr8 < 7 then "mathsv C \phst 1 1 d" else "mathsv C 0 0 1 d"
thingtoss.kps:require KPbuild 4091 ifnot "reset all"
thingtoss.kps:if par4 != 36795246 then "reset all;spec grid;rotate x -55;scale=.24;par1=90;par2=4;par3=2"
thingtoss.kps:func s 3 "if \rr2 < 1 then {func exec s 1} else {func exec s 2}"
thingtoss.kps:if \ppar0 == 0 then "go inf limit 216" else go
thingtoss.kps:if \ppar0 == 0 then "func exec s 8"
thingtoss_butt1.kps:func s 7 "txt delete unlimit;par0=1;echo;echo;echo Frame speed now at maximum, increase number of things tossed if it's too fast"
thingtoss_butt1.kps:if \ppar0 == 0 then "func exec s 6"
thingtoss_butt1.kps:if \ppar5 == 0 then "func exec c 5"
thold.kps:%if \rr16 < 15 then "mode s;cyl=.15" else "mode cb;cyl=.07"
thold.kps:if KPbuild < 4013 then "txt -20 10 _" else "txt set y 10"
thold.kps:if KPbuild < 4013 then "txt -20 10 _" else "txt set y 10"
thold.kps:% multiif  thold.txt > thold_if.kps
thold.kps:<thold_if.kps
thold.kps:echo "      Use the on-screen `embed' buttons to embed different tangles in the tangle holder"
thold_cube.kps:if KPbuild > 3363 then "thold cube \ri[3/6];fitto sphere \ppar0" else "thold cube"
thold_go.kps:%if \pscale < .25 then "scale=.25"
thold_if.kps:%% with command line: c:\usr\KnotPlot\resource\win32\multiif.exe thold.txt
thold_if.kps:if par2 < 5 then "read thold_cube.kps;par2=105"
thold_if.kps:if par2 < 8 then "read thold_a.kps;par2=105"
thold_if.kps:if par2 < 14 then "read thold_b.kps;par2=105"
thold_if.kps:if par2 < 18 then "read thold_c.kps;par2=105"
thold_if.kps:if par2 < 21 then "read thold_f.kps;par2=105"
thold_if.kps:if par2 < 24 then "read thold_g.kps;par2=105"
thold_if.kps:if par2 < 28 then "read thold_h.kps;par2=105"
thold_if.kps:if par2 < 33 then "read thold_nm.kps;par2=105"
thold_if.kps:if par2 < 35 then "read thold_1st.kps;par2=105"
thold_if.kps:if par2 < 37 then "read thold_Denom.kps;par2=105"
thold_if.kps:if par2 < 39 then "read thold_Numer.kps;par2=105"
thold_if.kps:if par2 < 45 then "read thold_6st.kps;par2=105"
thold_if.kps:if par2 < 51 then "read thold_6sst.kps;par2=105"
thold_if.kps:if par2 < 57 then "read thold_8st.kps;par2=105"
thold_if.kps:if par2 < 63 then "read thold_9st.kps;par2=105"
thold_if.kps:if par2 < 69 then "read thold_10st.kps;par2=105"
thold_if.kps:if par2 < 75 then "read thold_10sst.kps;par2=105"
thold_if.kps:if par2 < 81 then "read thold_10ssst.kps;par2=105"
thold_if.kps:if par2 < 87 then "read thold_11st.kps;par2=105"
thold_if.kps:if par2 < 93 then "read thold_8stvar.kps;par2=105"
thold_if.kps:if par2 < 99 then "read thold_10stvar.kps;par2=105"
thold_if.kps:if par2 < 104 then "read thold_3st.kps;par2=105"
thold_random1.kps:if \rr2 < 1 then "tangle z,"
thold_random1.kps:if \rr3 < 1 then "tangle @,"
thold_relax.kps:if safe then nop else "echo;echo;echo Scaling knot to make it safe...;echo -f"
thold_relax.kps:require safe ifnot "echo;echo Can't make knot safe!  Panicking!"
thold_relax.kps:% different size than when trying it later with .weird.
thold_tog.kps:if par1 == 0 then "mode s;par1=2;cyl=.15;spec thold" else "mode cb;spec;par1=0;cyl=.07;spec thold"
torus-show.kps:if par0 != 110563449 then "reset all"
tref-relax.kps:if \rr1 < .5 then "load demos-demo0.k" else "conway 3"
turkshead2.kps:% different method for making Turk's head knots
twist-warp.kps:alias ~relax "if safe then go else {txt delete identify;echo;echo;echo current position is not safe, ignoring request}"
twist-warp.kps:txt c a "relax knot" "txt c a0 identify identify;~relax"
twist.kps:if \rr1 < .5 then "rotate z -90" else "rotate z 90"
twist.kps:%if \rr16 < 991 then "read electric.kps;ncur=4;spec"
twist2.kps:if \rr15 < 1 then "draw spec"
txt_colours.kps:%% with command line: c:\usr\knotplot\resource\win32\multiif.exe txt_colours.txt
txt_colours.kps:if par4 < 10 then "txt colour white;par4=72"
txt_colours.kps:if par4 < 20 then "txt colour blue;par4=72"
txt_colours.kps:if par4 < 30 then "txt colour green;par4=72"
txt_colours.kps:if par4 < 40 then "txt colour red;par4=72"
txt_colours.kps:if par4 < 50 then "txt colour yellow;par4=72"
txt_colours.kps:if par4 < 60 then "txt colour orange;par4=72"
txt_colours.kps:if par4 < 70 then "txt colour purple;par4=72"
txt_colours.kps:if par4 < 70 then "txt colour purple;par4=72"
txt_colours.kps:if par4 < 71 then "txt colour purple;par4=72"
txt_demo.kps:% colours can also be specified according to the convention for CSS.
txt_demo.kps:% if an extra parameter is given, the text acts as
txt_demo.kps:% if txt drawing is off (as above), display refresh
ufos.kps:if \rr1 < .2 then "mathsv k \rr55 1 .5 e"
ufos.kps:if \rr1 < .05 then "vcn=\ri[1/5]"
ufos.kps:if \rr1 < .5 then "refl rr" else "refl r"
ufos.kps:if \rr1 < .01 then "draw spec"
ufos.kps:if \rr1 < .4 then "scale \rr[.5/2] \rr[.5/2] \rr[.5/2]"
ufos.kps:if \rr11 < 1 then "mode cbf;a-scale=.01;cyl=0.18;bead=0.3"
ufos.kps:if \rr1 < .01 then "spec;tex SphereMap;tex mode modu;sat=\rr.5;cyl=1"
ufos.kps:%if \rr1 < .01 then "spec;tex SphereMap;tex mode replace;sat=\rr.5;cyl=1"
ufos.kps:%if \rr9 < 1 then "read electric.kps;ncur=4;spec"
ufos.kps:if \rr3 < 1 then "<fun-with-accbuff.kps"
ufos.kps:if \rr2 < 1 then "fixcofm=t" else "fixcofm=f"
vhappy-aux0.kps:if par2 != 738683223 then "scale=\rr[.25/.4]"
vhappy-aux0.kps:if \rr2 < 1 then "fitto .01;velf=t"
vhappy-aux1.kps:if par2 != 738683223 then "rot x -50"
vhappy-aux1.kps:if \rr3 < 1 then "velf=t"
violently-happy.kps:if par2 != 738683223 then "reset all"
violently-happy.kps:if \rr4 < 1 then "<vhappy-aux0.kps" else "<vhappy-aux1.kps"
violently-happy.kps:if \rr3 < 1 then "math k 0 0 0 e;back=0;par0=8;sat=0;<random-lights"
wand_demo5.kps:%if par0 < 7 then "mode cb" else "mode b"
wand_demo5.kps:if \rr9 < 3 then "math k 22 .9 .1 d;math b 222 .94 .9 d;bead=\rr[.01/.02]"
wand_demo5.kps:if \rr1022 < 1 then "math k \rr360 .9 .1 d"
wand_demo6.kps:%if \rr2 < 1 then "mode bF" else "mode F"
wand_demo6.kps:%if \rr2 < 1 then "mode F;zbuff f;3dop colF \rr44 1 .4;blend one one;par1=12"
wand_demo6.kps:echo "      Press F1 to rerun demo (always different)."
wand_panel_objects.kps:% if XPOS == -2 then XPOS = hspace
wand_panel_objects.kps:% if XPOS < 0.0 then XPOS += (hspace + prev_button_width)
wand_panel_objects.kps:% if WIDTH <= 0.0 then WIDTH = 
wand_panel_objects.kps:if \rr13 > 1 then "button 18 Skelions <skelions.kps -1 -1 0 10" else "button 18 Crop_circles <skelions.kps -1 -1 0 10"
wand_panel_objects.kps:if \rr10 < 1 then "button 18 do_not_click <do-not-click.kps -1 -1 0 10" else "button 18 Weird_Cone <WeirdCone.kps -1 -1 0 10"
wand_panel_objects.kps:if KPbuild > 3237 then "button 18 flicker_test <flicker_test2.kps -1 -1 0 10"
wand_panel_objects.kps:if KPbuild > 3185 then "button 18 Ea <graphicsEa.kps -1 -1 0 0"
wand_panel_objects.kps:if KPbuild > 3185 then "button 18 Eb <graphicsEb.kps -1 -1 0 0"
wand_panel_objects.kps:if KPbuild > 3185 then "button 18 Ec <graphicsEc.kps -1 -1 0 0"
wand_panel_objects.kps:if KPbuild > 3381 then "button 18 M <graphicsM.kps -1 -1 0 0"
wand_panel_objects.kps:if KPbuild > 3419 then <procomp_DemoB_aux.kps
wand_panel_objects.kps:if KPbuild > 3428 then "button 18 L_field <field_lorenz.kps -1 -1 -2 10"
wand_panel_objects.kps:if KPbuild < 3446 then "<warn_KPbuild.kps"
warpbraid.kps:% older KnotPlots should fail gracefully if they
warpbraid.kps:if 2934793 != par0 then "<randbraid.kps"
warpbraid.kps:if \rr1 < .3 then "swirl end 90"
warpbraid.kps:echo "*** Resulting link may not be valid if original braid is too wide."
warpbraid2.kps:if stereo then "back=0"
warpbraid2.kps:echo "*** Resulting link may not be valid if original braid is too wide."
wave_demo3.kps:if \rr2 < 1 then "wavefront skip 8" else "wavefront skip 1"
wave_demo3.kps:if \rr2 < 1 then revb
wave_demo3.kps:if \rr5 < 1 then "blend one one;back=0"
wave_demo5.kps:if \rr2 < 1 then "about z 90"
wave_demo5.kps:if \rr2 < 1 then "about y 90"
wave_demo6.kps:if \rr7 < 1 then "shift \ri999"
wave_demo6.kps:if \rr2 < 1 then "about x 90"
wave_demo6.kps:spe comm "swirl 1;if \rr44 < 1 then <wave_demo6_aux.kps"
wave_demo6_aux.kps:shift \ri+-2
wave_demo_aux.kps:echo "      Press F5, F6, or F7 for different background colours."
wave_demo_aux.kps:if \rr9 < 1 then "<wave_demo_farout.kps"
wave_demos.kps:%% with command line: c:\usr\KnotPlot\resource\win32\multiif.exe demos/wave_demos.txt
wave_demos.kps:if par0 < 10 then "read wave_demo1.kps;par0=62"
wave_demos.kps:if par0 < 20 then "read wave_demo2.kps;par0=62"
wave_demos.kps:if par0 < 30 then "read wave_demo3.kps;par0=62"
wave_demos.kps:if par0 < 40 then "read wave_demo4.kps;par0=62"
wave_demos.kps:if par0 < 50 then "read wave_demo5.kps;par0=62"
wave_demos.kps:if par0 < 61 then "read wave_demo6.kps;par0=62"
weaveA_join.kps:txt -15 a "fast simplify" "delete downto 0;centre"
weaveA_join.kps:if safe then nop else <weaveA_fix.kps
weaveA_new.kps:if \rr2 < 1 then "refl r"
weaveA_new.kps:if \rr2 < 1 then "revb"
wings.kps:if \rr2 < 1 then "sat=\rr1"
wings.kps:if \rr5 < 1 then "spe back"
wings.kps:% multif < wings.txt
wings.kps:if par0 < 10 then "knot 2;par0=52"
wings.kps:if par0 < 25 then "knot 3;par0=52"
wings.kps:if par0 < 30 then "torus;par0=52"
wings.kps:if par0 < 32 then "knot spe;par0=52"
wings.kps:if par0 < 34 then "knot cd;par0=52"
wings.kps:if par0 < 42 then "knot 1;par0=52"
wings.kps:if par0 < 43 then "knot 4;par0=52"
wings.kps:if par0 < 51 then "knot;par0=52"
wings.kps:if \rr2 < 1 then "revb"
wings.kps:if \rr3 < 1 then "tex mode eye;par1=1765" else "tex mode norm"
wings.kps:if \rr3 < 1 then "tex lupin;draw tbrok;par2=\ppar1" else "tex off"
wings.kps:if \rr2 < 1 then "tanf=t"
wings_aux1.kps:if par2 != 1765 then spec
10sep05a.kps:until thick 2 "knot;fitto 7"
10sep05a.kps:until ncomp 1 "celt rand sec .1;celt copy"
10xing.kps:until Nxings 10 "knot 1"
11xing.kps:until Nxings 11 "knot 1;refl r"
28jul00a.kps:echo "      Wait until oscillation becomes unstable (it may not)."
7xing.kps:until Nxings 7 "knot 1"
8xing.kps:until Nxings 8 "knot 1"
9xing.kps:until Nxings 9 "knot 1"
ACN_illustrate.kps:alias qfix   % a hack until we get proper argument parsing!
ACN_illustrate.kps:alias qfix   % a hack until we get proper argument parsing!
ACN_illustrate2.kps:       mouse over part of the knot until a small white icosahedron appears. 
ExhibitSplash.kps:txt c a "(until you hit ESC)"
ExhibitSplash.kps:txt c a "and run non-stop until you press the ESC key"
KnotPaint2.kps:%until Ncomp 1 "func exec 4"
Lissajous.kps:until thick .3 "2lissa \ri+-12 \ri+-12 \ri+-12 \ri+-12 \rr6.28 \rr6.28 \rr6.28"
SeaSlugs.kps:until safe "ago 5"
altdeco-moeb.kps:until timelimit 15
altdeco-moeb.kps:until safe "knot cd;fitto 16;cent mass;alternate;refine 3;disp t;nap .1"
altdeco.kps:until timelimit 15
altdeco.kps:until safe "knot cd;fitto 16;cent mass;alternate;refine 3;disp t;nap .1"
celtic-ball.kps:until once t
celtic-ball.kps:until time 15
celtic-ball.kps:func 2 "until Ncomp 1 {celt random sec \rr.2;celt copy;disp t}"
celtic-ball.kps:func 3 "until Ncomp 2 {celt random sec \rr.2;celt copy;disp t}"
celtic-ball.kps:func 4 "until Ncomp 3 {celt random sec \rr.2;celt copy;disp t}"
celtic-ball.kps:func 5 "until Ncomp 4 {celt random sec \rr.2;celt copy;disp t}"
celtic-ball.kps:func 6 "until Ncomp 5 {celt random sec \rr.2;celt copy;disp t}"
celtic-ball.kps:func 7 "until Ncomp 6 {celt random sec \rr.2;celt copy;disp t}"
celtic-ball.kps:func 8 "until Ncomp 7 {celt random sec \rr.2;celt copy;disp t}"
dowker.kps:       where a bead is until you see a wireframe icosahedron appear. then click down and 
ent-cd.kps:until Ncomp 1 "knot cd"
ent-randomize.kps:txt 20 -20 "Relaxing until safe..."
ent-randomize.kps:until timelimit 22
ent-randomize.kps:until safe "ago 11"
ent-torus.kps:%until Ncomp 1 "func exec s 1"
ent-torus.kps:until Ncomp 1 "torus \ri[2/8] \ri[2/9] 0"
graphicsC.kps:echo "Wait until the motion goes chaotic."
random-chain.kps:until timelimit 44
random-chain.kps:until thick .4 "ago 5"
rat_tangle.kps:echo "     Try hovering your mouse over the string until you see something appear, then click and drag"
rat_tangle.kps:   --- hover your mouse over part of a strand until you see a white wire frame
rat_tangle_old2.kps:echo "     Try hovering your mouse over the string until you see something appear, then click and drag"
ring-pack.kps:until it fits. When the demos starts, a random choice is made as to whether to
rotate_comp.kps:until timelimit \ppar3
rotate_comp.kps:until Ncomp 0 "about zc \T1 \ppar1;disp t"
rotate_comp_y.kps:until timelimit \ppar3
rotate_comp_y.kps:until Ncomp 0 "about yc \T1 \ppar1;disp t"
scenery-demo1.kps:alias qfix   % a hack until we get proper argument parsing!
scenery-demo1.kps:alias qfix   % a hack until we get proper argument parsing!
scenery-demo1.kps:alias qfix   % a hack until we get proper argument parsing!
scenery-demo1.kps:alias qfix   % a hack until we get proper argument parsing!
slide-knot-aux.kps:until timelimit 15
slide-knot-aux.kps:until athick .9 "refl grG last;tran \rr+-1 \rr+-1 \rr+-1 last"
slide-knot-aux.kps:until timelimit 9999999
splaits_1comp.kps:until timelimit 20
splaits_1comp.kps:until Ncomp 1 "func exec 5;func exec 9;disp t"
splaits_2comp.kps:until timelimit 20
splaits_2comp.kps:until Ncomp 2 "func exec 5;func exec 9;disp t"
splaits_3comp.kps:until timelimit 20
splaits_3comp.kps:until Ncomp 3 "func exec 5;func exec 9;disp t"
split-delete-hint.kps:echo "      until you see a small icosahedron appear.  Then click and drag the string."
split-delete-hint.kps:txt c a "the string until you see a small icosahedron appear."
stick-things.kps:%until safe <stick-things-aux.kps
stick-things.kps:%until safe "torus \ri[3/66] \ri[3/66] \ri[10/66]"
thold_relax.kps:until timelimit 10
thold_relax.kps:until safe "scale 1.08 1.08 1.08;disp t"
turkshead2.kps:until timelimit 30
turkshead2.kps:until safe "torus;about z 90;refine 3;disp t;nap .1;alter;disp t;nap .1"
twist2.kps:until timelimit 6
twist2.kps:%until ltdiam 24 "scale .99 .99 .99;disp t"
twist2.kps:until ltdiam 24 "scale keep .99;disp t"
txt_demo.kps:until timelimit 10
txt_demo.kps:until thick 2 "ago 5"
weaveA_fix.kps:until safe "ago 5"
weaveA_new.kps:%until Ncomp 1 "torus"
