diff options
author | Karl Berry <karl@freefriends.org> | 2013-03-20 21:37:35 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-03-20 21:37:35 +0000 |
commit | c12e1348d0914fb7b830a01270caab9a64392f83 (patch) | |
tree | 70fdb15a9cab51cd563996062a3c8c0c25c94d7d /Master/texmf-dist/dvips | |
parent | abe817918b44932ac5391be3fbb7bc55b030c01b (diff) |
pst-optexp (20mar13)
git-svn-id: svn://tug.org/texlive/trunk@29444 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/dvips')
-rw-r--r-- | Master/texmf-dist/dvips/pst-optexp/pst-optexp.pro | 48 |
1 files changed, 33 insertions, 15 deletions
diff --git a/Master/texmf-dist/dvips/pst-optexp/pst-optexp.pro b/Master/texmf-dist/dvips/pst-optexp/pst-optexp.pro index 99236bc9f55..2c1e89865eb 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: 3.5 (2013/02/22) +%% Version: 3.6 (2013/03/20) %% %% Copyright (C) 2007-2013 by Christoph Bersch <usenet@bersch.net> %% @@ -491,7 +491,8 @@ tx@OptexpDict begin } if /IfcCntTmp IfcCnt def aload pop /draw ED /name ED - name cvn load /N get /N ED + name cvn load /N get dup /N ED + 1 eq { /draw true def } if currentdict /Curr known { /CurrTmp /Curr load def /CurrVecTmp /CurrVec load def @@ -511,18 +512,20 @@ tx@OptexpDict begin }{ CurrTmp name GetNearestPlane dup /firstPlane ED name isAmbiguousIfc not { - CurrVecTmp firstPlane name GetPlaneVec NormalVec - (C) name GetIfcCenter firstPlane name GetIfcCenter - @ABVect 2 copy 6 2 roll DotProd - 0 lt { trans }{ refl } ifelse - 3 1 roll ToVec /CurrVecTmp ED + firstPlane name + name firstPlane GetIfcMode + connectifc { bgRefIndex }{ name GetRefIndex } ifelse + CurrTmp CurrVecTmp + 10 dict begin HandleInterface end pop + ToVec /CurrVecTmp ED ToVec /CurrTmp ED [ firstPlane name connectifc { bgRefIndex }{ name GetRefIndex } ifelse - 5 -1 roll true ] cvx + name firstPlane GetIfcMode + true ] cvx /IfcCntTmp IfcCntTmp 1 add def } if PN IfcCnt eq { @@ -535,9 +538,15 @@ tx@OptexpDict begin name GetRefIndex CurrVecTmp (C) name GetPlaneVec NormalVec outToPlane GetIfcCenter (C) name GetIfcCenter @ABVect DotProd - 0 lt { trans } { refl } ifelse % mode + 0 lt { trans } { refl } ifelse + dup 6 1 roll IfcCntTmp IfcCnt eq { true }{ draw } ifelse ] cvx + (C) name 4 -1 roll + connectifc { bgRefIndex }{ name GetRefIndex } ifelse + CurrTmp CurrVecTmp + 10 dict begin HandleInterface end pop + ToVec /CurrVecTmp ED ToVec /CurrTmp ED name /outToPlane load GetNextPlane dup dup name isAmbiguousIfc exch 0 eq or not { [ exch name bgRefIndex trans draw ] cvx exch @@ -556,8 +565,9 @@ tx@OptexpDict begin /GetNextPlane { (GetNextPlane) DebugBegin 2 copy (C) 3 -1 roll - GetIfcCenter 3 -1 roll exec GetIfcCenter - 4 2 roll 4 copy @ABVect /VecY ED /VecX ED + GetIfcCenter 3 -1 roll + exec GetIfcCenter + 4 2 roll 4 copy @ABVect ToVec /Vec ED @ABDist /centerDist ED /sprod 1 def /nextPlane 0 def @@ -565,8 +575,8 @@ tx@OptexpDict begin cvn load dup /ambIfc get /ambIfc ED /N get 1 1 3 -1 roll { dup ambIfc eq not { 3 copy 3 -1 roll 2 copy - GetPlaneVec VecX VecY 4 2 roll NormalVec - VecX VecY DotProd dup sprod lt 5 2 roll + GetPlaneVec Vec 4 2 roll NormalVec + Vec DotProd dup sprod lt 5 2 roll GetIfcCenter 3 -1 roll exec GetIfcCenter @ABDist centerDist lt and { /sprod ED /nextPlane ED } { pop pop } ifelse @@ -650,7 +660,7 @@ tx@OptexpDict begin } ifelse 2 copy ToVec /Curr ED - draw PN skipconn 1 add gt and + draw PN beampathskip 1 add gt and counttomark 3 roll /PrevCenter /CurrCenter load def /lastBeamPointTmp /Curr load def @@ -744,7 +754,7 @@ tx@OptexpDict begin PushAmbCompPlanesOnStack } if exec - PN skipconn 1 add gt and /draw ED + PN beampathskip 1 add gt and /draw ED /Mode ED /n2 ED 2 copy /CompName ED /IfcNum ED GetIfcCenter ToVec /CurrPCenter ED /oldn1 n1 def @@ -1033,6 +1043,9 @@ tx@OptexpDict begin } if AdjustRelRot } { + i 2 eq { + CompB amb CompA desc AdjustRelRot + } if pop amb dup } ifelse CompB /CompA CompB def @@ -1152,6 +1165,11 @@ tx@OptexpDict begin } ifelse (P@) exch strcat cvn } bind def +/GetIfcMode { + exch cvn load begin + IfcName load /mode get + end +} bind def /NodeName { dup /stringtype eq not { inttostr } if strcat (N@) exch strcat cvn |