code: def perm(self, i_parents, x_parents, xi):
      # TODO: Cut out of for if outside linear constraint cutting planes
      xi_t = tuple(xi)
  
      # Construct required iterator
      iter_range = [x for x in range(self.dim) if x not in i_parents]
  
      for i in iter_range:
          i2_parents = copy.copy(i_parents)
          i2_parents.append(i)
          xi2 = copy.copy(xi)
          xi2[i] = 1
          # Make new vertex list a hashable tuple
          xi2_t = tuple(xi2)
          # Append to cell
          self.C0.add_vertex(self.V[xi2_t])
          # Connect neighbors and vice versa
          # Parent point
          self.V[xi2_t].connect(self.V[xi_t])
  
          # Connect all family of simplices in parent containers
          for x_ip in x_parents:
              self.V[xi2_t].connect(self.V[x_ip])
  
          x_parents2 = copy.copy(x_parents)
          x_parents2.append(xi_t)
  
          # Permutate
          self.perm(i2_parents, x_parents2, xi2)
  
imports: import numpy
  import copy
label_desc: Use image node_id 4 for calling the Complex obj's underlying member method code with example usage: obj.perm(i_parents, x_parents, xi) without return types