PRO plot3dline, r0, r1, _extra=_extra, tiplen=tiplen, tipwid=tipwid, color=color, $ labeltext=labeltext, labeldist=labeldist, labeloffset=labeloffset @compile_opt.pro ; On error, return to caller InitVar, labeldist, 0 CASE IsType(tiplen, /defined) or IsType(tipwid, /defined) OF 0: plots, [ [r0], [r1] ], /t3d, _extra=_extra, color=color 1: arrow3d, r0, r1, tiplen=tiplen, tipwid=tipwid, _extra=_extra, color=color ENDCASE IF IsType(labeltext, /defined) THEN BEGIN P = r1-r0 P = P/sqrt(total(P*P)) plot3dtext, r1+labeldist*P, labeltext, labeloffset=labeloffset, _extra=_extra ENDIF RETURN & END