class_docstr: Arrow visual
  
  A special line visual which can also draw optional arrow heads at the
  specified vertices.
  
  You add an arrow head by specifying two vertices `v1` and `v2` which
  represent the arrow body. This visual will draw an arrow head using `v2`
  as center point, and the orientation of the arrow head is automatically
  determined by calculating the direction vector between `v1` and `v2`. 
  The arrow head can be detached from arrow body.
  
  Parameters
  ----------
  pos : array
      Array of shape (..., 2) or (..., 3) specifying vertex coordinates
      of arrow body.
  color : Color, tuple, or array
      The color to use when drawing the line. If an array is given, it
      must be of shape (..., 4) and provide one rgba color per vertex.
      Can also be a colormap name, or appropriate `Function`.
  width:
      The width of the line in px. Line widths > 1px are only
      guaranteed to work when using 'agg' method.
  connect : str or array
      Determines which vertices are connected by lines.
  
          * "strip" causes the line to be drawn with each vertex
            connected to the next.
          * "segments" causes each pair of vertices to draw an
            independent line segment
          * numpy arrays specify the exact set of segment pairs to
            connect.
  method : str
      Mode to use for drawing.
  
          * "agg" uses anti-grain geometry to draw nicely antialiased lines
            with proper joins and endcaps.
          * "gl" uses OpenGL's built-in line rendering. This is much faster,
            but produces much lower-quality results and is not guaranteed to
            obey the requested line width or join/endcap styles.
  antialias : bool
      Enables or disables antialiasing.
      For method='gl', this specifies whether to use GL's line smoothing,
      which may be unavailable or inconsistent on some platforms.
  arrows : array
      A (N, 4) or (N, 6) matrix where each row contains the (x, y) or the
      (x, y, z) coordinates of the first and second vertex of the arrow
      head. Remember that the second vertex is used as center point for
      the arrow head, and the first vertex is only used for determining
      the arrow head orientation.
  arrow_type : string
      Specify the arrow head type, the currently available arrow head types
      are:
  
          * stealth
          * curved
          * triangle_30
          * triangle_60
          * triangle_90
          * angle_30
          * angle_60
          * angle_90
          * inhibitor_round
  arrow_size : float
      Specify the arrow size
  arrow_color : Color, tuple, or array
      The arrow head color. If an array is given, it must be of shape
      (..., 4) and provide one rgba color per arrow head. Can also be a
      colormap name, or appropriate `Function`.
code: def arrow_type(self):
      return self._arrow_type
  
imports: from __future__ import division
  import numpy
  from ...None import glsl, gloo
  from ..transforms._util import as_vec4
  from ..visual import Visual
  from .line import LineVisual
label_desc: Use image node_id 3 for calling the ArrowVisual obj's underlying member method code with example usage: obj.arrow_type() and returns: self