summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-12-12 22:52:09 +0000
committerKarl Berry <karl@freefriends.org>2016-12-12 22:52:09 +0000
commit5440276d0dda2eb514887c87b7d9ab67c49d6a85 (patch)
treed049310bacc13fea75165368176f70542756a5e6 /Master/texmf-dist/tex
parentbb25bb8b4c057e717bace5e04140c0a0c4a75b88 (diff)
pst-solides3d (12dec16)
git-svn-id: svn://tug.org/texlive/trunk@42686 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/generic/pst-solides3d/pst-solides3d.tex59
-rw-r--r--Master/texmf-dist/tex/latex/pst-solides3d/pst-solides3d.sty6
2 files changed, 52 insertions, 13 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 d333af5bc4c..513d314b2e4 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-2016 by Manuel Luque, Arnaud Schmittbuhl,
+%% COPYRIGHT 2008-2017 by Manuel Luque, Arnaud Schmittbuhl,
%% Jean-Paul Vignault, Herbert Voss.
%%
%% This work may be distributed and/or modified under the
@@ -16,15 +16,6 @@
%% for Generic TeX.
%% See the PSTricks User's Guide for description.
%
-% etex detection by looking for the \ifcsname macro
-\expandafter\ifx\csname ifcsname\endcsname\relax
- \newlinechar`\^^J
- \message{^^J*****************************************}
- \message{etex is needed to work with pst-solides3d}
- \message{*****************************************}
- \catcode`\ =11\relax
- \Compile With etex Please
-\fi
\csname PSTSOLIDESIIIDLoaded\endcsname
\let\PSTSOLIDESIIIDLoaded\endinput
% Requires PSTricks, pst-xkey and pst-node packages
@@ -33,11 +24,12 @@
\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey \fi
\ifx\MultidoLoaded\endinput\else \input multido.tex \fi
% JPV & ML & AS & HV
-\def\fileversion{4.30}
-\def\filedate{2015/12/17}
+\def\fileversion{4.31}
+\def\filedate{2016/12/10}
\message{`PSTSOLIDESIIID' v\fileversion, \filedate}
%
\pstheader{pst-solides3d.pro}
+\pstheader{pst-implicitsurface.pro}
\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
\pst@addfams{pst-solides3d}
@@ -1116,6 +1108,49 @@ restore
\ifPst@solidmemory\else\end@ClosedObj\fi}\ignorespaces%
}
%
+\define@key[psset]{pst-solides3d}{XMinMax}{\def\pst@solides@XMinMax{#1}}
+\define@key[psset]{pst-solides3d}{YMinMax}{\def\pst@solides@YMinMax{#1}}
+\define@key[psset]{pst-solides3d}{ZMinMax}{\def\pst@solides@ZMinMax{#1}}
+\define@key[psset]{pst-solides3d}{ImplFunction}{\def\pst@solides@ImplFunction{#1}}
+\psset{XMinMax=-2 2 0.2,YMinMax=-2 2 0.2,ZMinMax=-2 2 0.2,ImplFunction=x dup mul y dup mul add}
+%
+\def\psImplicitSurface{\pst@object{psImplicitSurface}}
+\def\psImplicitSurface@i{\@ifnextchar(\psImplicitSurface@ii{\psImplicitSurface@ii(0,0,0)}}%
+\def\psImplicitSurface@ii(#1){%
+ \begin@SpecialObj
+ \addto@pscode{
+ \ifPst@algebraic
+ /ImplFunction ( \pst@solides@ImplFunction ) tx@AlgToPs begin AlgToPs end cvx def
+ \else
+ /ImplFunction { \pst@solides@ImplFunction } def
+ \fi
+ SolidesDict begin
+ MarchingCubes
+ /plagesXYZ [% min max dx
+ [\pst@solides@XMinMax][\pst@solides@YMinMax][\pst@solides@ZMinMax]
+ ] def
+ /function {
+ 3 dict begin
+ /z exch def /y exch def /x exch def
+ ImplFunction
+ end
+ } def
+ calculs
+ /Sommets exch def
+ /Faces exch def
+ /lesPoints {
+ 0 1 Sommets length 1 sub {/iP exch def
+ Sommets iP get aload pop
+ } for
+ } def
+ end
+ }%
+ \psSolid[object=new,faces={Faces aload pop},sommets=lesPoints](#1)%
+ \end@SpecialObj
+ \ignorespaces
+}
+
+%
\def\psResetSolidKeys{%
\psset[pst-solides3d]{%
action=draw**,%
diff --git a/Master/texmf-dist/tex/latex/pst-solides3d/pst-solides3d.sty b/Master/texmf-dist/tex/latex/pst-solides3d/pst-solides3d.sty
index 5816909618f..b5835272a13 100644
--- a/Master/texmf-dist/tex/latex/pst-solides3d/pst-solides3d.sty
+++ b/Master/texmf-dist/tex/latex/pst-solides3d/pst-solides3d.sty
@@ -1,5 +1,5 @@
\RequirePackage{pstricks}
-\ProvidesPackage{pst-solides3d}[2009/07/25 package wrapper for
+\ProvidesPackage{pst-solides3d}[2016/12/10 package wrapper for
pst-solides3d]
\input{pst-solides3d.tex}
\ProvidesFile{pst-solides3d.tex}
@@ -8,4 +8,8 @@
\ProvidesFile{pst-solides3d.pro}
[2014/06/07 v. 4.23, PostScript prologue file]
\@addtofilelist{pst-solides3d.pro}}{}%
+\IfFileExists{pst-implicitsurface.pro}{%
+ \ProvidesFile{pst-implicitsurface.pro}
+ [2016/12/10 v. 0.01, PostScript prologue file]
+ \@addtofilelist{pst-implicitsurface.pro}}{}%
\endinput