code: def __init__(
      self,
      user_dtype=None,
      transform=None,
      vertex=None,
      fragment=None,
      **kwargs,
  ):
      base_dtype = [
          ("position", (np.float32, 3), "!local", (0, 0, 0)),
          ("color", (np.float32, 4), "local", (0, 0, 0, 1)),
      ]
  
      dtype = base_dtype
      if user_dtype:
          dtype.extend(user_dtype)
  
      if vertex is None:
          vertex = glsl.get("collections/raw-triangle.vert")
      if transform is None:
          transform = NullTransform()
      self.transform = transform
      if fragment is None:
          fragment = glsl.get("collections/raw-triangle.frag")
  
      Collection.__init__(
          self,
          dtype=dtype,
          itype=np.uint32,
          mode="triangles",
          vertex=vertex,
          fragment=fragment,
          **kwargs,
      )
      self._programs[0].vert["transform"] = self.transform
  
file_path: vispy/vispy/visuals/collections/raw_triangle_collection.py
imports: import numpy
  from ...None import glsl
  from .collection import Collection
  from ..transforms import NullTransform
label_desc: Use image node_id 1 to create a new RawTriangleCollection object from inherited base classes: Collection with example: obj = RawTriangleCollection(user_dtype, transform, vertex, fragment)