8.9 markers

This module implements specialized routines for marking paths and angles. The principal mark routine provided by this module is

markroutine markinterval(int n=1, frame f, bool rotated=false);

which centers n copies of frame f within uniformly space intervals in arclength along the path, optionally rotated by the angle of the local tangent.

The marker (see marker) routine can be used to construct new markers from these predefined frames:

frame stickframe(int n=1, real size=0, pair space=0, real angle=0,
                 pair offset=0, pen p=currentpen);
frame circlebarframe(int n=1, real barsize=0,
                     real radius=0,real angle=0,
                     pair offset=0, pen p=currentpen,
                     filltype filltype=NoFill, bool above=false);
frame crossframe(int n=3, real size=0, pair space=0,
                 real angle=0, pair offset=0, pen p=currentpen);
frame tildeframe(int n=1, real size=0, pair space=0,
                 real angle=0, pair offset=0, pen p=currentpen);

For convenience, this module also constructs the markers StickIntervalMarker, CrossIntervalMarker, CircleBarIntervalMarker, and TildeIntervalMarker from the above frames. The example markers1.asy illustrates the use of these markers:


./markers1

This module also provides a routine for marking an angle AOB:

void markangle(picture pic=currentpicture, Label L="",
               int n=1, real radius=0, real space=0,
               pair A, pair O, pair B, arrowbar arrow=None,
               pen p=currentpen, margin margin=NoMargin,
               marker marker=nomarker);

as illustrated in the example markers2.asy.


./markers2