diff options
author | Karl Berry <karl@freefriends.org> | 2010-04-30 22:55:34 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-04-30 22:55:34 +0000 |
commit | 1d9b661b7e4fde87ad720f9b4d23c37652d63548 (patch) | |
tree | 4b37ec9e2cb2fd2b57cfd26ff7aa1d32c062601b /Master/texmf-dist/tex/generic | |
parent | 99edb98c9fa6d2c7930c43ad9b653dcb3022b293 (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.tex | 219 |
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 |