diff options
author | meta-androcto <meta.androcto1@gmail.com> | 2019-05-24 11:05:34 +0300 |
---|---|---|
committer | meta-androcto <meta.androcto1@gmail.com> | 2019-05-24 11:05:34 +0300 |
commit | 0aacb34c821740853d5de17aa7bd6f106ab63147 (patch) | |
tree | 0d4c95622f7bafeafe0081c35cd1e87e943caf3a /light_field_tools/__init__.py | |
parent | 5b66741510f753da4839f2f94658025912a7af49 (diff) |
light_field_tools: move to contrib: T63750
Diffstat (limited to 'light_field_tools/__init__.py')
-rw-r--r-- | light_field_tools/__init__.py | 182 |
1 files changed, 0 insertions, 182 deletions
diff --git a/light_field_tools/__init__.py b/light_field_tools/__init__.py deleted file mode 100644 index 17e32c8b..00000000 --- a/light_field_tools/__init__.py +++ /dev/null @@ -1,182 +0,0 @@ -# ##### BEGIN GPL LICENSE BLOCK ##### -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software Foundation, -# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# ##### END GPL LICENSE BLOCK ##### - - -bl_info = { - "name": "Light Field Tools", - "author": "Aurel Wildfellner", - "description": "Tools to create a light field camera and projector", - "version": (0, 3, 1), - "blender": (2, 64, 0), - "location": "View3D > Tool Shelf > Light Field Tools", - "url": "http://www.jku.at/cg/", - "wiki_url": "https://wiki.blender.org/index.php/Extensions:2.6/Py/" - "Scripts/Render/Light_Field_Tools", - "category": "Render" -} - - -if "bpy" in locals(): - import importlib - importlib.reload(light_field_tools) -else: - from . import light_field_tools - - -import bpy -from bpy.types import ( - AddonPreferences, - PropertyGroup, - ) -from bpy.props import ( - BoolProperty, - FloatProperty, - IntProperty, - StringProperty, - PointerProperty, - ) - - -# global properties for the script, mainly for UI -class LightFieldPropertyGroup(PropertyGroup): - angle: FloatProperty( - name="Angle", - # 40 degrees - default=0.69813170079, - min=0, - # 172 degrees - max=3.001966313430247, - precision=2, - subtype='ANGLE', - description="Field of view of camera and angle of beam for spotlights" - ) - row_length: IntProperty( - name="Row Length", - default=1, - min=1, - description="The number of cameras/lights in one row" - ) - create_handler: BoolProperty( - name="Handler", - default=True, - description="Creates an empty object, to which the cameras and spotlights are parented to" - ) - do_camera: BoolProperty( - name="Create Camera", - default=True, - description="A light field camera is created" - ) - animate_camera: BoolProperty( - name="Animate Camera", - default=True, - description="Animates a single camera, so not multiple cameras get created" - ) - do_projection: BoolProperty( - name="Create Projector", - default=False, - description="A light field projector is created" - ) - texture_path: StringProperty( - name="Texture Path", - description="From this path textures for the spotlights will be loaded", - subtype='DIR_PATH' - ) - light_intensity: FloatProperty( - name="Light Intensity", - default=2, - min=0, - precision=3, - description="Total intensity of all lamps" - ) - # blending of the spotlights - spot_blend: FloatProperty( - name="Blend", - default=0, - min=0, - max=1, - precision=3, - description="Blending of the spotlights" - ) - # spacing in pixels on the focal plane - spacing: IntProperty( - name="Spacing", - default=10, - min=0, - description="The spacing in pixels between two cameras on the focal plane" - ) - - -# Add-ons Preferences Update Panel - -# Define Panel classes for updating -panels = ( - light_field_tools.VIEW3D_PT_lightfield_tools, -) - - -def update_panel(self, context): - message = "Light Field Tools: Updating Panel locations has failed" - try: - for panel in panels: - if "bl_rna" in panel.__dict__: - bpy.utils.unregister_class(panel) - - for panel in panels: - panel.bl_category = context.preferences.addons[__name__].preferences.category - bpy.utils.register_class(panel) - - except Exception as e: - print("\n[{}]\n{}\n\nError:\n{}".format(__name__, message, e)) - pass - - -class LFTPreferences(AddonPreferences): - # this must match the addon name, use '__package__' - # when defining this in a submodule of a python package. - bl_idname = __name__ - - category: StringProperty( - name="Tab Category", - description="Choose a name for the category of the panel", - default="Tools", - update=update_panel - ) - - def draw(self, context): - layout = self.layout - - row = layout.row() - col = row.column() - col.label(text="Tab Category:") - col.prop(self, "category", text="") - - -def register(): - # register properties - # bpy.utils.register_class(LightFieldPropertyGroup) - bpy.utils.register_module(__name__) - bpy.types.Scene.lightfield = PointerProperty(type=LightFieldPropertyGroup) - - -def unregister(): - bpy.utils.unregister_module(__name__) - del bpy.types.Scene.lightfield - - -if __name__ == "__main__": - register() |