"""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 parameterschanged(self, input, output, stateaccess):
self.inputschanged(input, output, stateaccess)
def clocked(self, input, output, stateaccess):
self.inputschanged(input, output, stateaccess)