summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pst-solides3d
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-09-13 16:21:39 +0000
committerKarl Berry <karl@freefriends.org>2010-09-13 16:21:39 +0000
commitf13eb2154a8c3f2e1a0f1af64ca625ce650f1d48 (patch)
tree8db62417a83b00cfd008fc7cf9f8223e1fe33ed4 /Master/texmf-dist/tex/generic/pst-solides3d
parent086bc4b16ab450babff05841b78cc999f38fe5bd (diff)
pst-solides3d 4.20 (24jul10)
git-svn-id: svn://tug.org/texlive/trunk@19703 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/pst-solides3d')
-rw-r--r--Master/texmf-dist/tex/generic/pst-solides3d/pst-solides3d.tex171
1 files changed, 36 insertions, 135 deletions
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{%