Hi,
Please use the [code][/code] tags when posting code. It will preserve your tabs.
The <node>.remove() command will delete the object from the Vizard engine, however the Python object will still exist. If you want to remove the node from Vizard and remove the reference to it, then you can create a wrapper function that does it for you. However, if some other code is referencing the object, then that reference will continue to exist. Example:
Code:
class Parent:
def __init__(self):
print "init from parent"
def duit(self,duit):
self.salary = self.salary + duit
return self.salary
def remove(self):
self.obj.remove()
class Child(Parent):
def __init__(self):
Parent.__init__(self)
print "init from child"
self.obj = viz.add('duck.cfg')
self.salary = 100
class World:
def __init__(self):
self.c = Child()
self.final = self.c.duit(50000)
print self.final
def remove(self):
self.c.remove()
del self.c
w=World()
viz.go()
#Print value of w.c
print w.c
#Save referenc to w.c
c_ref = w.c
#Remove child
w.remove()
#Try printing value of w.c
try:
print w.c
except AttributeError:
print 'w.c does not exist'
#Reference to child still exists
print c_ref