pluginmanager.py 文件源码

python
阅读 30 收藏 0 点赞 0 评论 0

项目:BlenderRobotDesigner 作者: HBPNeurorobotics 项目源码 文件源码
def unregister(cls):
        """
        Called from the top-level :func:`robot_designer_plugin.unregister` function in the ``__init__.py`` of the
        plugin.
        Removes all data collected during import.
        """
        report = ['\n']
        try:
            for class_ in cls._registered_classes:
                bpy.utils.unregister_class(class_)
                report.append("\t- class {0:35} in {1:40}".format(class_.__name__,
                                                                  "/".join(class_.__module__.split('.')[1:])))

            for prop, extends in cls._registered_properties:
                bpy.utils.unregister_class(prop)
                if extends in (bpy.types.Object, bpy.types.Scene, bpy.types.Bone):
                    delattr(extends, "RobotEditor")

            for prop in cls._registered_bools:
                delattr(bpy.types.Scene, prop)

            core_logger.info("\n".join(report))

            if cls._bl_icons_dict:
                bpy.utils.previews.remove(cls._bl_icons_dict)

        except Exception as e:
            report.append("Error occured during clean up. You should restart blender!")
            core_logger.info("\n".join(report) + '\n')
            core_logger.error(EXCEPTION_MESSAGE,
                              type(e).__name__, e, log_callstack(), log_callstack(back_trace=True))

        cls._registered_classes.clear()
        cls._property_groups_to_register.clear()
        cls._registered_bools.clear()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号