Beispiel #1
0
    def OnNode(self, node: pydot.Node) -> typing.Dict[str, typing.Any]:
        for region in self.regions.values():
            if node.get_name() in [str(r)[:-1] for r in region
                                   ]:  # Need to cut off semicolon
                return {"polyhedral": True}

        return {"polyhedral": False}
Beispiel #2
0
 def add_node(self,*args,**kwargs):
     # some args are
     #   name = 'N'
     #   texlbl = 'N_{n,m}'
     if len(args)==1 and isinstance(args[0],Node):
         node = args[0]
     else:
         node = Node(*args,**kwargs)
     #end if
     name = node.get_name()
     self.nodes[name] = node
     self.graph.add_node(node)
Beispiel #3
0
 def add_node(self,*args,**kwargs):
     # some args are
     #   name = 'N'
     #   texlbl = 'N_{n,m}'
     if len(args)==1 and isinstance(args[0],Node):
         node = args[0]
     else:
         node = Node(*args,**kwargs)
     #end if
     name = node.get_name()
     self.nodes[name] = node
     self.graph.add_node(node)
Beispiel #4
0
 def NodeIndex(node: pydot.Node) -> int:
     """Get the index of a node."""
     return node_name_to_index_map[node.get_name()]
Beispiel #5
0
 def __init__(self, node: pydot.Node, edges: List[pydot.Edge]):
     self.node = node
     self.transitions = []
     for edge in edges:
         if edge.get_source() == node.get_name():
             self.transitions.append(__class__.Transition(edge))
Beispiel #6
0
 def add_node(self, node: pydot.Node):
     self.nodes_to_edges[node.get_name()] = []
     if node.get_label() not in self.nodes_by_labels.keys():
         self.nodes_by_labels[node.get_label()] = [node]
     self.nodes_by_labels[node.get_label()] += [node]
     self.graph.add_node(node)