def remover_arestas_entrada(self): for verticeId in self.arestas: arestasAtual = self.arestas[verticeId] for aresta in arestasAtual: try: aresta.vertice_fim.remove_aresta( Util.inverterSentidoArestas(aresta)) except Exception: continue
def remover_aresta(self, aresta: Aresta): vertice_procurado_inicio = self.procurarVertice(aresta.vertice_inicio) vertice_procurado_fim = self.procurarVertice(aresta.vertice_fim) if vertice_procurado_inicio and vertice_procurado_fim: vertice_procurado_inicio.remove_aresta(aresta) if not self.orientado: vertice_procurado_fim.remove_aresta( Util.inverterSentidoArestas(aresta)) else: raise VerticeInexistenteException( "Foram inseridos vertices inexistentes na aresta a ser removida do grafo", [vertice_procurado_inicio, vertice_procurado_fim])
def add_aresta(self, aresta: Aresta): vertice_procurado_inicio = self.procurarVertice(aresta.vertice_inicio) vertice_procurado_fim = self.procurarVertice(aresta.vertice_fim) if vertice_procurado_inicio and vertice_procurado_fim: arestaNova = Aresta(vertice_procurado_inicio, vertice_procurado_fim, aresta.peso, aresta.id) vertice_procurado_inicio.add_aresta(arestaNova) if not self.orientado: vertice_procurado_fim.add_aresta( Util.inverterSentidoArestas(arestaNova)) else: raise VerticeInexistenteException( "Foram inseridos vertices inexistentes na aresta a ser adicionada no grafo", [vertice_procurado_inicio, vertice_procurado_fim])