Mercurial > code > home > repos > light9
changeset 166:7ccf1d10804b
lots more notes
author | drewp |
---|---|
date | Tue, 08 Jul 2003 09:19:10 +0000 |
parents | 1fe54442db38 |
children | 79bc84310e80 |
files | flax/Node.py |
diffstat | 1 files changed, 108 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/flax/Node.py Tue Jul 08 09:18:47 2003 +0000 +++ b/flax/Node.py Tue Jul 08 09:19:10 2003 +0000 @@ -6,7 +6,7 @@ class NodeType: def __init__(self, iports=None, oports=None): make_attributes_from_args('iports', 'oports') - def process(self): + def process(self,iports,oports): pass # TODO: handle NoChange stuff @@ -34,10 +34,10 @@ class FadeNode(NodeType): """Provides a UI scaler to let you fade a value""" def __init__(self): - NodeType.__init__(self, iports={'in1' : Port, - 'scale1' : Port}, - oports={'out1' : Port}, - def process(self, ports): + NodeType.__init__(self, iports={'in1' : Port(), + 'scale1' : Port()}, + oports={'out1' : Port()}, + def process(self, iports, oports): ports.out1 = ports.in1 * ports.scale1 class FadeConstellation(Constellation): @@ -75,3 +75,106 @@ | out | """ + +Persistence +node instance saves: + node name, id, and such + input ports: + any port details + what the port connects to + values: + maybe UI.Scale level + maybe group contents + + +p=InputPort(node=self,minconns=1,maxconns=2) # an input port to this node +p.connect(othernode) +print p.connections() +p.connect(yetanother) + +op=OutputPort(node=self) # an output port +print op.connections() # lists all the nodes that call us an input node +op.connect(n) # calls n.connect(self) + + + + +Ports + Port: "scalar" + MultiPort: "array of Port" + ^ all wrong + + Ports II: + min/max number of connections + (failure to fit these numbers means port is "deactivated") + "Normal" ports are min=1, max=1 + "Multiports" are min=0, max=None + "Binary" ports are min=2, max=2 + oh yeah, there are two totally different types of ports + + Input ports: min/max numbers of connections + store current connections + Output ports: nothing + store nothing! + +fake node persistence for subtract node + +<!-- "my subtract" is a unique id --> +<!-- drew: there is no such thing as a subtract group --> +<node name="my subtract" type="math.Add"> + <inputs> + <port name="in1"> + <noderef name="node I"/> + <noderef name="node II"/> + </port> + </inputs> + <state> + </state> + +</node> + + +<node name="the group" type="group"> + + <!-- all of the port names of the group are being made up right + here- a group has no preset inputs or outputs--> + + <inputs> + <port name="group-in 1"> + <noderef name="node5"/> + <noderef name="node6"/> + </port> + </inputs> + + <state> + <children> + <noderef name="node3"> + <connect localPort="in1" groupPort="group-in1"/> + </noderef> + <noderef name="node4"> + <connect localPort="in1" groupPort="group-in1"/> + <connect localPort="out1" groupPort="theoutput"/> + </noderef> + </children> + + </state> +</node> + +<node name="preset value" type="source.Scalar"> + <!-- no inputs, node has output only --> + <state> + <value>8.3</value> + + <minvalue>0</minvalue> + <maxvalue>100</maxvalue> + + <gui> + <slider res=".1" height="200" bgcolor="red"/> + <priority>very high</priority> + <xpos>395</xpos> + <ypos>21</ypos> + </gui> + + </state> + +</node>