The
node.copy command will pass all extra keyword arguments to the class __init__ method. You can override the
copy method in your class and have it pass all the required arguments as keyword arguments to the underlying
node.copy method. Example:
Code:
import viz
viz.go()
class MyNode(viz.VizNode):
def __init__(self, model, parameter):
if isinstance(model,basestring):
base = viz.add(model)
viz.VizNode.__init__(self, base.id)
elif isinstance(model, viz.VizNode):
viz.VizNode.__init__(self, model.id)
elif isinstance(model, int):
viz.VizNode.__init__(self, model)
self._parameter = parameter
def copy(self, parameter):
return viz.VizNode.copy(self,parameter=parameter)
node = MyNode('gallery.osgb',0)
nodeCopy = node.copy(1)
Does this work for you scenario?