summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pst-intersect
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-03-05 23:17:53 +0000
committerKarl Berry <karl@freefriends.org>2014-03-05 23:17:53 +0000
commite92a34caec5eab0a4c9409d6f0b8372d43dd0684 (patch)
treef904249702cdd04e0d4aea911c28554edde15253 /Master/texmf-dist/tex/generic/pst-intersect
parent5d7310e773402ac7823bf14a692676781b062ab8 (diff)
pst-intersect (4mar14)
git-svn-id: svn://tug.org/texlive/trunk@33099 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/pst-intersect')
-rw-r--r--Master/texmf-dist/tex/generic/pst-intersect/pst-intersect.tex107
1 files changed, 61 insertions, 46 deletions
diff --git a/Master/texmf-dist/tex/generic/pst-intersect/pst-intersect.tex b/Master/texmf-dist/tex/generic/pst-intersect/pst-intersect.tex
index 25ef91c07fd..099d487e748 100644
--- a/Master/texmf-dist/tex/generic/pst-intersect/pst-intersect.tex
+++ b/Master/texmf-dist/tex/generic/pst-intersect/pst-intersect.tex
@@ -9,7 +9,7 @@
%% This is a generated file.
%%
%% Project: pst-intersect
-%% Version: 0.1 (2014/02/19)
+%% Version: 0.3 (2014/03/04)
%%
%% Copyright (C) 2007-2014 by Christoph Bersch <usenet@bersch.net>
%%
@@ -45,43 +45,6 @@
\def\pst@intersectdict{tx@IntersectDict begin }
\def\PIT@dict#1{\pst@intersectdict #1 end}
\def\PIT@Verb#1{\pst@Verb{\PIT@dict{#1} }}%
-
-\def\pssavebezier{\pst@object{pssavebezier}}
-\def\pssavebezier@i#1{%
- \begin@OpenObj
- \PIT@checkname{#1}%
- \addto@pscode{ /\PIT@name{#1} }%
- \pst@getcoors[\pssavebezier@ii%]
-}%
-\def\pssavebezier@ii{%
- \addto@pscode{%
- counttomark 20 gt { counttomark 20 sub { pop } repeat } if
- counttomark 2 idiv 1 sub
- \psk@plotpoints\space exch
- \txFunc@BezierCurve
- \ifshowpoints \txFunc@BezierShowPoints \else pop \fi
- tx@FuncDict begin Points aload pop end
- }%
- \let\use@pscode\PIT@use@pscode
- \end@OpenObj
- \PIT@Verb{%
- [ count 1 sub 1 roll ] ArrayToPointArray def
- }%
-\ignorespaces}%
-\def\psGetIsectCenter#1#2#3{%
- \pst@intersectdict
- \PIT@name{#1} /\PIT@name{#2@t} get #3 1 sub get
- \PIT@name{#1} /\PIT@name{#2} get
- dup IsPath {
- PreparePath exch dup 3 1 roll cvi get
- } if
- PointArrayToArray
- tx@FuncDict begin 2 dict begin
- dup length 2 idiv 1 sub /BezierType exch def /Points exch def GetBezierCoor
- end end
- end
- \tx@UserCoor /#2#3.y exch def /#2#3.x exch def
-}%
\define@key[psset]{intersect}{tstart}{%
\pst@checknum{#1}\PIT@key@tstart
}
@@ -99,6 +62,7 @@
}%
\newif\PIT@saveintersections
\define@boolkey[psset]{intersect}[PIT@]{saveintersections}[true]{}
+
\psset[intersect]{%
tstart=-1,
tstop=-1,
@@ -135,6 +99,28 @@
\@pstrickserr{Unexpected empty argument!}\@ehpb
\fi
}%
+\def\pssavebezier{\pst@object{pssavebezier}}
+\def\pssavebezier@i#1{%
+ \begin@OpenObj
+ \PIT@checkname{#1}%
+ \addto@pscode{ /\PIT@name{#1} }%
+ \pst@getcoors[\pssavebezier@ii%]
+}%
+\def\pssavebezier@ii{%
+ \addto@pscode{%
+ counttomark 20 gt { counttomark 20 sub { pop } repeat } if
+ counttomark 2 idiv 1 sub
+ \psk@plotpoints\space exch
+ \txFunc@BezierCurve
+ \ifshowpoints \txFunc@BezierShowPoints \else pop \fi
+ tx@FuncDict begin Points aload pop end
+ }%
+ \let\use@pscode\PIT@use@pscode
+ \end@OpenObj
+ \PIT@Verb{%
+ [ count 1 sub 1 roll ] ArrayToPointArray def
+ }%
+\ignorespaces}%
\def\pssavepath{\pst@object{pssavepath}}%
\long\def\pssavepath@i#1#2{%
\begin@SpecialObj
@@ -189,7 +175,6 @@
} if
ToUnitInterval Portion
{ aload pop } forall
- % reverse the point order
counttomark -2 4 { 2 roll } for
counttomark 2 sub 2 idiv
\psk@plotpoints
@@ -319,14 +304,23 @@
\PIT@@name\space /Points get
ArrayToPointArray
end
- tx@NodeDict begin
- dup length 1 1 3 -1 roll {
- 2 copy 1 sub get cvx
- false 3 -1 roll (N@\PIT@key@name) exch 20 string cvs
- \pst@intersectdict strcat end cvn
+ dup length 1 1 3 -1 roll {
+ 2 copy 1 sub get
+ \ifPst@saveNodeCoors
+ \pst@intersectdict
+ 2 copy aload pop \tx@UserCoor 3 -1 roll
+ 20 string cvs (N-\PIT@key@name) exch strcat dup
+ (.y) strcat cvn exch (.x) strcat cvn
+ end
+ 4 -1 roll def exch def
+ \fi
+ cvx
+ false 3 -1 roll (N@\PIT@key@name) exch 20 string cvs
+ \pst@intersectdict strcat end cvn
+ tx@NodeDict begin
10 {InitPnode} /NodeScale {} def NewNode
- } for
- end
+ end
+ } for
pop
}%
\fi
@@ -341,6 +335,27 @@
\end@SpecialObj
\fi
}%
+\def\psGetIsectCenter#1#2#3{%
+ \pst@intersectdict
+ \ifx\\#2\\%
+ \PIT@name{#1} /Points get dup #3 1 sub 2 mul get exch #3 2 mul 1 sub get
+ \else
+ \PIT@name{#1} /\PIT@name{#2@t} get #3 1 sub get
+ \PIT@name{#1} /\PIT@name{#2} get
+ dup IsPath {
+ PreparePath dup length 1 sub
+ 3 -1 roll dup dup
+ cvi sub 4 1 roll
+ cvi sub get
+ } if
+ PointArrayToArray
+ tx@FuncDict begin 2 dict begin
+ dup length 2 idiv 1 sub /BezierType exch def /Points exch def GetBezierCoor
+ end end
+ \fi
+ end
+ \tx@UserCoor /I-#1#3.y exch def /I-#1#3.x exch def
+}%
\catcode`\@=\PstAtCode\relax
\endinput
%%