def METHOD_NAME(self):
    intersections = []
    vertex_intersections = []
    for u, v in list(self.mesh.edges()):
        a = self.mesh.vertex_attributes(u, "xyz")
        b = self.mesh.vertex_attributes(v, "xyz")
        x = intersection_segment_plane((a, b), self.plane)
        if not x:
            continue
        if any([i != j for i, j in zip(x, a)]) and any([i != j for i, j in zip(x, b)]):
            L_ax = length_vector(subtract_vectors(x, a))
            L_ab = length_vector(subtract_vectors(b, a))
            t = L_ax / L_ab
            key = self.mesh.split_edge((u, v), t=t, allow_boundary=True)
            intersections.append(key)
        else:
            if u in vertex_intersections:
                intersections.append(u)
            vertex_intersections.clear()
            vertex_intersections.append(u)
            vertex_intersections.append(v)
    self._intersections = intersections