Source PostScript (dimnode.pps)

Retour Texte non formaté
/nodedictknown { 3 dict begin /litteral exch def /node_name exch def /node_name node_name (node_dict) append store node_name cvlit cvx exec litteral known end } def %% syntaxe : dir string dimnode -> renvoie la dimension, en unite jps, %% du node "string" par rapport a la normale a la direction. note : dir est de %% norme 1 /dimnode { 10 dict begin /lenode exch def /diru defpoint diru normal /dirv defpoint lenode /noderayon nodedictknown { %% noeud circulaire lenode /noderayon nodepoint 2 mul } { lenode /ddia nodedictknown { %% noeud diamond ou oval lenode /udia nodepoint /A defpoint lenode /ldia nodepoint /B defpoint lenode /rdia nodepoint /C defpoint lenode /ddia nodepoint /D defpoint /k1 A B vecteur dirv scalprod def /k2 A C vecteur dirv scalprod def /k3 A D vecteur dirv scalprod def 0 k1 max k2 max k3 max 0 k1 min k2 min k3 min sub } { %% noeud rectangulaire lenode /ul nodepoint /A defpoint lenode /ur nodepoint /B defpoint lenode /dl nodepoint /C defpoint lenode /dr nodepoint /D defpoint /k1 A B vecteur dirv scalprod abs def /k2 A C vecteur dirv scalprod abs def /k3 A D vecteur dirv scalprod abs def 0 k1 max k2 max k3 max } ifelse } ifelse end } def %% syntaxe : dir tnode dimtnode -> renvoie la dimension, en unite jps, %% du tnode par rapport a la normale a la direction. note : dir est de %% norme 1 /dimsimpletnode { 10 dict begin /letnode exch def /diru defpoint /contenu letnode get_contenu_noeud def /mode letnode get_type_noeud def /drawpicture false def (tmpn@de) mode cvx exec letnode get_optaffcontenu_array dup length 1 ge { cvx /options_picture exch def } { pop } ifelse contenu 0 0 letnode get_affichage_noeud exec diru (tmpn@de) dimnode end } def %% 07/03/06 %% /nodedictknown { %% 07/03/06 %% 3 dict begin %% 07/03/06 %% /litteral exch def %% 07/03/06 %% /node_name exch def %% 07/03/06 %% /node_name node_name (node_dict) append store %% 07/03/06 %% node_name cvlit cvx exec litteral known %% 07/03/06 %% end %% 07/03/06 %% } def %% 07/03/06 %% %% 07/03/06 %% %% syntaxe : dir string dimnode -> renvoie la dimension, en unite jps, %% 07/03/06 %% %% du node "string" par rapport a la normale a la direction. note : dir est de %% 07/03/06 %% %% norme 1 %% 07/03/06 %% /dimnode { %% 07/03/06 %% 10 dict begin %% 07/03/06 %% /lenode exch def %% 07/03/06 %% /diru defpoint %% 07/03/06 %% diru normal /dirv defpoint %% 07/03/06 %% lenode /noderayon nodedictknown { %% 07/03/06 %% %% noeud circulaire %% 07/03/06 %% lenode /noderayon nodepoint 2 mul %% 07/03/06 %% } { %% 07/03/06 %% lenode /ddia nodedictknown { %% 07/03/06 %% %% noeud diamond ou oval %% 07/03/06 %% lenode /udia nodepoint /A defpoint %% 07/03/06 %% lenode /ldia nodepoint /B defpoint %% 07/03/06 %% lenode /rdia nodepoint /C defpoint %% 07/03/06 %% lenode /ddia nodepoint /D defpoint %% 07/03/06 %% /k1 A B vecteur dirv scalprod def %% 07/03/06 %% /k2 A C vecteur dirv scalprod def %% 07/03/06 %% /k3 A D vecteur dirv scalprod def %% 07/03/06 %% 0 k1 max k2 max k3 max %% 07/03/06 %% 0 k1 min k2 min k3 min %% 07/03/06 %% sub %% 07/03/06 %% } { %% 07/03/06 %% %% noeud rectangulaire %% 07/03/06 %% lenode /ul nodepoint /A defpoint %% 07/03/06 %% lenode /ur nodepoint /B defpoint %% 07/03/06 %% lenode /dl nodepoint /C defpoint %% 07/03/06 %% lenode /dr nodepoint /D defpoint %% 07/03/06 %% /k1 A B vecteur dirv scalprod def %% 07/03/06 %% /k2 A C vecteur dirv scalprod def %% 07/03/06 %% /k3 A D vecteur dirv scalprod def %% 07/03/06 %% 0 k1 max k2 max k3 max %% 07/03/06 %% 0 k1 min k2 min k3 min %% 07/03/06 %% sub %% 07/03/06 %% } ifelse %% 07/03/06 %% } ifelse %% 07/03/06 %% end %% 07/03/06 %% } def %% 07/03/06 %% %% 07/03/06 %% %% syntaxe : dir tnode dimtnode -> renvoie la dimension, en unite jps, %% 07/03/06 %% %% du tnode par rapport a la normale a la direction. note : dir est de %% 07/03/06 %% %% norme 1 %% 07/03/06 %% /dimsimpletnode { %% 07/03/06 %% 10 dict begin %% 07/03/06 %% /letnode exch def %% 07/03/06 %% /diru defpoint %% 07/03/06 %% /contenu letnode get_contenu_noeud def %% 07/03/06 %% /mode letnode get_type_noeud def %% 07/03/06 %% /drawpicture false def %% 07/03/06 %% (tmpn@de) mode cvx exec %% 07/03/06 %% contenu 0 0 letnode get_affichage_noeud exec %% 07/03/06 %% diru (tmpn@de) dimnode %% 07/03/06 %% end %% 07/03/06 %% } def