From f13eb2154a8c3f2e1a0f1af64ca625ce650f1d48 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 13 Sep 2010 16:21:39 +0000 Subject: pst-solides3d 4.20 (24jul10) git-svn-id: svn://tug.org/texlive/trunk@19703 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/generic/pst-solides3d/pst-solides3d.tex | 171 +++++---------------- 1 file changed, 36 insertions(+), 135 deletions(-) (limited to 'Master/texmf-dist/tex/generic/pst-solides3d') diff --git a/Master/texmf-dist/tex/generic/pst-solides3d/pst-solides3d.tex b/Master/texmf-dist/tex/generic/pst-solides3d/pst-solides3d.tex index e80033298db..044a6de99b0 100644 --- a/Master/texmf-dist/tex/generic/pst-solides3d/pst-solides3d.tex +++ b/Master/texmf-dist/tex/generic/pst-solides3d/pst-solides3d.tex @@ -1,6 +1,6 @@ -%% +%% %% COPYRIGHT 2008-2010 by Manuel Luque, Arnaud Schmittbuhl, -%% Jean-Paul Vignault, Herbert Voss. +%% Jean-Paul Vignault, Herbert Voss. %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -33,8 +33,8 @@ \ifx\PSTXKeyLoaded\endinput\else \input pst-xkey \fi \ifx\MultidoLoaded\endinput\else \input multido.tex \fi % JPV & ML & AS & HV -\def\fileversion{4.19} -\def\filedate{2010/04/30} +\def\fileversion{4.20} +\def\filedate{2010/07/23} \message{`PSTSOLIDESIIID' v\fileversion, \filedate} % \pstheader{pst-solides3d.pro} @@ -343,8 +343,9 @@ plan,offfile,geode,load,plantype,point,pie,droite,polygone,cercle,rightangle} \psSolid[object=parallelepiped, intersectiontype=-1, a={#2 #1 sub},b={#4 #3 sub}, - c={\pst@solides@@Zmax \pst@solides@@Zmin sub}, - action=draw](0,0,\pst@solides@@Zmax \pst@solides@@Zmin add 2 div )% + c={\pst@solides@@Zmax\space \pst@solides@@Zmin\space sub}, + action=draw](#1 #2 add 2 div,#3 #4 add 2 div,\pst@solides@@Zmax \pst@solides@@Zmin add 2 div )% + \ifPst@planmarks \ifnum#1<0 \pst@cnta=-#1 \def\pst@minus{-}\else\pst@cnta=#1 \def\pst@minus{}\fi \divide\pst@cnta by \psk@solides@stepX \multido{\ix=\psk@solides@stepX+\psk@solides@stepX}{\pst@cnta}{% @@ -399,6 +400,7 @@ plan,offfile,geode,load,plantype,point,pie,droite,polygone,cercle,rightangle} \psline(Z1)(Z2) \uput[\pst@solides@@spotZ](Z1){\small\pst@minus\iz}} \fi + \fi% \ifPst@planmarks % \psPoint(0,0,\pst@solides@@Zmax #7 add){Z'} \psPoint(#2 #5 add,0,0){X'} @@ -470,9 +472,7 @@ plan,offfile,geode,load,plantype,point,pie,droite,polygone,cercle,rightangle} /solidintersectionplan [ \pst@solides@intersectionplan ] def /axe { \pst@solides@axe } def /plansection [ \pst@solides@plansection ] def -\ifx\pst@solides@function\@empty\else - /function (\pst@solides@function) def -\fi +\ifx\pst@solides@function\@empty\else /function (\pst@solides@function) def \fi % /definition (\pst@solides@definition) def /args { \pst@solides@args} def @@ -498,18 +498,16 @@ plan,offfile,geode,load,plantype,point,pie,droite,polygone,cercle,rightangle} /pos (\pst@solides@pos) def /proj-fontsize {\pst@solides@fontsize\space \pst@number\psunit mul 28.45 div } bind def % -\ifx\pst@solides@CoordinatesLight\@empty\else - /lightsrc {\pst@solides@CoordinatesLight} def -\fi +\ifx\pst@solides@CoordinatesLight\@empty\else /lightsrc {\pst@solides@CoordinatesLight} def \fi % /rmfaces [\pst@solides@CoordinatesRm] def \ifx\pst@solides@plansepare\@empty\else/plansepare {\pst@solides@plansepare} def\fi -\ifx\pst@solides@transform\@empty\else/pst-transformoption { \pst@solides@transform} def\fi -\ifx\pst@solides@name\@empty\else/solidname (\pst@solides@name) def\fi -\ifx\pst@solides@file\@empty\else/solidfilename (\pst@solides@file) def\fi -\ifx\pst@solides@planname\@empty\else/solidplanname (\pst@solides@planname) def\fi -\ifx\pst@solides@load\@empty\else/solidloadname {\pst@solides@load} def\fi -\ifx\pst@solides@fcolor\@empty\else/solidfcolor (\pst@solides@fcolor) def\fi +\ifx\pst@solides@transform\@empty \else/pst-transformoption { \pst@solides@transform} def\fi +\ifx\pst@solides@name\@empty \else/solidname (\pst@solides@name) def\fi +\ifx\pst@solides@file\@empty \else/solidfilename (\pst@solides@file) def\fi +\ifx\pst@solides@planname\@empty \else/solidplanname (\pst@solides@planname) def\fi +\ifx\pst@solides@load\@empty \else/solidloadname {\pst@solides@load} def\fi +\ifx\pst@solides@fcolor\@empty \else/solidfcolor (\pst@solides@fcolor) def\fi % /fcol [\pst@solides@fcol] def /solidhue [\pst@solides@hue] def @@ -517,7 +515,6 @@ plan,offfile,geode,load,plantype,point,pie,droite,polygone,cercle,rightangle} /solidinhue [\pst@solides@inhue] def /origin {\pst@solides@origin} def % -%% %% /solidhue \ifPst@hue true \else false \fi def % /sommets [\pst@solides@sommets] def @@ -544,27 +541,14 @@ SolidesDict begin /solidnumsep \pst@solides@numsep\space def end /solidhollow \ifPst@hollow true \else false \fi def /solidbiface \ifPst@biface true \else false \fi def % -%% %% /solidnum \ifPst@num true \else false \fi def % -%\ifPst@SphericalCoor -% viewpointXYZ /PHI ED /THETA ED /Dobs ED -% % CoefficientsMT -% %% pour la 3D conventionnelle -% %% Dony : graphisme scientifique : page 187 -% %% Editeur : Masson -% /XpointVue {Dobs Cos1Cos2 mul} bind def -% /YpointVue {Dobs Sin1Cos2 mul} bind def -% /ZpointVue {Dobs Sin2 mul} bind def -% XpointVue YpointVue ZpointVue /viewpoint defpoint3d -%\else viewpointXYZ /ZpointVue ED /YpointVue ED /XpointVue ED /THETA {YpointVue XpointVue atan} bind def /PHI {ZpointVue XpointVue dup mul YpointVue dup mul add sqrt atan} bind def /Dobs {XpointVue dup mul YpointVue dup mul add ZpointVue dup mul add sqrt} bind def % CoefficientsMT XpointVue YpointVue ZpointVue /viewpoint defpoint3d -%\fi > %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -590,7 +574,7 @@ XpointVue YpointVue ZpointVue /viewpoint defpoint3d 1 setlinejoin \tx@optionssolides SolidesDict begin - #1 + #1 /CZ exch def /CY exch def /CX exch def @@ -606,8 +590,8 @@ XpointVue YpointVue ZpointVue /viewpoint defpoint3d %% la macro \codejps %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\codejps#1{{% -\define@key[psset]{pst-solides3d}{object}{\def\psk@solides@object{#1}}% -\psSolid[object={#1} exec](0,0,0)}}% + \define@key[psset]{pst-solides3d}{object}{\def\psk@solides@object{#1}}% + \psSolid[object={#1} exec](0,0,0)}}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% la macro \psTransformPoint @@ -686,12 +670,10 @@ XpointVue YpointVue ZpointVue /viewpoint defpoint3d \def\pst@solides@axesIIID@yname{#2} \def\pst@solides@axesIIID@zname{#3}} -\define@key[psset]{pst-solides3d}{axisnames}{% - \expandafter\pst@solides@axisnames@i#1,,,\@nil}% +\define@key[psset]{pst-solides3d}{axisnames}{\expandafter\pst@solides@axisnames@i#1,,,\@nil}% \psset[pst-solides3d]{axisnames={x,y,z}} -\define@key[psset]{pst-solides3d}{axisemph}{% - \def\pst@solides@axesIIID@emph{#1}} +\define@key[psset]{pst-solides3d}{axisemph}{\def\pst@solides@axesIIID@emph{#1}} \psset[pst-solides3d]{axisemph=} \def\axesIIID{\pst@object{axesIIID}} @@ -723,12 +705,9 @@ XpointVue YpointVue ZpointVue /viewpoint defpoint3d \psline(X)(X') \psline(Y)(Y') \psline(Z)(Z') - \rput(Xname){\ifPst@mathLabel$\fi\pst@solides@axesIIID@emph - \pst@solides@axesIIID@xname\ifPst@mathLabel$\fi} - \rput(Yname){\ifPst@mathLabel$\fi\pst@solides@axesIIID@emph - \pst@solides@axesIIID@yname\ifPst@mathLabel$\fi} - \rput(Zname){\ifPst@mathLabel$\fi\pst@solides@axesIIID@emph - \pst@solides@axesIIID@zname\ifPst@mathLabel$\fi} + \rput(Xname){\ifPst@mathLabel$\fi\pst@solides@axesIIID@emph\pst@solides@axesIIID@xname\ifPst@mathLabel$\fi} + \rput(Yname){\ifPst@mathLabel$\fi\pst@solides@axesIIID@emph\pst@solides@axesIIID@yname\ifPst@mathLabel$\fi} + \rput(Zname){\ifPst@mathLabel$\fi\pst@solides@axesIIID@emph\pst@solides@axesIIID@zname\ifPst@mathLabel$\fi} \endgroup% \ignorespaces% } @@ -746,7 +725,7 @@ XpointVue YpointVue ZpointVue /viewpoint defpoint3d %% mul div sub 0.75 1] (sethsbcolor) astr2str} for} \pst@killglue% \begingroup% - \psset{#1}% + \psset{planmarks,#1}% \init@pscode% \addto@pscode{ 1 setlinejoin @@ -875,18 +854,9 @@ XpointVue YpointVue ZpointVue /viewpoint defpoint3d /proj-definition (\pst@solides@definition) def /proj-args { \pst@solides@args} def /proj-action (\pst@solides@action) def -\ifx\pst@solides@name\@empty - \else -/projname (\pst@solides@name) def -\fi -\ifx\pst@solides@plan\@empty - \else -/planprojpst \pst@solides@plan \space def -\fi -\ifx\pst@solides@solidname\@empty - \else -/solidprojname {\pst@solides@solidname\space} def -\fi +\ifx\pst@solides@name\@empty \else/projname (\pst@solides@name) def \fi +\ifx\pst@solides@plan\@empty \else/planprojpst \pst@solides@plan \space def \fi +\ifx\pst@solides@solidname\@empty\else/solidprojname {\pst@solides@solidname\space} def \fi /noface \pst@solides@no\space def % no de la face du solide /resolution \pst@solides@resolution\space def % pour le nb de points par courbe > @@ -914,84 +884,16 @@ XpointVue YpointVue ZpointVue /viewpoint defpoint3d \pst@tempA\space /yorigine exch def \fi % nature du solide : texte, chemin, courbe - proj-\psk@solides@object\space + gsave proj-\psk@solides@object\space end }%<- fin du code ps \psk@fillstyle \pst@stroke - \addto@pscode{newpath}% + \addto@pscode{grestore newpath}% \ifPst@solidmemory\else\end@ClosedObj\fi }}% %\makeatother - - -%% 27/06/08 %% %% la macro de projection -%% 27/06/08 %% \def\psProjection{\def\pst@par{}\pst@object{psProjection}} -%% 27/06/08 %% \def\psProjection@i{\@ifnextchar({\psProjection@ii}{\psProjection@ii(0.,0.,0.)}} -%% 27/06/08 %% \def\psProjection@ii(#1,#2,#3){{% -%% 27/06/08 %% \use@par -%% 27/06/08 %% \ifPst@solidmemory -%% 27/06/08 %% \else -%% 27/06/08 %% \begin@ClosedObj -%% 27/06/08 %% \fi -%% 27/06/08 %% \addto@pscode{% -%% 27/06/08 %% \tx@optionssolides -%% 27/06/08 %% SolidesDict begin -%% 27/06/08 %% \tx@psProjection -%% 27/06/08 %% /CX 0 def -%% 27/06/08 %% /CY 0 def -%% 27/06/08 %% /CZ 0 def -%% 27/06/08 %% /xorigine #1 def -%% 27/06/08 %% /yorigine #2 def -%% 27/06/08 %% /zorigine #3 def -%% 27/06/08 %% % nature du solide : texte, chemin, courbe -%% 27/06/08 %% proj-\psk@solides@object\space -%% 27/06/08 %% end -%% 27/06/08 %% }%<- fin du code ps -%% 27/06/08 %% \psk@fillstyle -%% 27/06/08 %% \pst@stroke -%% 27/06/08 %% \ifPst@solidmemory -%% 27/06/08 %% \else -%% 27/06/08 %% \end@ClosedObj -%% 27/06/08 %% \fi -%% 27/06/08 %% }} - -%% 28/06/08 %% \makeatletter -%% 28/06/08 %% %% la macro de projection -%% 28/06/08 %% \def\psProjection{\def\pst@par{}\pst@object{psProjection}} -%% 28/06/08 %% \def\psProjection@i{\@ifnextchar({\psProjection@ii}{\psProjection@ii(0.,0.)}} -%% 28/06/08 %% \def\psProjection@ii(#1,#2){{% -%% 28/06/08 %% \def\@tempb{#2}% -%% 28/06/08 %% \use@par -%% 28/06/08 %% \ifPst@solidmemory -%% 28/06/08 %% \else -%% 28/06/08 %% \begin@ClosedObj -%% 28/06/08 %% \fi -%% 28/06/08 %% \addto@pscode{% -%% 28/06/08 %% \tx@optionssolides -%% 28/06/08 %% SolidesDict begin -%% 28/06/08 %% \tx@psProjection -%% 28/06/08 %% /CX 0 def -%% 28/06/08 %% /CY 0 def -%% 28/06/08 %% /CZ 0 def -%% 28/06/08 %% \ifx\@tempb\@empty -%% 28/06/08 %% #1 /yorigine exch def /xorigine exch def -%% 28/06/08 %% \else -%% 28/06/08 %% #1 #2 /yorigine exch def /xorigine exch def -%% 28/06/08 %% \fi -%% 28/06/08 %% % nature du solide : texte, chemin, courbe -%% 28/06/08 %% proj-\psk@solides@object\space -%% 28/06/08 %% end -%% 28/06/08 %% }%<- fin du code ps -%% 28/06/08 %% \psk@fillstyle -%% 28/06/08 %% \pst@stroke -%% 28/06/08 %% \ifPst@solidmemory -%% 28/06/08 %% \else -%% 28/06/08 %% \end@ClosedObj -%% 28/06/08 %% \fi -%% 28/06/08 %% }} -%% 28/06/08 %% \makeatother - +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% \psLineIIID est %% adapt de la macro \pstThreeDLine du package pst-3dplot (H.Voss) @@ -999,12 +901,11 @@ XpointVue YpointVue ZpointVue /viewpoint defpoint3d %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\cartesianIIID@coor#1,#2,#3,#4\@nil{\edef\pst@coor{#1 #2 #3 }} -\def\NormalIIIDCoor{% +\def\NormalIIID@Coor{% \def\pst@@getcoor##1{\pst@expandafter\cartesianIIID@coor{##1}, ,\@nil}% - \def\psput@##1{\pst@@getcoor{##1}\leavevmode\psput@cartesian}% -}% - -\def\psLineIIID{\NormalIIIDCoor\pst@object{lineIIID}} + \def\psput@##1{\pst@@getcoor{##1}\leavevmode\psput@cartesian}}% +% +\def\psLineIIID{\NormalIIID@Coor\pst@object{lineIIID}} \def\lineIIID@i{% \pst@killglue% \pst@getarrows{% @@ -1032,7 +933,7 @@ XpointVue YpointVue ZpointVue /viewpoint defpoint3d \SpecialCoor% } -\def\psPolygonIIID{\NormalIIIDCoor\pst@object{polygonIIID}} +\def\psPolygonIIID{\NormalIIID@Coor\pst@object{polygonIIID}} \def\polygonIIID@i{% \pst@killglue% \pst@getarrows{% -- cgit v1.2.3