class_docstr: Antigrain Geometry Fast Path Collection
  
  This collection provides antialiased and accurate paths with caps and miter
  joins. It consume x4 more memory than regular lines and is a bit slower,
  but the quality of the output is worth the cost. Note that no control can
  be made on miter joins which may result in some glitches on screen.
docstr: Initialize the collection.
  
  Parameters
  ----------
  user_dtype: list
      The base dtype can be completed (appended) by the used_dtype. It
      only make sense if user also provide vertex and/or fragment shaders
  
  transform : string
      GLSL Transform code defining the vec4 transform(vec3) function
  
  vertex: string
      Vertex shader code
  
  fragment: string
      Fragment  shader code
  
  caps : string
      'local', 'shared' or 'global'
  
  color : string
      'local', 'shared' or 'global'
  
  linewidth : string
      'local', 'shared' or 'global'
  
  antialias : string
      'local', 'shared' or 'global'
docstr_tok: ["Initialize","the","collection",".","Parameters","--","--","--","--","--","user_dtype",":","list","The","base","dtype","can","be","completed","(","appended",")","by","the","used_dtype",".","It","only","make","sense","if","user","also","provide","vertex","and\/or","fragment","shaders","transform",":","string","GLSL","Transform","code","defining","the","vec4","transform","(","vec3",")","function","vertex",":","string","Vertex","shader","code","fragment",":","string","Fragment","shader","code","caps",":","string","'local","'",",","'shared","'","or","'global'","color",":","string","'local","'",",","'shared","'","or","'global'","linewidth",":","string","'local","'",",","'shared","'","or","'global'","antialias",":","string","'local","'",",","'shared","'","or","'global","'"]
code: def __init__(
      self,
      user_dtype=None,
      transform=None,
      vertex=None,
      fragment=None,
      **kwargs,
  ):
      """
      Initialize the collection.
  
      Parameters
      ----------
      user_dtype: list
          The base dtype can be completed (appended) by the used_dtype. It
          only make sense if user also provide vertex and/or fragment shaders
  
      transform : string
          GLSL Transform code defining the vec4 transform(vec3) function
  
      vertex: string
          Vertex shader code
  
      fragment: string
          Fragment  shader code
  
      caps : string
          'local', 'shared' or 'global'
  
      color : string
          'local', 'shared' or 'global'
  
      linewidth : string
          'local', 'shared' or 'global'
  
      antialias : string
          'local', 'shared' or 'global'
      """
      base_dtype = [
          ("prev", (np.float32, 3), "!local", (0, 0, 0)),
          ("curr", (np.float32, 3), "!local", (0, 0, 0)),
          ("next", (np.float32, 3), "!local", (0, 0, 0)),
          ("id", (np.float32, 1), "!local", 0),
          ("color", (np.float32, 4), "global", (0, 0, 0, 1)),
          ("linewidth", (np.float32, 1), "global", 1),
          ("antialias", (np.float32, 1), "global", 1),
          ("viewport", (np.float32, 4), "global", (0, 0, 512, 512)),
      ]  # noqa
      dtype = base_dtype
      if user_dtype:
          dtype.extend(user_dtype)
  
      if vertex is None:
          vertex = glsl.get("collections/agg-fast-path.vert")
      if transform is None:
          transform = NullTransform()
      self.transform = transform
      if fragment is None:
          fragment = glsl.get("collections/agg-fast-path.frag")
  
      Collection.__init__(
          self,
          dtype=dtype,
          itype=None,
          mode="triangle_strip",
          vertex=vertex,
          fragment=fragment,
          **kwargs,
      )
  
      program = self._programs[0]
      program.vert["transform"] = self.transform
  
file_path: vispy/vispy/visuals/collections/agg_fast_path_collection.py
imports: import numpy
  from ...None import glsl
  from ...None import gloo
  from .collection import Collection
  from ..transforms import NullTransform
label_desc: Use image node_id 1 to create a new AggFastPathCollection object from inherited base classes: Collection with example: obj = AggFastPathCollection(user_dtype, transform, vertex, fragment)