summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-04-30 22:55:34 +0000
committerKarl Berry <karl@freefriends.org>2010-04-30 22:55:34 +0000
commit1d9b661b7e4fde87ad720f9b4d23c37652d63548 (patch)
tree4b37ec9e2cb2fd2b57cfd26ff7aa1d32c062601b /Master/texmf-dist/tex/generic
parent99edb98c9fa6d2c7930c43ad9b653dcb3022b293 (diff)
pst-solides3d 4.19 (30apr10)
git-svn-id: svn://tug.org/texlive/trunk@18060 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic')
-rw-r--r--Master/texmf-dist/tex/generic/pst-solides3d/pst-solides3d.tex219
1 files changed, 144 insertions, 75 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 2ee7116c91e..e80033298db 100644
--- a/Master/texmf-dist/tex/generic/pst-solides3d/pst-solides3d.tex
+++ b/Master/texmf-dist/tex/generic/pst-solides3d/pst-solides3d.tex
@@ -1,5 +1,5 @@
%%
-%% COPYRIGHT 2008,2009 by Manuel Luque, Arnaud Schmittbuhl,
+%% COPYRIGHT 2008-2010 by Manuel Luque, Arnaud Schmittbuhl,
%% Jean-Paul Vignault, Herbert Voss.
%%
%% This work may be distributed and/or modified under the
@@ -33,11 +33,11 @@
\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey \fi
\ifx\MultidoLoaded\endinput\else \input multido.tex \fi
% JPV & ML & AS & HV
-\def\fileversion{4.18}
-\def\filedate{2010/04/07}
+\def\fileversion{4.19}
+\def\filedate{2010/04/30}
\message{`PSTSOLIDESIIID' v\fileversion, \filedate}
%
-\pstheader{solides.pro}
+\pstheader{pst-solides3d.pro}
\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
\pst@addfams{pst-solides3d}
@@ -228,7 +228,8 @@ trunccoeff=.25,chanfreincoeff=.8,affinagecoeff=.8,dualregcoeff=1,intersectiontyp
\psset[pst-solides3d]{faces={}}% valeurs par defaut
%% numerotation des faces
\define@key[psset]{pst-solides3d}{numfaces}{\def\pst@solides@numfaces{#1}}
-\psset[pst-solides3d]{numfaces=}% pas de numerotation par defaut
+\define@key[psset]{pst-solides3d}{numsep}{\pst@getlength{#1}\pst@solides@numsep}
+\psset[pst-solides3d]{numfaces=,numsep=15pt}% pas de numerotation par defaut
%% troncature des sommets
\define@key[psset]{pst-solides3d}{trunc}{\def\pst@solides@trunc{#1}}
\psset[pst-solides3d]{trunc=}% pas de troncature par defaut
@@ -252,23 +253,6 @@ trunccoeff=.25,chanfreincoeff=.8,affinagecoeff=.8,dualregcoeff=1,intersectiontyp
\define@key[psset]{pst-solides3d}{lightintensity}{\def\pst@solides@lightintensity{#1}}
\psset[pst-solides3d]{lightintensity=2}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Code \@for (Stolen from LaTeX file: latex.ltx)
-%% thanks to Herbert Voss
-\expandafter\ifx\csname @latexerr\endcsname\relax% do we have LaTeX?
- \immediate\write17{We are running tex and have to define some LaTeX commands ...}
- \def\@fornoop#1\@@#2#3{}
- \long\def\@for#1:=#2\do#3{%
- \expandafter\def\expandafter\@fortmp\expandafter{#2}%
- \ifx\@fortmp\@empty \else
- \expandafter\@forloop#2,\@nil,\@nil\@@#1{#3}\fi}
- \long\def\@forloop#1,#2,#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else
- #5\def#4{#2}\ifx #4\@nnil \else#5\@iforloop #3\@@#4{#5}\fi\fi}
- \long\def\@iforloop#1,#2\@@#3#4{\def#3{#1}\ifx #3\@nnil
- \expandafter\@fornoop \else
- #4\relax\expandafter\@iforloop\fi#2\@@#3{#4}}%
-\fi
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Reservation des noms de macros
% #1=type de reservation (action, object...) associee a une liste qui
% doit forcement etre du type pst@solides@list@#1
@@ -301,7 +285,7 @@ trunccoeff=.25,chanfreincoeff=.8,affinagecoeff=.8,dualregcoeff=1,intersectiontyp
tore,cube,tetrahedron,octahedron,icosahedron,dodecahedron,sphere,%
cylindre,cylindrecreux,cone,conecreux,tronccone,troncconecreux,%
grille,prisme,anneau,parallelepiped,prismecreux,ruban,calottesphere,face,%
-Surface,surface,calottespherecreuse,polygoneregulier,fusion,new,chemin,courbeR2,courbe,%
+Surface,Surface*,surface,calottespherecreuse,polygoneregulier,fusion,new,chemin,courbeR2,courbe,%
surfaceparametree,texte,trigospherique,vecteur,line,objfile,datfile,surface*,%
plan,offfile,geode,load,plantype,point,pie,droite,polygone,cercle,rightangle}
%
@@ -444,16 +428,16 @@ plan,offfile,geode,load,plantype,point,pie,droite,polygone,cercle,rightangle}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
\pst@def{optionssolides}<%
-/PSfont {\pst@solides@PSfont} def
-/pst@fill { \psk@opacityalpha .setopacityalpha fill } def
-/strokeopacity \psk@opacityalpha def
-/fillopacity \psk@opacityalpha def
-/xunit {\pst@number\psunit } def
+ /PSfont {\pst@solides@PSfont} def
+ /pst@fill { \psk@opacityalpha .setopacityalpha fill } def
+ /strokeopacity \psk@opacityalpha def
+ /fillopacity \psk@opacityalpha def
+ /xunit {\pst@number\psunit } def
%% /cm {\pst@number\psunit mul} def
%% /cm_1 {\pst@number\psunit div} def
-/decal \pst@solides@decal\space def % decalage
-/viewpointXYZ {\pst@solides@viewpoint} def
-/Decran \pst@solides@Decran\space def % distance de l'ecran
+ /decal \pst@solides@decal\space def % decalage
+ /viewpointXYZ {\pst@solides@viewpoint} def
+ /Decran \pst@solides@Decran\space def % distance de l'ecran
%
/RotX \psk@solides@RotX\space def
/RotY \psk@solides@RotY\space def
@@ -519,33 +503,13 @@ plan,offfile,geode,load,plantype,point,pie,droite,polygone,cercle,rightangle}
\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@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
%
/fcol [\pst@solides@fcol] def
/solidhue [\pst@solides@hue] def
@@ -560,6 +524,7 @@ plan,offfile,geode,load,plantype,point,pie,droite,polygone,cercle,rightangle}
/faces [\pst@solides@faces] def
/solidshow [\pst@solides@show] def
/solidnum [\pst@solides@num] def
+SolidesDict begin /solidnumsep \pst@solides@numsep\space def end
/solidnumf [\pst@solides@numfaces] def
/solidtrunc [\pst@solides@trunc] def
/solidaffinage [\pst@solides@affinage] def
@@ -767,40 +732,55 @@ XpointVue YpointVue ZpointVue /viewpoint defpoint3d
\endgroup%
\ignorespaces%
}
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% la macro \psSurface
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\psSurface{\pst@object{psSurface}}
-\def\psSurface@i(#1,#2)(#3,#4)#5{%
-%% \def\hue{0 1 #3 #1 sub \pst@solides@dx\space div
-%% #4 #2 sub \pst@solides@dy\space div mul
-%% {/iF ED iF [1 iF #3 #1 sub \pst@solides@dx\space div
-%% #4 #2 sub \pst@solides@dy\space div
+\def\psSurface{\@ifnextchar*{\@startrue\psSurface@i}{\@starfalse\psSurface@i*}}
+\def\psSurface@i*{\@ifnextchar[{\psSurface@ii}{\psSurface@ii[]}}
+\def\psSurface@ii[#1](#2,#3)(#4,#5)#6{%
+%% \def\hue{0 1 #4 #2 sub \pst@solides@dx\space div
+%% #5 #3 sub \pst@solides@dy\space div mul
+%% {/iF ED iF [1 iF #4 #2 sub \pst@solides@dx\space div
+%% #5 #3 sub \pst@solides@dy\space div
%% mul div sub 0.75 1] (sethsbcolor) astr2str} for}
- \ifPst@solidmemory\begingroup\use@par\else\begin@ClosedObj\fi
+ \pst@killglue%
+ \begingroup%
+ \psset{#1}%
+ \init@pscode%
\addto@pscode{
1 setlinejoin
\tx@optionssolides
SolidesDict begin
/CX 0 def /CY 0 def /CZ 0 def
- /base [ #1 #3 #2 #4 ] def
+ /base [ #2 #4 #3 #5 ] def
\ifPst@algebraic
- /fonction (#5) tx@AlgToPs begin AlgToPs end cvx def
+ /fonction (#6) tx@AlgToPs begin AlgToPs end cvx def
\else
- /fonction { #5 } def
+ /fonction { #6 } def
\fi
/f {2 dict begin
/y exch def
/x exch def
fonction end
} def
- pst-Surface
+ \if@star pst-Surface* \else pst-Surface \fi
end
}% fin du code ps
- \ifPst@axesboxed\gridIIID(#1,#3)(#2,#4)\fi
- \ifPst@solidmemory\endgroup\else\end@ClosedObj\fi%
+ \@starfalse
+ \ifPst@axesboxed\gridIIID(#2,#4)(#3,#5)\fi
+ \ifPst@solidmemory\else%
+ \ifpsshadow \pst@closedshadow \fi
+ \ifdim\psk@border\p@>\z@ \pst@addborder \fi
+ \psk@fillstyle
+ \pst@stroke
+ \ifpsdoubleline \pst@doublestroke \fi
+ \ifshowpoints\pst@OpenShowPoints\fi
+ \use@pscode%
+ \fi%
+ \endgroup%
\ignorespaces}
-
+%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% la macro \defFunction
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1079,9 +1059,98 @@ XpointVue YpointVue ZpointVue /viewpoint defpoint3d
\ignorespaces%
\SpecialCoor%
}
-
+%
+\def\psResetSolidKeys{%
+\psset[pst-solides3d]{%
+action=draw**,%
+affinage=,% pas de affinage par defaut
+affinagerm=true,
+args=,%
+axe=0 0 1,% vecteur definissant la direction de l'axe du prisme
+axesboxed=false,%
+axisemph=,
+axisnames={x,y,z},
+base=-1 -1 1 -1 0 1,% coordonnees d'un triangle, base triangulaire par defaut
+biface=true,%
+chanfrein=false,
+color1=cyan,
+color2=magenta,
+color3=blue,
+color4=red,
+deactivatecolor=false,%
+decal=-2,% decalage par defaut
+definition=,%
+dualreg=false,
+faces={},% valeurs par defaut
+fcolor=,% pas de couleur par defaut
+fcol=,% pas de faces par defaut
+file=,% pas de fichier par defaut
+function=,% pas de valeur par defaut
+geode=false,
+grid=true,
+hollow=false,
+hue=,% pas de degrade externe par defaut
+incolor=green,
+inhue=,% pas de degrade interne par defaut
+inouthue=,% pas de degrade total par defaut
+intersectioncolor=(rouge),%
+intersectionlinewidth=1,%
+intersectionplan=[0 0 1 0],%
+isolatin=true,
+lightintensity=2,
+lightsrc=,% pas de coordonnees par defaut
+load=,% pas de load par defaut
+mathLabel,
+mode=2,%
+name=,% pas de nom par defaut
+ngrid=,% pas de faces par defaut
+normal=0 0 1,
+numfaces=,
+numsep=15pt,% pas de numerotation par defaut
+num=,% pas de numerotation defaut
+object=tore,%
+origine=0 0 0,%
+path=newpath 0 0 moveto,% valeur par defaut
+plangrid=false,%
+planmarks=false,%
+planname=,% pas de nom par defaut
+plan=,% pas de plan par defaut
+plansection=,% pas de section par defaut
+plansepare=,% pas de separation par defaut
+pos=cc,% centre par defaut
+PSfont=Times-Roman,fontsize=10,
+R=4,r1=4,r0=1.5,r=2,no=0,a=4,b=a,c=a,h=6,phi=0,theta=90,resolution=36,%
+range=-5 5,% le range par defaut
+rm=,% pas de faces par defaut
+RotationAngleText=0,%
+RotZ=0,RotX=0,RotY=0,Decran=50,% valeurs par defaut
+section=\Sol@Section,% coordonnees des sommets de la section
+showbase=false,%
+showBase=false,%
+showOrigin,
+show=,% pas de pointage par defaut
+solidmemory=false,
+solidname=,% pas de nom par defaut
+sommets=,% pas de sommet par defaut
+spotX=dr,
+spotY=dl,
+spotZ=l,
+QZ=0,
+Zmin=-4,
+Zmax=4,
+stepX=1,
+stepY=1,
+stepZ=1,
+ticklength=0.2,% the step for the axes labels
+tablez=,%
+text=,% pas de texte par defaut
+transform=,%
+trunc=,% pas de troncature par defaut
+viewpoint=10 10 10,% coordonnees cartesiennes
+visibility=true,
+zcolor=}
+}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\catcode`\@=\PstAtCode\relax
-
-
+%
\endinput