code: def boolean_intersection(self, entities, delete_first=True, delete_other=True):
          
          assert len(entities) > 1
          return self._boolean_operation(
              "BooleanIntersection",
              [entities[0]],
              entities[1:],
              delete_first=delete_first,
              delete_other=delete_other,
          )
docs: Boolean intersection, see
          https://gmsh.info/doc/texinfo/gmsh.html#Boolean-operations input_entity
          and tool_entity are called object and tool in gmsh documentation.