Source PostScript (nodepoint.pps)

Retour Texte non formaté
/nodepoint { 12 dict begin dup isstring { %% argument = nom du noeud /node_name exch def /node_name node_name (node_dict) append store node_name cvlit cvx exec /cc get exec } { dup isname { %% argument = un litteral + nom du noeud /litteral exch def /node_name exch def /node_name node_name (node_dict) append store node_name cvlit cvx exec litteral get exec } { %% argument = un nombre + nom du noeud /alpha exch def /nodeA_name exch def /nodeA_name nodeA_name (node_dict) append store /n@deAdict nodeA_name cvx def n@deAdict /cc get /A exch def %% calcul du point de connection n@deAdict /noderayon known { %% on a un noeud cercle alpha A n@deAdict /noderayon get cpoint } { n@deAdict /nodetype known { %% on a un noeud ovale alpha [ n@deAdict /dl get exec n@deAdict /dr get exec n@deAdict /ur get exec n@deAdict /ul get exec ] pol2ell Epoint } { n@deAdict /ddia known { %% on a un noeud diamond n@deAdict /dl get exec n@deAdict /dr get exec n@deAdict /ur get exec n@deAdict /ul get exec alpha quadrilatereanglepoint } { %% on a un noeud rectangle n@deAdict /dl get exec n@deAdict /dr get exec n@deAdict /ur get exec n@deAdict /ul get exec alpha quadrilatereanglepoint } ifelse } ifelse } ifelse } ifelse } ifelse end } def