本文整理汇总了Python中openalea.core.node.Node.simulate_destruction_notifications方法的典型用法代码示例。如果您正苦于以下问题:Python Node.simulate_destruction_notifications方法的具体用法?Python Node.simulate_destruction_notifications怎么用?Python Node.simulate_destruction_notifications使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类openalea.core.node.Node
的用法示例。
在下文中一共展示了Node.simulate_destruction_notifications方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: simulate_destruction_notifications
# 需要导入模块: from openalea.core.node import Node [as 别名]
# 或者: from openalea.core.node.Node import simulate_destruction_notifications [as 别名]
def simulate_destruction_notifications(self):
"""emits messages as if we were adding elements to
the composite node"""
Node.simulate_destruction_notifications(self)
ids = self.vertices()
for eltid in ids:
node = self.node(eltid)
self.notify_vertex_removal(node)
for eid in self.edges():
(src_id, dst_id) = self.source(eid), self.target(eid)
etype=None
src_port_id = self.local_id(self.source_port(eid))
dst_port_id = self.local_id(self.target_port(eid))
nodeSrc = self.node(src_id)
nodeDst = self.node(dst_id)
src_port = nodeSrc.output_desc[src_port_id]
dst_port = nodeDst.input_desc[dst_port_id]
#don't notify if the edge is connected to the input or
#output nodes.
# if(src_id == self.id_in or dst_id == self.id_out):
# continue
edgedata = "default", eid
self.notify_listeners(("edge_removed", edgedata))