From a666990707592b9edaf9d900454b6567a1f59b70 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Thu, 6 Apr 2017 00:28:00 +0000 Subject: pst-3dplot (6Apr) git-svn-id: svn://tug.org/texlive/trunk@43703 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/generic/pst-3dplot/pst-3dplot.tex | 109 +++++++++++++++------ 1 file changed, 81 insertions(+), 28 deletions(-) (limited to 'Master/texmf-dist/tex/generic/pst-3dplot') diff --git a/Master/texmf-dist/tex/generic/pst-3dplot/pst-3dplot.tex b/Master/texmf-dist/tex/generic/pst-3dplot/pst-3dplot.tex index 2f789b0f382..38c21da9c32 100644 --- a/Master/texmf-dist/tex/generic/pst-3dplot/pst-3dplot.tex +++ b/Master/texmf-dist/tex/generic/pst-3dplot/pst-3dplot.tex @@ -1,4 +1,4 @@ -%% $Id: pst-3dplot.tex 899 2014-03-26 08:40:56Z herbert $ +%% $Id: pst-3dplot.tex 401 2017-04-05 06:57:36Z herbert $ %% %% This is file `pst-3dplot.tex', %% @@ -27,8 +27,8 @@ \ifx\PSTMultidoLoaded\endinput\else \input multido.tex\fi \ifx\PSTXKeyLoaded\endinput\else \input pst-xkey \fi % -\def\fileversion{2.01} -\def\filedate{2014/08/25} +\def\fileversion{2.04} +\def\filedate{2017/04/05} \message{`PST-3dplot' v\fileversion, \filedate\space (HV,DL)} % \edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax @@ -39,6 +39,7 @@ \newdimen\pst@dimf % \define@boolkey[psset]{pst-3dplot}[Pst@]{Debug}[true]{}% +\define@boolkey[psset]{pst-3dplot}[Pst@]{alternative}[true]{}% for switches \define@boolkey[psset]{pst-3dplot}[Pst@]{drawing}[true]{}% draw the coordinates? \define@boolkey[psset]{pst-3dplot}[Pst@]{drawCoor}[true]{}% draw the coordinates of a dot? \define@boolkey[psset]{pst-3dplot}[Pst@]{hiddenLine}[true]{}% emulate hidden line surface? @@ -64,6 +65,8 @@ \or %5 \or %6 \def\psk@ThreeDplot@Alpha{26.565} + \or %7 + \def\psk@ThreeDplot@Alpha{26.565} \else \fi} % 0 default @@ -219,7 +222,7 @@ \def\setIIIDplotDefaults{% \psset[pstricks]{linejoin=1}% \psset[pst-3dplot]{ - Debug=false,CoorCheck=true, + Debug=false,CoorCheck=true,alternative=false, drawing=true,hiddenLine=false,eulerRotation=false, xMin=-1,xMax=4,yMin=-1,yMax=4,zMin=-1,zMax=4, xThreeDunit=1,yThreeDunit=1.0,zThreeDunit=1.0,Alpha=45,Beta=30, @@ -936,25 +939,17 @@ % \def\pstThreeDBox{\pst@object{pstThreeDBox}} \def\pstThreeDBox@i(#1,#2,#3){% - \pst@killglue% - \begingroup% - \addbefore@par{linestyle=\psk@ThreeDplot@invisibleLineStyle}% - \use@keep@par% - \def\pst@tempX{#1 }% - \def\pst@tempY{#2 }% - \def\pst@tempZ{#3 }% - \pstThreeDBox@ii% + \pst@killglue + \begingroup + \addbefore@par{alternative=false,linestyle=\psk@ThreeDplot@visibleLineStyle}% + \use@keep@par + \gdef\pst@tempX{#1 }% + \gdef\pst@tempY{#2 }% + \gdef\pst@tempZ{#3 }% + \pstThreeDBox@ii } \def\pstThreeDBox@ii(#1,#2,#3)(#4,#5,#6)(#7,#8,#9){%%\def\pstThreeDBox@i[#1](#2)(#3)(#4)(#5) -\iftrue - \pstThreeDSquare(\pst@tempX,\pst@tempY,\pst@tempZ)(#4,#5,#6)(#7,#8,#9)% lower square - \pstThreeDSquare(\pst@tempX,\pst@tempY,\pst@tempZ)(#1,#2,#3)(#4,#5,#6)% back square - \addto@par{linestyle=dashed}%\psk@ThreeDplot@invisibleLineStyle}% -% \psset{linestyle=\psk@ThreeDplot@visibleLineStyle}% - \pstThreeDSquare(\pst@tempX #4 add,\pst@tempY #5 add,\pst@tempZ #6 add)(#1,#2,#3)(#7,#8,#9)% left square - \pstThreeDSquare(\pst@tempX #1 add,\pst@tempY #2 add,\pst@tempZ #3 add)(#4,#5,#6)(#7,#8,#9)% top square - \pstThreeDSquare(\pst@tempX #7 add,\pst@tempY #8 add,\pst@tempZ #9 add)(#1,#2,#3)(#4,#5,#6)% front square -\else% better support for hidden lines +\ifPst@alternative% better support for hidden lines \pstThreeDSquare(\pst@tempX,\pst@tempY,\pst@tempZ)(#4,#5,#6)(#7,#8,#9) % lower square \pst@absdim{\psk@ThreeDplot@Alpha pt}\pst@dimo \ifdim\pst@dimo<90pt @@ -962,9 +957,15 @@ \pstThreeDSquare(\pst@tempX,\pst@tempY,\pst@tempZ)(#1,#2,#3)(#4,#5,#6)% back square \else \pstThreeDSquare(\pst@tempX #7 add,\pst@tempY #8 add,\pst@tempZ #9 add)(#1,#2,#3)(#4,#5,#6)% front square - \fi% - \fi% - \psset{linestyle=\psk@ThreeDplot@visibleLineStyle}% + \fi + \else + \ifdim\pst@dimo>270pt + \pstThreeDSquare(\pst@tempX #7 add,\pst@tempY #8 add,\pst@tempZ #9 add)(#1,#2,#3)(#4,#5,#6)% front square + \else + \pstThreeDSquare(\pst@tempX,\pst@tempY,\pst@tempZ)(#1,#2,#3)(#4,#5,#6)% back square + \fi + \fi + \ifPst@hiddenLine\psset{linestyle=\psk@ThreeDplot@invisibleLineStyle}\fi \pstThreeDSquare(\pst@tempX #4 add,\pst@tempY #5 add,\pst@tempZ #6 add)(#1,#2,#3)(#7,#8,#9)% left square \pstThreeDSquare(\pst@tempX #1 add,\pst@tempY #2 add,\pst@tempZ #3 add)(#4,#5,#6)(#7,#8,#9)% top square \ifdim\pst@dimo<90pt @@ -972,12 +973,64 @@ \pstThreeDSquare(\pst@tempX #7 add,\pst@tempY #8 add,\pst@tempZ #9 add)(#1,#2,#3)(#4,#5,#6)% front square \else \pstThreeDSquare(\pst@tempX,\pst@tempY,\pst@tempZ)(#1,#2,#3)(#4,#5,#6)% back square - \fi% + \fi + \else + \ifdim\pst@dimo>270pt + \pstThreeDSquare(\pst@tempX,\pst@tempY,\pst@tempZ)(#1,#2,#3)(#4,#5,#6)% back square + \else + \pstThreeDSquare(\pst@tempX #7 add,\pst@tempY #8 add,\pst@tempZ #9 add)(#1,#2,#3)(#4,#5,#6)% front square + \fi \fi% -\fi% - \endgroup% - \ignorespaces% +\else + \ifnum\psk@ThreeDplot@coorType=3 + \ifPst@hiddenLine + \psset{linestyle=\psk@ThreeDplot@invisibleLineStyle} + \pstThreeDLine(\pst@tempX,\pst@tempY,\pst@tempZ)(\pst@tempX #1 add,\pst@tempY,\pst@tempZ)(\pst@tempX #1 add,\pst@tempY #5 add,\pst@tempZ) + \pstThreeDLine(\pst@tempX #1 add,\pst@tempY,\pst@tempZ)(\pst@tempX #1 add,\pst@tempY,\pst@tempZ #9 add) + \psset{linestyle=\psk@ThreeDplot@visibleLineStyle} + \else + \pstThreeDSquare(\pst@tempX,\pst@tempY,\pst@tempZ)(#1,#2,#3)(#4,#5,#6)% bottom square + \pstThreeDSquare(\pst@tempX #1 add,\pst@tempY #2 add,\pst@tempZ #3 add)(#4,#5,#6)(#7,#8,#9)% left square + \fi + \pstThreeDSquare(\pst@tempX #4 add,\pst@tempY #5 add,\pst@tempZ #6 add)(#1,#2,#3)(#7,#8,#9)% right square + \pstThreeDSquare(\pst@tempX #7 add,\pst@tempY #8 add,\pst@tempZ #9 add)(#1,#2,#3)(#4,#5,#6)% top square + \pstThreeDSquare(\pst@tempX,\pst@tempY,\pst@tempZ)(#4,#5,#6)(#7,#8,#9)% right square + \else + \ifnum\psk@ThreeDplot@coorType=5 + \ifPst@hiddenLine + \psset{linestyle=\psk@ThreeDplot@invisibleLineStyle} + \pstThreeDLine(\pst@tempX,\pst@tempY,\pst@tempZ)(\pst@tempX,\pst@tempY,\pst@tempZ #9 add)(\pst@tempX #1 add,\pst@tempY,\pst@tempZ #9 add) + \pstThreeDLine(\pst@tempX,\pst@tempY,\pst@tempZ #9 add)(\pst@tempX,\pst@tempY #5 add,\pst@tempZ #9 add) + \psset{linestyle=\psk@ThreeDplot@visibleLineStyle} + \else + \pstThreeDSquare(\pst@tempX #7 add,\pst@tempY #8 add,\pst@tempZ #9 add)(#1,#2,#3)(#4,#5,#6)% top square + \pstThreeDSquare(\pst@tempX,\pst@tempY,\pst@tempZ)(#4,#5,#6)(#7,#8,#9)% right square + \fi + \pstThreeDSquare(\pst@tempX,\pst@tempY,\pst@tempZ)(#1,#2,#3)(#4,#5,#6)% bottom square + \pstThreeDSquare(\pst@tempX #4 add,\pst@tempY #5 add,\pst@tempZ #6 add)(#1,#2,#3)(#7,#8,#9)% top square + \pstThreeDSquare(\pst@tempX #1 add,\pst@tempY #2 add,\pst@tempZ #3 add)(#4,#5,#6)(#7,#8,#9)% left square + \else + \pstThreeDSquare(\pst@tempX #1 add,\pst@tempY #2 add,\pst@tempZ #3 add)(#4,#5,#6)(#7,#8,#9)% left square + \pstThreeDSquare(\pst@tempX #4 add,\pst@tempY #5 add,\pst@tempZ #6 add)(#1,#2,#3)(#7,#8,#9)% front square + \pstThreeDSquare(\pst@tempX #7 add,\pst@tempY #8 add,\pst@tempZ #9 add)(#1,#2,#3)(#4,#5,#6)% top square + \ifPst@hiddenLine +% \psset{} + \pstThreeDLine[linestyle=\psk@ThreeDplot@invisibleLineStyle](\pst@tempX #1 add,\pst@tempY,\pst@tempZ)(\pst@tempX,\pst@tempY,\pst@tempZ)(\pst@tempX,\pst@tempY #5 add,\pst@tempZ) + \pstThreeDLine[linestyle=\psk@ThreeDplot@invisibleLineStyle](\pst@tempX,\pst@tempY,\pst@tempZ)(\pst@tempX,\pst@tempY,\pst@tempZ #9 add) +% \psset{linestyle=\psk@ThreeDplot@visibleLineStyle} + \else + \pstThreeDSquare(\pst@tempX,\pst@tempY,\pst@tempZ)(#1,#2,#3)(#4,#5,#6)% bottom square + \pstThreeDSquare(\pst@tempX,\pst@tempY,\pst@tempZ)(#4,#5,#6)(#7,#8,#9)% right square + \fi + \fi + \fi +\fi + \endgroup + \ignorespaces } +% + + \define@key[psset]{pst-3dplot}{height}[5]{\def\psk@height{#1 }} \define@key[psset]{pst-3dplot}{move}[0 0]{\def\psk@move{#1 }} -- cgit v1.2.3