diff options
author | Karl Berry <karl@freefriends.org> | 2014-07-13 21:30:08 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2014-07-13 21:30:08 +0000 |
commit | 59161ce421c69ad679d1c22d540f51b9e68a2497 (patch) | |
tree | f7cc1e35b86c42ab3ac4f51b4b3c54c3612e2e7b /Master/texmf-dist/dvips | |
parent | 0453db105ed84bf57356a8f81ba35a47c4996371 (diff) |
pst-optexp
git-svn-id: svn://tug.org/texlive/trunk@34592 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/dvips')
-rw-r--r-- | Master/texmf-dist/dvips/pst-optexp/pst-optexp.pro | 169 |
1 files changed, 141 insertions, 28 deletions
diff --git a/Master/texmf-dist/dvips/pst-optexp/pst-optexp.pro b/Master/texmf-dist/dvips/pst-optexp/pst-optexp.pro index 94f28126d69..d9e46618c82 100644 --- a/Master/texmf-dist/dvips/pst-optexp/pst-optexp.pro +++ b/Master/texmf-dist/dvips/pst-optexp/pst-optexp.pro @@ -9,7 +9,7 @@ %% This is a generated file. %% %% Project: pst-optexp -%% Version: 4.8 (2014/02/28) +%% Version: 4.10 (2014/06/04) %% %% Copyright (C) 2007-2014 by Christoph Bersch <usenet@bersch.net> %% @@ -101,14 +101,6 @@ tx@OptexpDict begin dup log 1 add floor cvi string cvs } if } bind def -/IfcCopy { - 2 copy IfcName exch IfcName load dup - length dict copy def - name exch NodeName name 3 -1 roll NodeName - tx@NodeDict begin - load dup length dict copy def - end -} bind def /calcNodes { (calcNode) DebugBegin /YG exch def /XG exch def @@ -188,7 +180,7 @@ tx@OptexpDict begin /reverse ED dup cvn load /N get dup reverse { -1 1 } { 1 1 3 -1 roll } ifelse - { 2 copy eq { pop (N) } { inttostr } ifelse + { inttostr 3 -1 roll dup 4 1 roll exch NodeName 3 1 roll } for pop pop @@ -267,7 +259,7 @@ tx@OptexpDict begin end exec scl ToVec 3 1 roll NodeName @NewNode } bind def -/relative 0 def /absolute 1 def /center 2 def +/relative 0 def /absolute 1 def /center 2 def /firstcomp 3 def /refl 0 def /trans 1 def /absorb 2 def /refltrans 3 def /auto 4 def /undefined -1 def /desc 0 def /asc 1 def /amb 2 def /ok 0 def /tir 1 def /missed 2 def @@ -297,15 +289,16 @@ tx@OptexpDict begin } ifelse 1 N eq { name (1) 3 -1 roll {sc} NewCompIfc - (1) (N) IfcCopy + (1) (2) IfcCopy + (2) (N) IfcAlias }{ N -1 1 { % - dup N eq { pop (N) }{inttostr} ifelse - exch name 3 1 roll {sc} NewCompIfc + inttostr exch name 3 1 roll {sc} NewCompIfc } for + N inttostr (N) IfcAlias } ifelse ambiguous ambIfc 0 gt and { - ambIfc N eq { (N) }{ ambIfc inttostr } ifelse (C) IfcCopy + ambIfc inttostr (C) IfcCopy } if end pop @@ -325,23 +318,76 @@ tx@OptexpDict begin counttomark /N ED 1 N eq { {0 1} 0 0 trans name (1) {PlainIfc} {sc} NewCompIfc - (1) (N) IfcCopy + (1) (2) IfcCopy + (2) (N) IfcAlias }{ N -1 1 { - dup N eq { pop (N) }{inttostr} ifelse + inttostr {0 1} 0 0 absorb name 6 -1 roll {PlainIfc} {sc} NewCompIfc } for + N inttostr (N) IfcAlias } ifelse end pop DebugEnd } bind def +/IfcCopy { + 2 copy IfcName exch IfcName load dup + length dict copy def + name exch NodeName name 3 -1 roll NodeName + tx@NodeDict begin + load dup length dict copy def + end +} bind def /IfcAlias { 2 copy IfcName exch IfcName load def tx@NodeDict begin name exch NodeName name 3 -1 roll NodeName load def end } bind def +/CompAlias { + 2 copy cvn dup currentdict exch known { + load def + } { + pop + } ifelse + tx@NodeDict begin + 1 { + 3 copy inttostr dup + 3 1 roll 2 copy NodeName + currentdict exch known { + NodeName load 3 1 roll NodeName ED + 1 add + } { + pop (N) NodeName load 3 1 roll + pop (N) NodeName ED + pop exit + } ifelse + } loop + mark (A) (B) (@A) (@B) (Center) (Label) (Rotref) + (TrefA) (TrefB) (@TrefA) (@TrefB) (Ext) (Origin) + counttomark { + counttomark 3 add -2 roll 2 copy counttomark 1 add 2 roll + 3 -1 roll dup 4 1 roll NodeName dup + currentdict exch known { + load 3 1 roll exch NodeName ED + } { + pop pop pop + } ifelse + } repeat pop + exch 1 1 8 { + 3 copy + (Ext) exch 5 string cvs strcat dup 3 1 roll + NodeName 3 1 roll NodeName + dup currentdict exch known { + load def pop + } { + pop pop pop exit + } ifelse + } for + pop pop + end +} bind def /GetPlaneVec { (GetPlaneVec) DebugBegin cvn load begin @@ -942,6 +988,82 @@ tx@OptexpDict begin } if DebugEnd } bind def +/DrawbeamPrepare { + { + counttomark 6 le { exit } if + 3 index not { pop pop pop }{ exit } ifelse + } loop + { + counttomark 3 le { exit } if + counttomark 3 sub index not { + counttomark -3 roll pop pop pop + }{ + exit + } ifelse + } loop +} bind def +/DrawbeamSimple { + pop 5 copy 3 -1 roll pop + ArrowA pop pop pop pop + counttomark 3 idiv -1 2 { + pop { + lineto + }{ + moveto + } ifelse + } for + {CP 4 2 roll ArrowB lineto pop pop } {moveto} ifelse +} bind def +/DrawbeamArrowInside { + 6 copy pop + /y1 ED /x1 ED pop /y2 ED /x2 ED + /Alpha y2 y1 sub x2 x1 sub Atan def + pop 3 -1 roll 5 1 roll + ArrowA + x1 Alpha cos arrowlength mul add + y1 Alpha sin arrowlength mul add + 5 -1 roll 3 1 roll true + /N N 1 sub def + N { + 6 copy pop + /y1 ED /x1 ED pop /y2 ED /x2 ED /draw ED + x1 y1 x2 y2 @ABDist dup + arrowminlength ge + exch arrowmaxlength dup 0 lt + 3 1 roll le or and { + x1 y1 + arrowpos 1 gt { + /Alpha y2 y1 sub x2 x1 sub Atan def + /dArrowPos dArrowPosStart abs def + /ArrowPos ArrowPosStart def + arrowno { + /ArrowPos ArrowPos dArrowPos add def + x1 Alpha cos ArrowPos mul add + y1 Alpha sin ArrowPos mul add + 6 index { ArrowInside } if + pop pop + } repeat + }{ + arrowno 1 gt { + 1.0 arrowno 1.0 add div + }{ + dArrowPosStart + } ifelse /dArrowPos ED + /ArrowPos ArrowPosStart def + arrowno { + /ArrowPos ArrowPos dArrowPos add def + x2 x1 sub ArrowPos mul x1 add + y2 y1 sub ArrowPos mul y1 add + 6 index { ArrowInside } if + pop pop + } repeat + } ifelse + pop pop + } if + draw {Lineto}{moveto} ifelse + } repeat + {CP 4 2 roll ArrowB lineto pop pop } {moveto} ifelse +} bind def /isAmbiguous { cvn load dup /ambiguous known { /ambiguous get @@ -1192,11 +1314,7 @@ tx@OptexpDict begin }{ name GetRefIndex } ifelse - exch dup N eq { - pop (N) - } { - inttostr - } ifelse exch + exch inttostr exch 3 1 roll name 4 1 roll dup IfcName load /mode get @@ -1216,12 +1334,7 @@ tx@OptexpDict begin counttomark 1 eq { pop } if } bind def /IfcName { - dup dup 1 eq not exch N eq and { - pop (N) - } { - inttostr - } ifelse - (P@) exch strcat cvn + inttostr (P@) exch strcat cvn } bind def /GetIfcMode { exch cvn load begin |