%% syntaxe : arrowpaths --> depose sur la pile les 2 sous chemins
%% en provenance du chemin courant necessaires a gere_arrowhead
/arrowpaths {
3 dict begin
currentcppathobj
/path exch def
% cvx exec
% /les_xy exch def
% /les_t exch def
% /ell les_xy longueur def %% longueur de la courbe en picas
% /ell path cpathlongueur def %% longueur de la courbe en picas
%% pour visualiser
%/les_XY path cpathpointstable {ptojpoint} papply def
%/les_t path cpathparamtable {ptojpoint} papply def
%les_t {les_t les_XY interpolparamfunct times} apply
%les_t length ==
path cpathlongueur ahlength lt {
50 path splitcpath
} {
0 100 .01 {
path cpathelongueur ahlength sub
} dich_solve /t1 exch def
0 100 .01 {
path cpathslongueur ahlength sub
} dich_solve /t2 exch def
t2 path splitcpath pop cppathtocpath reversecpathobj
t1 path splitcpath exch pop cppathtocpath
} ifelse
%% 0 100 .01 {
%% path cpathelongueur ahlength sub
%% } dich_solve /t1 exch def
%%
%% 0 100 .01 {
%% path cpathslongueur ahlength sub
%% } dich_solve /t2 exch def
%% t2 path splitcpath pop cppathtocpath reversecpathobj
%% t1 path splitcpath exch pop cppathtocpath
end
} def
|