The algorithm for non-circle markers will require updating the function distance_between_markers to take the incidence angle as an input to determine the distance between the centers of the two markers (node and arrowhead). This is node-marker-specific: