def checkVTX(self, context): ''' - decides VTX automatically. - remembers edges attached to current selection, for later. ''' # [x] if either of these edges share a vertex, return early. indices = cm.vertex_indices_from_edges_tuple(self.bm, self.selected_edges) if cm.duplicates(indices): msg = "edges share a vertex, degenerate case, returning early" self.report({"WARNING"}, msg) return False # [x] find which edges intersect getVTX(self) # [x] check coplanar, or parallel. if [] == self.edges: coplanar = cm.test_coplanar(self.edge1, self.edge2) if not coplanar: msg = "parallel or not coplanar! returning early" self.report({"WARNING"}, msg) return False return True
def remove_permutations_that_share_a_vertex(bm, permutations): ''' Get useful Permutations ''' final_permutations = [] for edges in permutations: raw_vert_indices = cm.vertex_indices_from_edges_tuple(bm, edges) if cm.duplicates(raw_vert_indices): continue # reaches this point if they do not share. final_permutations.append(edges) return final_permutations