class_docstr: Displays a 2D polygon
  
  Parameters
  ----------
  pos : array
      Set of vertices defining the polygon.
  color : str | tuple | list of colors
      Fill color of the polygon.
  border_color : str | tuple | list of colors
      Border color of the polygon.
  border_width : int
      Border width in pixels.
      Line widths > 1px are only
      guaranteed to work when using `border_method='agg'` method.
  border_method : str
      Mode to use for drawing the border line (see `LineVisual`).
  
          * "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.
  
  triangulate : boolean
      Triangulate the set of vertices
  **kwargs : dict
      Keyword arguments to pass to `CompoundVisual`.
class_docstr_tok: ["Displays","a","2D","polygon","Parameters","--","--","--","--","--","pos",":","array","Set","of","vertices","defining","the","polygon",".","color",":","str","|","tuple","|","list","of","colors","Fill","color","of","the","polygon",".","border_color",":","str","|","tuple","|","list","of","colors","Border","color","of","the","polygon",".","border_width",":","int","Border","width","in","pixels",".","Line","widths",">","1px","are","only","guaranteed","to","work","when","using","`","border_method='agg","'","`","method",".","border_method",":","str","Mode","to","use","for","drawing","the","border","line","(","see","`","LineVisual","`",")",".","*","``","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",".","triangulate",":","boolean","Triangulate","the","set","of","vertices","*","*","kwargs",":","dict","Keyword","arguments","to","pass","to","`","CompoundVisual","`","."]
code: def __init__(
      self,
      pos=None,
      color="black",
      border_color=None,
      border_width=1,
      border_method="gl",
      triangulate=True,
      **kwargs,
  ):
      self._mesh = MeshVisual()
      self._border = LineVisual(method=border_method)
      self._pos = pos
      self._color = Color(color)
      self._border_width = border_width
      self._border_color = Color(border_color)
      self._triangulate = triangulate
  
      self._update()
      CompoundVisual.__init__(
          self, [self._mesh, self._border], **kwargs
      )
      self._mesh.set_gl_state(
          polygon_offset_fill=True,
          polygon_offset=(1, 1),
          cull_face=False,
      )
      self.freeze()
  
imports: from __future__ import division
  import numpy
  from .visual import CompoundVisual
  from .mesh import MeshVisual
  from .line import LineVisual
  from ..color import Color
  from ..geometry import PolygonData
  from ..gloo import set_state
label_desc: Use image node_id 1 to create a new PolygonVisual object from inherited base classes: CompoundVisual with example: obj = PolygonVisual(pos, color, border_color, border_width, border_method, triangulate)