summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/pst-geo/pst-map3d.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/generic/pst-geo/pst-map3d.tex')
-rw-r--r--Master/texmf-dist/doc/generic/pst-geo/pst-map3d.tex187
1 files changed, 187 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-geo/pst-map3d.tex b/Master/texmf-dist/doc/generic/pst-geo/pst-map3d.tex
new file mode 100644
index 00000000000..23901f8fb88
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-geo/pst-map3d.tex
@@ -0,0 +1,187 @@
+%%
+%% This is file `pst-map3d.tex',
+%%
+%% IMPORTANT NOTICE:
+%%
+%% Package `pst-map3d.tex'
+%%
+%% Manuel Luque <Mluque5130@aol.com> (France)
+%% Giuseppe Matarazzo <joematara@hotmail.com> (Italy)
+%% Herbert Voss <voss@perce.de> (Germany)
+%%
+%% May 09, 2004
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%% DESCRIPTION:
+%% `pst-map3d' is a PSTricks package to create geographical objects
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\fileversion{1.02}
+\def\filedate{2004/05/09}
+
+\message{`PST-map3d v\fileversion, \filedate\space (ML/GM/HV)}
+
+\csname PSTMapThreeD\endcsname
+\let\PSTMapThreeDLoaded\endinput
+
+% Require PSTricks
+\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi
+\ifx\PSTnodesLoaded\endinput\else\input pst-node.tex\fi % hv 2004-05-09
+% David Carlisle interface to the `keyval' package.
+\input pst-key.tex
+%
+\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
+
+\SpecialCoor
+%
+\define@key{psset}{path}{\edef\psk@WorldMap@Path{#1}} % chemin des données
+\setkeys{psset}{path=data}
+%
+\pstheader{map3d.pro}
+\define@key{psset}{RotX}{\edef\psk@TroisD@RotX{#1}} % rotation autour de Ox en degrés
+\define@key{psset}{RotY}{\edef\psk@TroisD@RotY{#1}} % rotation autour de Oy en degrés
+\define@key{psset}{RotZ}{\edef\psk@TroisD@RotZ{#1}} % rotation autour de OZ en degrés
+\define@key{psset}{Radius}{\edef\psk@TroisD@Radius{#1}} % rayon de la sphère
+%
+\define@key{psset}{THETA}{\edef\psk@TroisD@Theta{#1}}
+\define@key{psset}{PHI}{\edef\psk@TroisD@Phi{#1}}
+\define@key{psset}{Dobs}{\edef\psk@TroisD@Dobs{#1}}
+\define@key{psset}{Decran}{\edef\psk@TroisD@Ecran{#1}}
+\setkeys{psset}{THETA=0,PHI=45,Dobs=20,Decran=25,Radius=5}
+%
+\setkeys{psset}{RotX=0,RotY=0,RotZ=0}
+%
+\define@key{psset}{increment}{\edef\psk@WorldMap@increment{#1}}
+\setkeys{psset}{increment=10}
+%
+\define@key{psset}{maillageColor}{\edef\psk@WorldMap@maillageColor{#1}}
+\setkeys{psset}{maillageColor= 0.5 0.5 0.5 }
+%
+\define@key{psset}{MapFillColor}{\edef\psk@WorldMap@Fillcolor{#1}} % couleur des continents
+\setkeys{psset}{MapFillColor= 0.99 0.95 0.7 }
+%
+\define@key{psset}{level}{\edef\psk@WorldMap@level{#1}}
+\setkeys{psset}{level=1}
+%
+\def\variablesTroisD{%
+ /RotX \psk@TroisD@RotX\space def
+ /RotY \psk@TroisD@RotY\space def
+ /RotZ \psk@TroisD@RotZ\space def
+ /THETA \psk@TroisD@Theta\space def
+ /PHI \psk@TroisD@Phi\space def
+ /Rsphere \psk@TroisD@Radius\space def
+ /Dobs \psk@TroisD@Dobs\space def
+ /DScreen \psk@TroisD@Ecran\space def
+ /step \psk@WorldMap@level\space def
+ }%
+ %
+\newif\ifPst@WorldMap@capitals
+\define@key{psset}{capital}[false]{\@nameuse{Pst@WorldMap@capitals#1}}
+\setkeys{psset}{capital=false}
+%
+\newif\ifPst@WorldMap@city
+\define@key{psset}{city}[false]{\@nameuse{Pst@WorldMap@city#1}}
+\setkeys{psset}{city=false}
+%
+\newif\ifPst@WorldMap@Rivers% hv 2004-05-03
+\define@key{psset}{rivers}[true]{\@nameuse{Pst@WorldMap@Rivers#1}}
+\setkeys{psset}{rivers=true}
+%
+\newif\ifPst@WorldMap@maillage
+\define@key{psset}{maillage}[true]{\@nameuse{Pst@WorldMap@maillage#1}}
+\setkeys{psset}{maillage=true}
+%
+\def\WorldMapThreeD{\pst@object{WorldMapThreeD}}
+\def\WorldMapThreeD@i{\@ifnextchar[{\WorldMapThreeD@do}{\WorldMapThreeD@do[]}}
+\def\WorldMapThreeD@do[#1]{{%
+\setkeys{psset}{#1}%
+\begin@ClosedObj
+\addto@pscode{%
+ /increment \psk@WorldMap@increment\space def
+ \variablesTroisD
+ (\psk@WorldMap@Path/river.dat) run
+ (\psk@WorldMap@Path/pisland.dat) run
+ (\psk@WorldMap@Path/pborder.dat) run
+ (\psk@WorldMap@Path/plake.dat) run
+ 1 setlinejoin
+ 0 0 translate
+ /xunit {\pst@number\psxunit\space mul}def
+ /yunit {\pst@number\psyunit\space mul}def
+ /runit {\pst@number\psrunit\space mul}def
+ gsave
+ newpath
+ 0.5 0.8 0.8 setrgbcolor
+ % cercle vu par l'observateur
+ /RsphereScreen Rsphere DScreen mul Dobs div
+ 1 Rsphere dup mul Dobs dup mul div sub sqrt div runit def
+ 0 0 RsphereScreen 0 360 arc
+ closepath
+ fill
+ grestore
+ /condition {PSfacette 0 le} def
+ /departPhi -90 def
+tx@map3DDict begin
+ MatriceTransformation
+/Draw {
+ {
+CalculsPoints
+closepath
+gsave
+Color setrgbcolor
+fill
+grestore
+stroke
+} forall
+}def
+%/Color {0.5 0.8 0.5} def
+/Color {\psk@WorldMap@Fillcolor} def
+border
+ Draw
+islands
+ Draw
+/Color {0.5 0.8 0.8} def
+lake
+ Draw
+% les rivières
+\ifPst@WorldMap@Rivers % hv 2004-05-03
+ /DrawRivers {
+ { CalculsPoints
+ 0 0 1 setrgbcolor
+ stroke
+ } forall
+ }def
+ river
+ DrawRivers
+\fi
+\ifPst@WorldMap@city
+% les capitales
+ (\psk@WorldMap@Path/c-cap.dat) run
+ 1.5
+ citycapitals
+ DrawCitys
+% les autres villes
+ (\psk@WorldMap@Path/c-sub.dat) run
+ 0.5
+ CitySub
+DrawCitys
+\fi
+\ifPst@WorldMap@capitals
+% les capitales
+ (\psk@WorldMap@Path/c-cap.dat) run
+ 2
+ citycapitals
+ DrawCitys
+\fi
+\ifPst@WorldMap@maillage
+/maillageColor {\psk@WorldMap@maillageColor} def
+ MaillageSphere
+\fi
+end}%
+\end@ClosedObj
+}}
+%
+\catcode`\@=\PstAtCode\relax
+\endinput