All pastes #620177 Raw Edit

Mine

public python v1 · immutable
·published 2007-07-15 09:02 UTC
rendered paste body
#just a quick test of scene graph nodesclass sceneNode(object):    def __init__(self, name):        self.__childNodes = []        self.__parent = None        self.__name = name    def attachNode(self, node):        self.__childNodes.append(node)        node.__parent = self    def detach(self):        self.__parent.__childNodes.remove(self)    def display(self, deep=0):        #do your own update routines here        print ''.join(['\t' * deep, self.__name])        #update all children        for node in self.__childNodes:            node.display(deep+1)    def find(self, name):        if self.__name == name:            return self        for node in self.__childNodes:            temp = node.find(name)            if temp is not None:                return temp        return NonerootNode = sceneNode("root Node")for nodeA in range(2):    levelA = sceneNode("level A, Node: %i" % (nodeA))    for nodeB in range(1):        levelB = sceneNode("level B, Node: %i" % (nodeB))        levelA.attachNode(levelB)        for nodeC in range(2):            levelC = sceneNode("level C, Node: %i" % (nodeC))            levelB.attachNode(levelC)    rootNode.attachNode(levelA)rootNode.display()print "\n\nFind Test:"rootNode.find("level C, Node: 0").display()