Exemplo n.º 1
0
 def _loadNodes(self):
     libnodes = self.xmlnode.findall( tag('library_nodes') )
     if libnodes is not None:
         for libnode in libnodes:
             if libnode is not None:
                 tried_loading = []
                 succeeded = False
                 for node in libnode.findall(tag('node')):
                     try: N = scene.loadNode(self, node, {})
                     except scene.DaeInstanceNotLoadedError, ex:
                         tried_loading.append((node, ex))
                     except DaeError, ex: self.handleError(ex)
                     else:
                         if N is not None:
                             self.nodes.append( N )
                             succeeded = True
                 while len(tried_loading) > 0 and succeeded:
                     succeeded = False
                     next_tried = []
                     for node, ex in tried_loading:
                         try: N = scene.loadNode(self, node, {})
                         except scene.DaeInstanceNotLoadedError, ex:
                             next_tried.append((node, ex))
                         except DaeError, ex: self.handleError(ex)
                         else:
                             if N is not None:
                                 self.nodes.append( N )
                                 succeeded = True
                     tried_loading = next_tried
Exemplo n.º 2
0
 def loadNodes(self):
     self.nodes = []
     self.nodeById = {}
     libnode = self.root.find( tag('library_nodes') )
     if libnode != None:
         for node in libnode.findall(tag('node')):
             try: N = scene.loadNode(self, node)
             except DaeError, ex: self.handleError(ex)
             else:
                 self.nodes.append( N )
                 self.nodeById[N.id] = N
Exemplo n.º 3
0
 def _loadNodes(self):
     libnode = self.xmlnode.find( tag('library_nodes') )
     if libnode != None:
         tried_loading = []
         succeeded = False
         for node in libnode.findall(tag('node')):
             try: N = scene.loadNode(self, node)
             except scene.DaeInstanceNotLoadedError, ex:
                 tried_loading.append((node, ex))
             except DaeError, ex: self.handleError(ex)
             else:
                 if N is not None:
                     self.nodes.append( N )
                     succeeded = True
Exemplo n.º 4
0
            tried_loading = []
            succeeded = False
            for node in libnode.findall(tag('node')):
                try: N = scene.loadNode(self, node)
                except scene.DaeInstanceNotLoadedError, ex:
                    tried_loading.append((node, ex))
                except DaeError, ex: self.handleError(ex)
                else:
                    if N is not None:
                        self.nodes.append( N )
                        succeeded = True
            while len(tried_loading) > 0 and succeeded:
                succeeded = False
                next_tried = []
                for node, ex in tried_loading:
                    try: N = scene.loadNode(self, node)
                    except scene.DaeInstanceNotLoadedError, ex:
                        next_tried.append((node, ex))
                    except DaeError, ex: self.handleError(ex)
                    else:
                        if N is not None:
                            self.nodes.append( N )
                            succeeded = True
                tried_loading = next_tried
            if len(tried_loading) > 0:
                for node, ex in tried_loading:
                    raise DaeBrokenRefError(ex.msg)

    def _loadScenes(self):
        """Load scene library."""
        libnode = self.xmlnode.find( tag('library_visual_scenes') )