当前位置: 首页>>代码示例>>Python>>正文


Python node.Node类代码示例

本文整理汇总了Python中openalea.core.node.Node的典型用法代码示例。如果您正苦于以下问题:Python Node类的具体用法?Python Node怎么用?Python Node使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Node类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: set_io

    def set_io(self, inputs, outputs):
        """
        Define inputs and outputs

        Inputs and outputs are list of dict(name='', interface='', value='')
        """

        # I/O ports
        # Remove node if nb of input has changed
        if(self.id_in is not None
           and len(inputs) != self.node(self.id_in).get_nb_output()):
            self.remove_node(self.id_in)
            self.id_in = None

        if(self.id_out is not None
           and len(outputs) != self.node(self.id_out).get_nb_input()):
            self.remove_node(self.id_out)
            self.id_out = None

        # Create new io node if necessary
        if(self.id_in is None):
            self.id_in = self.add_node(CompositeNodeInput(inputs))
        else:
            self.node(self.id_in).set_io((), inputs)

        if(self.id_out is None):
            self.id_out = self.add_node(CompositeNodeOutput(outputs))
        else:
            self.node(self.id_out).set_io(outputs, ())

        Node.set_io(self, inputs, outputs)
开发者ID:VirtualPlants,项目名称:openalea,代码行数:31,代码来源:compositenode.py

示例2: simulate_destruction_notifications

    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))
开发者ID:VirtualPlants,项目名称:openalea,代码行数:28,代码来源:compositenode.py

示例3: __init__

    def __init__(self, inputs):
        """
        inputs : list of dict(name='', interface='', value'',...)
        """

        Node.__init__(self, outputs=inputs)
        self.internal_data['caption'] = "In"
开发者ID:VirtualPlants,项目名称:openalea,代码行数:7,代码来源:compositenode.py

示例4: reset

    def reset(self):
        """ Reset nodes """

        Node.reset(self)

        for vid in set(self.vertices()):
            node = self.actor(vid)
            node.reset()
开发者ID:VirtualPlants,项目名称:openalea,代码行数:8,代码来源:compositenode.py

示例5: invalidate

    def invalidate(self):
        """ Invalidate nodes """

        Node.invalidate(self)

        for vid in set(self.vertices()):
            node = self.actor(vid)
            node.invalidate()
开发者ID:VirtualPlants,项目名称:openalea,代码行数:8,代码来源:compositenode.py

示例6: _init_internal_data

 def _init_internal_data(self, d):
     """This method is called after the node has been instantiated, to
     fill in the internal_data dictionnary."""
     Node._init_internal_data(self, d)
     inputs = d.get("methodSig")
     methodName = d.get("methodName")
     if inputs and methodName:
         self.internal_data["methodName"] = methodName
         self.internal_data["methodSig"] = inputs
         self.build_ports(inputs)
开发者ID:MarieLatutu,项目名称:openalea-components,代码行数:10,代码来源:wrap_method.py

示例7: __init__

    def __init__(self, packagedata, editors=None, includes=[]):
        """
        @packagedata : A file contained in a defined package.
        @editors : A dictionary of commands which act on the file.
        @includes : Other files that are included in the data file.
        """
        Node.__init__(self, inputs=(dict(name='data', interface=IData, value=packagedata),
                                    dict(name='editors', interface=None, value=editors),
                                    dict(name='includes', interface=None, value=includes)),
                      outputs=(dict(name='data', interface=IData), ), )
        self.caption = '%s' % (packagedata.name)
        self.watch = None
        self.monitor_file(str(packagedata))

        if not includes:
            self.set_port_hidden(2, True)
开发者ID:gbaty,项目名称:openalea,代码行数:16,代码来源:data.py

示例8: create_fake_node

    def create_fake_node(self, vid):
        """ Return an empty node with the correct number of inputs
        and output """

        # Count in and out needed
        ins = 0
        outs = 0

        for eid, link in self.connections.iteritems():
            (source_vid, source_port, target_vid, target_port) = link

            if(source_vid == vid):
                outs = max(outs, source_port)
            elif(target_vid == vid):
                ins = max(ins, target_port)

        node = Node()

        attributes = copy.deepcopy(self.elt_data[vid])
        ad_hoc     = copy.deepcopy(self.elt_ad_hoc.get(vid, None))
        self.load_ad_hoc_data(node, attributes, ad_hoc)

        # copy node input data if any
        values = copy.deepcopy(self.elt_value.get(vid, ()))

        for p in range(ins+1):
            port = node.add_input(name="In"+str(p))

        for p in range(outs+1):
            port = node.add_output(name="Out"+str(p))

        for vs in values:
            try:
                #the two first elements are the historical
                #values : port Id and port value
                #beyond that are extensions added by gengraph:
                #the ad_hoc_dict representation is third.
                port, v = vs[:2]
                node.set_input(port, eval(v))
                if(len(vs)>2):
                    d = MetaDataDict(vs[2])
                    node.input_desc[port].get_ad_hoc_dict().update(d)
            except:
                continue


        return node
