parameters: (
      symmetry,
      vertices,
      offset_global=(0, 0)
  )
return_statement: return lines
docstring: Assemble a wire from a list of symmetry information and a list of list of vertices
  
      symmetry information is a tuple of
          offset x, offset y, bool reverse, bool switch_comp, bool mirror_x, bool mirror_y
docstring_summary: Assemble a wire from a list of symmetry information and a list of list of vertices
docstring_tokens: Assemble a wire from a list of symmetry information and a list of list of vertices
function: def assemble(
      symmetry,
      vertices,
      offset_global=(0, 0)
  ):
      """
      Assemble a wire from a list of symmetry information and a list of list of vertices
  
      symmetry information is a tuple of
          offset x, offset y, bool reverse, bool switch_comp, bool mirror_x, bool mirror_y
      """
  
      offset = Vector(offset_global[0], offset_global[1], 0)
  
      lines = []
  
      vlast = None
      vcur = None
  
      for sym, verts in zip(symmetry, vertices):
          o_x, o_y, reverse, switch, mir_x, mir_y = sym
          mir_x = -1 if mir_x else 1
          mir_y = -1 if mir_y else 1
          if reverse:
              verts = verts[::-1]
  
          if vcur is None:
              vcur = Vector(verts[0])
              if switch:
                  vcur[0], vcur[1] = vcur[1], vcur[0]
  
              vcur[0] = mir_x * vcur[0] + o_x + offset[0]
              vcur[1] = mir_y * vcur[1] + o_y + offset[1]
  
          for v in verts[1:]:
              vlast = vcur
              vcur = Vector(v)
              if switch:
                  vcur[0], vcur[1] = vcur[1], vcur[0]
  
              vcur[0] = mir_x * vcur[0] + o_x + offset[0]
              vcur[1] = mir_y * vcur[1] + o_y + offset[1]
  
              lines.append(Part.makeLine(vlast, vcur))
      return lines
function_tokens: def assemble ( symmetry , vertices , offset_global = ( 0 , 0 ) ) : offset = Vector ( offset_global [ 0 ] , offset_global [ 1 ] , 0 ) lines = [ ] vlast = None vcur = None for sym , verts in zip ( symmetry , vertices ) : o_x , o_y , reverse , switch , mir_x , mir_y = sym mir_x = - 1 if mir_x else 1 mir_y = - 1 if mir_y else 1 if reverse : verts = verts [ : : - 1 ] if vcur is None : vcur = Vector ( verts [ 0 ] ) if switch : vcur [ 0 ] , vcur [ 1 ] = vcur [ 1 ] , vcur [ 0 ] vcur [ 0 ] = mir_x * vcur [ 0 ] + o_x + offset [ 0 ] vcur [ 1 ] = mir_y * vcur [ 1 ] + o_y + offset [ 1 ] for v in verts [ 1 : ] : vlast = vcur vcur = Vector ( v ) if switch : vcur [ 0 ] , vcur [ 1 ] = vcur [ 1 ] , vcur [ 0 ] vcur [ 0 ] = mir_x * vcur [ 0 ] + o_x + offset [ 0 ] vcur [ 1 ] = mir_y * vcur [ 1 ] + o_y + offset [ 1 ] lines . append ( Part . makeLine ( vlast , vcur ) ) return lines