Changeset 42

Show
Ignore:
Timestamp:
06/10/08 13:39:14 (6 months ago)
Author:
jpv
Message:

Correction bug IO dans solidesepare. Ajout de l'objet "point"

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/pst-solides3d.tex

    r41 r42  
    1111\ifx\MultidoLoaded\endinput\else\input multido.tex \fi 
    1212% JPV & ML & AS 
    13 \def\fileversion{3.18
    14 \def\filedate{2008/06/08
     13\def\fileversion{3.20
     14\def\filedate{2008/06/10
    1515\message{`PSTSOLIDESIIID' v\fileversion, \filedate} 
    1616% 
     
    267267\psset[pst-solides3d]{action=draw**}% 
    268268% 
     269% choix de la police et de la taille des caracteres en cm !! 
     270\define@key[psset]{pst-solides3d}{PSfont}{\def\pst@solides@PSfont{/#1 }} 
     271\define@key[psset]{pst-solides3d}{fontsize}{\def\pst@solides@fontsize{#1 }} 
     272\psset[pst-solides3d]{PSfont=Times-Roman,fontsize=10} 
    269273 
    270274% nature de l'objet 
     
    275279surface,calottespherecreuse,polygoneregulier,fusion,new,chemin,courbeR2,courbe,% 
    276280surfaceparametree,texte,trigospherique,vecteur,ligne,objfile,datfile,surface*,% 
    277 plan,offfile,geode,load,plantype
     281plan,offfile,geode,load,plantype,point
    278282%% Reservation de macros correspondants aux objects 
    279283\pst@solides@reservednames{object} 
     
    432436/range [ \pst@solides@range ] def 
    433437/action {\pst@solides@action} def 
     438/texte (\pst@solides@text) def 
     439/pos (\pst@solides@pos) def 
     440/fontsize {\pst@solides@fontsize\space \pst@number\psunit mul 28.45 div } bind def 
    434441% 
    435442\ifx\pst@solides@CoordinatesLight\@empty 
     
    909916\define@key[psset]{pst-solides3d}{normal}{\def\pst@solides@normal{#1}} 
    910917\psset[pst-solides3d]{normal=0 0 1} 
    911 % choix de la police et de la taille des caracteres en cm !! 
    912 \define@key[psset]{pst-solides3d}{PSfont}{\def\pst@solides@PSfont{/#1 }} 
    913 \define@key[psset]{pst-solides3d}{fontsize}{\def\pst@solides@fontsize{#1 }} 
    914 \psset[pst-solides3d]{PSfont=Times-Roman,fontsize=10} 
    915918% origine du plan 
    916919\define@key[psset]{pst-solides3d}{origine}{\def\pst@solides@origin{#1}} % origine du plan 
  • trunk/solides.pro

    r40 r42  
    11%! 
    22% PostScript prologue for pst-solides3d.tex. 
    3 % Version 3.27, 2008/06/08 
     3% Version 3.28, 2008/06/10 
    44% 
    55%% COPYRIGHT 2008 by Jean-Paul Vignault, Manuel Luque 
     
    29412941} def 
    29422942 
     2943%%%%% ### text3d ### 
     2944%%%% Version 3d des commandes jps TEXTE 
     2945 /pr@p@re3d { 
     29462 dict begin 
     2947%   /vect_echelle [1 1] def 
     2948%   /angle_de_rot {0} def 
     2949%   dup xcheck 
     2950%      {/angle_de_rot exch def} 
     2951%   if 
     2952%   dup isarray 
     2953%      {/vect_echelle exch def} 
     2954%   if 
     2955%   CamView vect_echelle {angle_de_rot} 
     2956   3dto2d 
     2957} def 
     2958 
     2959/bbtext3d { 
     2960   pr@p@re3d 
     2961   bbtext 
     2962end 
     2963} def 
     2964 
     2965/bbtexlabel3d { 
     2966   pr@p@re3d 
     2967   bbtexlabel 
     2968end 
     2969} def 
     2970 
     2971/bctext3d { 
     2972   pr@p@re3d 
     2973   bctext 
     2974end 
     2975} def 
     2976 
     2977/bctexlabel3d { 
     2978   pr@p@re3d 
     2979   bctexlabel 
     2980end 
     2981} def 
     2982 
     2983/bltext3d { 
     2984   pr@p@re3d 
     2985   bltext 
     2986end 
     2987} def 
     2988 
     2989/bltexlabel3d { 
     2990   pr@p@re3d 
     2991   bltexlabel 
     2992end 
     2993} def 
     2994 
     2995/brtext3d { 
     2996   pr@p@re3d 
     2997   brtext 
     2998end 
     2999} def 
     3000 
     3001/brtexlabel3d { 
     3002   pr@p@re3d 
     3003   brtexlabel 
     3004end 
     3005} def 
     3006 
     3007/cbtext3d { 
     3008   pr@p@re3d 
     3009   cbtext 
     3010end 
     3011} def 
     3012 
     3013/cbtexlabel3d { 
     3014   pr@p@re3d 
     3015   cbtexlabel 
     3016end 
     3017} def 
     3018 
     3019/cctext3d { 
     3020   pr@p@re3d 
     3021   cctext 
     3022end 
     3023} def 
     3024 
     3025/cctexlabel3d { 
     3026   pr@p@re3d 
     3027   cctexlabel 
     3028end 
     3029} def 
     3030 
     3031/cltext3d { 
     3032   pr@p@re3d 
     3033   cltext 
     3034end 
     3035} def 
     3036 
     3037/cltexlabel3d { 
     3038   pr@p@re3d 
     3039   cltexlabel 
     3040end 
     3041} def 
     3042 
     3043/crtext3d { 
     3044   pr@p@re3d 
     3045   crtext 
     3046end 
     3047} def 
     3048 
     3049/crtexlabel3d { 
     3050   pr@p@re3d 
     3051   crtexlabel 
     3052end 
     3053} def 
     3054 
     3055/dbtext3d { 
     3056   pr@p@re3d 
     3057   dbtext 
     3058end 
     3059} def 
     3060 
     3061/dbtexlabel3d { 
     3062   pr@p@re3d 
     3063   dbtexlabel 
     3064end 
     3065} def 
     3066 
     3067/dctext3d { 
     3068   pr@p@re3d 
     3069   dctext 
     3070end 
     3071} def 
     3072 
     3073/dctexlabel3d { 
     3074   pr@p@re3d 
     3075   dctexlabel 
     3076end 
     3077} def 
     3078 
     3079/dltext3d { 
     3080   pr@p@re3d 
     3081   dltext 
     3082end 
     3083} def 
     3084 
     3085/dltexlabel3d { 
     3086   pr@p@re3d 
     3087   dltexlabel 
     3088end 
     3089} def 
     3090 
     3091/drtext3d { 
     3092   pr@p@re3d 
     3093   drtext 
     3094end 
     3095} def 
     3096 
     3097/drtexlabel3d { 
     3098   pr@p@re3d 
     3099   drtexlabel 
     3100end 
     3101} def 
     3102 
     3103/ubtext3d { 
     3104   pr@p@re3d 
     3105   ubtext 
     3106end 
     3107} def 
     3108 
     3109/ubtexlabel3d { 
     3110   pr@p@re3d 
     3111   ubtexlabel 
     3112end 
     3113} def 
     3114 
     3115/uctext3d { 
     3116   pr@p@re3d 
     3117   uctext 
     3118end 
     3119} def 
     3120 
     3121/uctexlabel3d { 
     3122   pr@p@re3d 
     3123   uctexlabel 
     3124end 
     3125} def 
     3126 
     3127/ultext3d { 
     3128   pr@p@re3d 
     3129   ultext 
     3130end 
     3131} def 
     3132 
     3133/ultexlabel3d { 
     3134   pr@p@re3d 
     3135   ultexlabel 
     3136end 
     3137} def 
     3138 
     3139/urtext3d { 
     3140   pr@p@re3d 
     3141   urtext 
     3142end 
     3143} def 
     3144 
     3145/urtexlabel3d { 
     3146   pr@p@re3d 
     3147   urtexlabel 
     3148end 
     3149} def 
     3150 
    29433151%%%%% ### fin insertion ### 
    29443152 
     
    32273435    solid [ 
    32283436      FC aload pop lac@uleur 
    3229     ] solidputoutcolors  
     3437    ] solidputoutcolors 
    32303438end 
    32313439} def 
     
    58946102      /FC result solidgetfcolors def 
    58956103      /IO result solidgetinouttable def 
    5896       IO dup 1 get 1 add 1 exch put 
     6104      /n1 IO 1 get def 
     6105      IO 1 n1 1 add put 
     6106      result IO solidputinouttable 
    58976107      result [nvelleface F aload pop] solidputfaces 
    58986108      result [lacouleur FC aload pop] solidputfcolors 
     
    60516261      /lesfaces1 result1 solidgetfaces def 
    60526262      /lescouleurs1 result1 solidgetfcolors def 
     6263      /IO1 result1 solidgetinouttable def 
    60536264      /lesfaces2 result2 solidgetfaces def 
    60546265      /lescouleurs2 result2 solidgetfcolors def 
     6266      /IO2 result2 solidgetinouttable def 
    60556267      %% on rajoute maintenant la face du plan de coupe 
    60566268%      result1 facecoupe couleurfacecoupe solidaddface 
    60576269      result1 [facecoupe lesfaces1 aload pop] solidputfaces 
    60586270      result1 [couleurfacecoupe lescouleurs1 aload pop] solidputfcolors 
     6271      result1 IO1 dup dup 1 get 1 add 1 exch put solidputinouttable 
    60596272      %% et on verifie l'orientation 
    60606273%      result1 dup solidnombrefaces 1 sub solidnormaleface  
     
    60676280         result2 [facecoupe lesfaces2 aload pop] solidputfaces 
    60686281         result2 [couleurfacecoupe lescouleurs2 aload pop] solidputfcolors 
     6282         result2 IO2 dup 1 get 1 add 1 exch put solidputinouttable 
    60696283         result1 [facecoupe reverse lesfaces1 aload pop] solidputfaces 
    60706284         result1 [couleurfacecoupe lescouleurs1 aload pop] solidputfcolors 
     6285         result1 dup solidgetinouttable dup 1 get 1 add 1 exch put solidputinouttable 
    60716286      } { 
    60726287         %% l'orientation est ok 
     6288         result2 IO2 dup dup 1 get 1 add 1 exch put solidputinouttable 
    60736289         result2 [facecoupe reverse lesfaces2 aload pop] solidputfaces 
    60746290         result2 [couleurfacecoupe lescouleurs2 aload pop] solidputfcolors 
     
    61206336   } for 
    61216337   sommetspos bubblesort reverse {result2 exch solidrmsommet} apply 
    6122     
     6338 
    61236339   result1 result2 
    61246340end 
     
    83268542} def 
    83278543 
     8544/dbtext {gsave newpath dbtext_ fill grestore} def 
     8545/dctext {gsave newpath dctext_ fill grestore} def 
     8546/dltext {gsave newpath dltext_ fill grestore} def 
     8547/drtext {gsave newpath drtext_ fill grestore} def 
     8548 
     8549/bbtext {gsave newpath bbtext_ fill grestore} def 
     8550/bctext {gsave newpath bctext_ fill grestore} def 
     8551/bltext {gsave newpath bltext_ fill grestore} def 
     8552/brtext {gsave newpath brtext_ fill grestore} def 
     8553 
     8554/cbtext {gsave newpath cbtext_ fill grestore} def 
     8555/cctext {gsave newpath cctext_ fill grestore} def 
     8556/cltext {gsave newpath cltext_ fill grestore} def 
     8557/crtext {gsave newpath crtext_ fill grestore} def 
     8558 
     8559/ubtext {gsave newpath ubtext_ fill grestore} def 
     8560/uctext {gsave newpath uctext_ fill grestore} def 
     8561/ultext {gsave newpath ultext_ fill grestore} def 
     8562/urtext {gsave newpath urtext_ fill grestore} def 
     8563 
     8564 
    83288565%% syntaxe : str x y show_dim --> str x y llx lly wx wy  
    83298566%% attention, doit laisser la pile intacte 
     
    88579094/pst-vecteur { 
    88589095gsave 
     90962 dict begin 
     9097   /activationgestioncouleurs false def 
     9098   solidlightOff 
    88599099   solidlinewidth setlinewidth 
    8860    1 setlinejoin 
     9100   2 setlinejoin 
    88619101   1 setlinecap 
    88629102   linecolor 
    88639103   linestyle 
    8864    args newvecteur 
     9104   args definition cvx exec newvecteur 
    88659105   dup 
    88669106      [linecolor currentrgbcolor] ( ) astr2str (setrgbcolor) append  
    88679107      outputcolors 
    88689108   gere_pstricks_opt 
     9109end 
    88699110grestore 
    88709111} def 
    88719112 
     9113%/pst-vect- {} def 
     9114%/pst-vect-2points {vecteur3d} def 
    88729115/pst-ligne { 
    88739116   newpath 
     
    89679210%   /activationgestioncouleurs false def 
    89689211   gere_pstricks_opt 
     9212} def 
     9213 
     9214/pst-point { 
     9215gsave 
     9216   fontsize setfontsize 
     9217   setTimes 
     9218   linecolor 
     9219   args definition cvx exec point3d 
     9220   texte args pos (text3d) append cvx exec 
     9221grestore 
    89699222} def 
    89709223