Skip to content
Snippets Groups Projects
operators.py 72.3 KiB
Newer Older
  • Learn to ignore specific revisions
  •             # save current rto history
                for rto, history, in rto_history.items():
    
                    if history.get(view_layer.name, None):
                        phantom_history[rto+"_history"] = deepcopy(history[view_layer.name])
    
            # return to normal mode
            else:
    
                laycol_iter_list = [view_layer.layer_collection.children]
    
                while len(laycol_iter_list) > 0:
                    new_laycol_iter_list = []
                    for laycol_iter in laycol_iter_list:
                        for layer_collection in laycol_iter:
                            phantom_laycol = phantom_history["initial_state"][layer_collection.name]
    
                            layer_collection.exclude = \
                                phantom_laycol["exclude"]
    
                            layer_collection.collection.hide_select = \
                                phantom_laycol["select"]
    
                            layer_collection.hide_viewport = \
                                phantom_laycol["hide"]
    
                            layer_collection.collection.hide_viewport = \
                                phantom_laycol["disable"]
    
                            layer_collection.collection.hide_render = \
                                phantom_laycol["render"]
    
                            if len(layer_collection.children) > 0:
                                new_laycol_iter_list.append(layer_collection.children)
    
                    laycol_iter_list = new_laycol_iter_list
    
                # restore previous rto history
                for rto, history, in rto_history.items():
    
                    if view_layer.name in history:
                        del history[view_layer.name]
    
                    if phantom_history[rto+"_history"]:
    
                        history[view_layer.name] = deepcopy(phantom_history[rto+"_history"])
    
                    phantom_history[rto+"_history"].clear()
    
                cm.in_phantom_mode = False
    
            return {'FINISHED'}