Mercurial > code > home > repos > light9
diff attic/Op.py @ 299:6931479b657a
Make attic, move a bunch of old files to it
author | David McClosky <dmcc@bigasterisk.com> |
---|---|
date | Mon, 20 Jun 2005 18:52:21 +0000 |
parents | Op.py@45b12307c695 |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/attic/Op.py Mon Jun 20 18:52:21 2005 +0000 @@ -0,0 +1,32 @@ +"""each node type has an Op within it""" + +class Op: + """nodes can have several versions of their operation function. + + ops don't return anything! + """ + def __init__(self): + """This should not be overridden without being called.""" + pass + + def inputschanged(self, input, output, stateaccess): + """If you only define one op function body, make it this one. """ + pass + + def created(self, input, output, stateaccess): + """This is called one time when the node is newly created. It's + not called when the node instance is pickled/unpickled. Use this + version to initialize state.""" + # an extra call to changed() should help the outputs get set + # correctly before any real inputs-changed events come around + # (assuming this method doesn't get overridden with a + # specialized version) + self.inputschanged(input, output, stateaccess) + + def statechanged(self, input, output, stateaccess): + '''State might have been changed by a user dragging a parameter or by + a state being hcanged otherwise.''' + self.inputschanged(input, output, stateaccess) + + def clocked(self, input, output, stateaccess): + self.inputschanged(input, output, stateaccess)