开发者ID:VirtualPlants,项目名称:openalea,代码行数:47,代码来源:compositenode.py

示例9: test_dataflow_state_get_data

def test_dataflow_state_get_data():
    df = DataFlow()
    vid1 = df.add_vertex()
    pid10 = df.add_in_port(vid1, "in")
    pid11 = df.add_out_port(vid1, "out")
    vid2 = df.add_vertex()
    pid21 = df.add_out_port(vid2, "out")
    vid5 = df.add_vertex()
    pid51 = df.add_out_port(vid5, "out")

    vid3 = df.add_vertex()
    pid31 = df.add_in_port(vid3, "in1")
    pid32 = df.add_in_port(vid3, "in2")
    pid33 = df.add_out_port(vid3, "res")

    vid4 = df.add_vertex()
    pid41 = df.add_in_port(vid4, "in")

    df.connect(pid11, pid31)
    df.connect(pid21, pid32)
    df.connect(pid33, pid41)
    df.connect(pid51, pid32)

    dfs = DataflowState(df)

    for pid in df.ports():
        assert_raises(KeyError, lambda: dfs.get_data(pid))

    for i, pid in enumerate([pid11, pid21, pid33, pid51]):
        dfs.set_data(pid, i)

    assert_raises(KeyError, lambda: dfs.get_data(pid10))

    dfs.set_data(pid10, 'a')
    assert dfs.get_data(pid10) == 'a'

    for i, pid in enumerate([pid11, pid21, pid33, pid51]):
        assert dfs.get_data(pid) == i

    assert dfs.get_data(pid31) == 0
    assert tuple(dfs.get_data(pid32)) == (1, 3)
    assert dfs.get_data(pid41) == 2

    n2 = Node()
    df.set_actor(vid2, n2)

    assert tuple(dfs.get_data(pid32)) == (1, 3)

    n5 = Node()
    df.set_actor(vid5, n5)
    assert tuple(dfs.get_data(pid32)) == (1, 3)

    n2.get_ad_hoc_dict().set_metadata('position', [10, 0])
    n5.get_ad_hoc_dict().set_metadata('position', [0, 0])
    assert tuple(dfs.get_data(pid32)) == (3, 1)
开发者ID:gbaty,项目名称:openalea,代码行数:55,代码来源:test_dataflow_state.py

示例10: __init__

 def __init__(self, inputs, outputs):
     Node.__init__(self, inputs, outputs)
     self.world = World()
开发者ID:gbaty,项目名称:openalea,代码行数:3,代码来源:oalabnode.py

示例11: __init__

 def __init__(self,*args):
     Node.__init__(self,*args)
     self.widget = None
     self.enabled = not (QtCore.QCoreApplication .instance() is None)
开发者ID:MarieLatutu,项目名称:openalea-components,代码行数:4,代码来源:vprint.py

示例12: __init__

    def __init__(self, inputs, outputs):

        Node.__init__(self, inputs, outputs)
        self.state = True
开发者ID:VirtualPlants,项目名称:openalea,代码行数:4,代码来源:systemnodes.py

示例13: close

 def close(self):
     for vid in set(self.vertices()):
         node = self.actor(vid)
         node.close()
     Node.close(self)
开发者ID:VirtualPlants,项目名称:openalea,代码行数:5,代码来源:compositenode.py

示例14: reset

 def reset(self):
     Node.reset(self)
     self.state = True
开发者ID:VirtualPlants,项目名称:openalea,代码行数:3,代码来源:systemnodes.py

示例15: __init__

 def __init__(self):
     Node.__init__(self)
     self.add_input(name="geom", interface=None)
     self.add_output(name="scene", interface=None)
开发者ID:gbaty,项目名称:openalea,代码行数:4,代码来源:pgl_node.py


注:本文中的openalea.core.node.Node类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。