Source PostScript (writesolidfile.pps)

Retour Texte non formaté
%% syntaxe : solid str writesolidfile -> - /writesolidfile { 10 dict begin /str exch def /solid exch def solid issolid not { (Error : mauvais type d argument dans writesolidfile) == quit } if str (-sommets.dat) append (w) file /lefichiersommets exch def str (-faces.dat) append (w) file /lefichierfaces exch def str (-couleurs.dat) append (w) file /lefichiercouleurs exch def str (-io.dat) append (w) file /lefichierio exch def /S solid solidgetsommets def 0 1 S length 3 idiv 1 sub { /i exch def solid i solidgetsommet /z exch def /y exch def /x exch def lefichiersommets x chaine cvs writestring lefichiersommets 32 write %% espace lefichiersommets y chaine cvs writestring lefichiersommets 32 write %% espace lefichiersommets z chaine cvs writestring lefichiersommets 10 write %% CR } for lefichiersommets closefile /F solid solidgetfaces def 0 1 F length 1 sub { /i exch def /Fi solid i solidgetface def lefichierfaces 91 write %% [ 0 1 Fi length 1 sub { /j exch def lefichierfaces Fi j get chaine cvs writestring lefichierfaces 32 write %% espace } for lefichierfaces 93 write %% ] lefichierfaces 10 write %% CR } for lefichierfaces closefile /C solid solidgetfcolors def 0 1 C length 1 sub { /i exch def lefichiercouleurs 40 write %% ( lefichiercouleurs C i get writestring lefichiercouleurs 41 write %% ) lefichiercouleurs 10 write %% CR } for lefichiercouleurs closefile /IO solid solidgetinouttable def 0 1 3 { /i exch def lefichierio IO i get chaine cvs writestring lefichierio 32 write %% space } for lefichierio closefile end } def