Skip to content
Snippets Groups Projects
__init__.py 82.5 KiB
Newer Older
  • Learn to ignore specific revisions
  •             description="Add this text at the top of the exported POV-Ray file",
                default=False)
    
    Luca Bonavita's avatar
    Luca Bonavita committed
    
    
    ###############################################################################
    # Povray Preferences.
    ###############################################################################
    class PovrayPreferences(AddonPreferences):
        bl_idname = __name__
    
    
        branch_feature_set_povray = EnumProperty(
                    name="Feature Set",
    
                    description="Choose between official (POV-Ray) or (UberPOV) "
                                "development branch features to write in the pov file",
                    items= (('povray', 'Official POV-Ray', '','PLUGIN', 0),
                            ('uberpov', 'Unofficial UberPOV', '', 'PLUGIN', 1)),
    
        filepath_povray = StringProperty(
    
                    description="Path to renderer executable",
                    subtype='FILE_PATH',
                    )
        def draw(self, context):
            layout = self.layout
    
            layout.prop(self, "branch_feature_set_povray")
    
            layout.prop(self, "filepath_povray")
    
    
    def register():
        bpy.utils.register_module(__name__)
    
        bpy.types.INFO_MT_add.prepend(ui.menu_func_add)
        bpy.types.INFO_MT_file_import.append(ui.menu_func_import)
        #used for parametric objects:
        addon_utils.enable("add_mesh_extra_objects", default_set=False, persistent=True)
        
    
        #bpy.types.TEXTURE_PT_context_texture.prepend(TEXTURE_PT_povray_type)
    
        
        bpy.types.NODE_HT_header.append(ui.menu_func_nodes)
        nodeitems_utils.register_node_categories("POVRAYNODES", node_categories)    
    
        bpy.types.Scene.pov = PointerProperty(type=RenderPovSettingsScene)
        bpy.types.Material.pov = PointerProperty(type=RenderPovSettingsMaterial)
        bpy.types.Texture.pov = PointerProperty(type=RenderPovSettingsTexture)
        bpy.types.Object.pov = PointerProperty(type=RenderPovSettingsObject)
        bpy.types.Camera.pov = PointerProperty(type=RenderPovSettingsCamera)
        bpy.types.Text.pov = PointerProperty(type=RenderPovSettingsText)
    
    def unregister():
        del bpy.types.Scene.pov
        del bpy.types.Material.pov
        del bpy.types.Texture.pov
        del bpy.types.Object.pov
        del bpy.types.Camera.pov
        del bpy.types.Text.pov
    
        nodeitems_utils.unregister_node_categories("POVRAYNODES")
        bpy.types.NODE_HT_header.remove(ui.menu_func_nodes)
    
        #bpy.types.TEXTURE_PT_context_texture.remove(TEXTURE_PT_povray_type)
    
        addon_utils.disable("add_mesh_extra_objects", default_set=False)
        bpy.types.INFO_MT_file_import.remove(ui.menu_func_import)
        bpy.types.INFO_MT_add.remove(ui.menu_func_add)
        bpy.utils.unregister_module(__name__)
    
    Luca Bonavita's avatar
    Luca Bonavita committed
    if __name__ == "__main__":
        register()