I guess I should use as few variables as possible, I suppose no one would name their paths "Helper" ;)
This macro assumes the argument is clockwise, I've written a macro to find out whether a path is clockwise or not, but it took me forever to run the code. Maybe there's already some primitive could do this. \startMPinclusions def getridof(expr p) = save Helper, Oringin, Mode, MagicPoint ; pair Oringin ; Oringin := center p ; pair MagicPoint ; numeric Mode ; Mode := 0 ; path Helper[] ; Helper0 := p ; Helper1 := llcorner currentpicture -- lrcorner currentpicture ; Helper2 := lrcorner currentpicture -- urcorner currentpicture ; Helper3 := urcorner currentpicture -- ulcorner currentpicture ; Helper4 := ulcorner currentpicture -- llcorner currentpicture ; for i=1 upto 4 : Helper[i+4] := Helper[i] ; endfor Helper11 := llcorner currentpicture -- Oringin ; Helper12 := lrcorner currentpicture -- Oringin ; Helper13 := urcorner currentpicture -- Oringin ; Helper14 := ulcorner currentpicture -- Oringin ; if (((llcorner currentpicture -- Oringin) intersectiontimes p) = (-1,-1)) : if (((lrcorner currentpicture -- Oringin) intersectiontimes p) = (-1,-1)) : if (((urcorner currentpicture -- Oringin) intersectiontimes p) = (-1,-1)) : Mode := 4 ; else : Mode := 3 ; fi else : Mode := 2 ; fi else : Mode := 1 ; fi Helper100 = Helper[10+Mode] cutafter p ; MagicPoint = point length(Helper100) of Helper100 ; Helper0 := Helper[Mode] for i=1 upto 3 : -- Helper[Mode+i] endfor -- Helper100 -- (Helper0 cutbefore MagicPoint) -- (Helper0 cutafter MagicPoint) -- (reverse Helper100) -- cycle ; clip currentpicture to Helper0 ; draw Helper0 withcolor cyan ; enddef ; \stopMPinclusions ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________