diff options
author | meta-androcto <meta.androcto1@gmail.com> | 2019-05-22 02:22:10 +0300 |
---|---|---|
committer | meta-androcto <meta.androcto1@gmail.com> | 2019-05-22 02:22:10 +0300 |
commit | a953af8c9e3ab7ee3fa2fec171a525f5f9b6cedd (patch) | |
tree | 5fcefca96909b7d4636842348b4d3e32b8d7b021 /btrace/bTrace_props.py | |
parent | 07ec645862275ffe2d60e2d6481080aa0ae8b1f0 (diff) |
btrace: initial update for 2.8
Diffstat (limited to 'btrace/bTrace_props.py')
-rw-r--r-- | btrace/bTrace_props.py | 391 |
1 files changed, 4 insertions, 387 deletions
diff --git a/btrace/bTrace_props.py b/btrace/bTrace_props.py index 3f0fed74..4476e0f6 100644 --- a/btrace/bTrace_props.py +++ b/btrace/bTrace_props.py @@ -537,7 +537,7 @@ class TracerProperties(PropertyGroup): # Toolbar show/hide booleans for tool options btrace_menu_items = [ - ('tool_help', "Help", + ('tool_help', "Choose Tool", "Pick one of the options below", "INFO", 0), ('tool_objectTrace', "Object Trace", "Trace selected mesh object with a curve", "FORCE_MAGNETIC", 1), @@ -545,8 +545,8 @@ class TracerProperties(PropertyGroup): "Connect objects with a curve controlled by hooks", "OUTLINER_OB_EMPTY", 2), ('tool_meshFollow', "Mesh Follow", "Follow selection items on animated mesh object", "DRIVER", 3), - ('tool_handwrite', "Handwriting", - "Create and Animate curve using the grease pencil", "BRUSH_DATA", 4), + # ('tool_handwrite', "Handwriting", + # "Create and Animate curve using the grease pencil", "BRUSH_DATA", 4), ('tool_particleTrace', "Particle Trace", "Trace particle path with a curve", "PARTICLES", 5), ('tool_particleConnect', "Particle Connect", @@ -558,6 +558,7 @@ class TracerProperties(PropertyGroup): ('tool_colorblender', "Color Blender", "Pick the color of the created curves", "COLOR", 9), ] + btrace_toolmenu: EnumProperty( name="Tools", items=btrace_menu_items, @@ -566,387 +567,3 @@ class TracerProperties(PropertyGroup): ) -# Draw Brush panel in Toolbar -class addTracerObjectPanel(Panel): - bl_idname = "BTRACE_PT_object_brush" - bl_label = "Btrace" - bl_space_type = "VIEW_3D" - bl_region_type = "TOOLS" - bl_context = "objectmode" - bl_category = "Create" - bl_options = {'DEFAULT_CLOSED'} - - def draw(self, context): - layout = self.layout - Btrace = context.window_manager.curve_tracer - addon_prefs = context.preferences.addons["btrace"].preferences - switch_expand = addon_prefs.expand_enum - obj = context.object - - # Color Blender Panel options - def color_blender(): - # Buttons for Color Blender - row = box.row() - row.label(text="Color palette") - row.prop(Btrace, "mmColors", text="") - - # Show Custom Colors if selected - if Btrace.mmColors == 'CUSTOM': - row = box.row(align=True) - for i in range(1, 9): - row.prop(Btrace, "mmColor" + str(i), text="") - # Show Earth Colors - elif Btrace.mmColors == 'BW': - row = box.row(align=True) - row.prop(Btrace, "bwColor1", text="") - row.prop(Btrace, "bwColor2", text="") - # Show Earth Colors - elif Btrace.mmColors == 'BRIGHT': - row = box.row(align=True) - for i in range(1, 5): - row.prop(Btrace, "brightColor" + str(i), text="") - # Show Earth Colors - elif Btrace.mmColors == 'EARTH': - row = box.row(align=True) - for i in range(1, 6): - row.prop(Btrace, "earthColor" + str(i), text="") - # Show Earth Colors - elif Btrace.mmColors == 'GREENBLUE': - row = box.row(align=True) - for i in range(1, 4): - row.prop(Btrace, "greenblueColor" + str(i), text="") - elif Btrace.mmColors == 'RANDOM': - row = box.row() - - # Curve noise settings - def curve_noise(): - row = box.row() - row.label(text="F-Curve Noise", icon='RNDCURVE') - row = box.row(align=True) - row.prop(Btrace, "fcnoise_rot", toggle=True) - row.prop(Btrace, "fcnoise_loc", toggle=True) - row.prop(Btrace, "fcnoise_scale", toggle=True) - - col = box.column(align=True) - col.prop(Btrace, "fcnoise_amp") - col.prop(Btrace, "fcnoise_timescale") - box.prop(Btrace, "fcnoise_key") - - # Curve Panel options - def curve_settings(): - # Button for curve options - row = self.layout.row() - row = box.row(align=True) - - row.prop(Btrace, "show_curve_settings", - icon='CURVE_BEZCURVE', text="Curve Settings") - row.prop(Btrace, "material_settings", - icon='MATERIAL_DATA', text="Material Settings") - - if Btrace.material_settings: - row = box.row() - row.label(text="Material Settings", icon='COLOR') - row = box.row() - row.prop(Btrace, "trace_mat_random") - if not Btrace.trace_mat_random: - row = box.row() - row.prop(Btrace, "trace_mat_color", text="") - else: - row.prop(Btrace, "mat_run_color_blender") - if Btrace.mat_run_color_blender: - row = box.row() - row.operator("object.colorblenderclear", - text="Reset Material Keyframes", - icon="KEY_DEHLT") - row.prop(Btrace, "mmSkip", text="Keyframe every") - color_blender() - row = box.row() - - if Btrace.show_curve_settings: - # selected curve options - if len(context.selected_objects) > 0 and obj.type == 'CURVE': - col = box.column(align=True) - col.label(text="Edit Curves for:", icon='IPO_BEZIER') - col.separator() - col.label(text="Selected Curve Bevel Options") - row = col.row(align=True) - row.prop(obj.data, "bevel_depth", text="Depth") - row.prop(obj.data, "bevel_resolution", text="Resolution") - row = col.row(align=True) - row.prop(obj.data, "resolution_u") - else: # For new curve - box.label(text="New Curve Settings", icon='CURVE_BEZCURVE') - box.prop(Btrace, "curve_spline") - box.prop(Btrace, "curve_handle") - box.label(text="Bevel Options") - col = box.column(align=True) - row = col.row(align=True) - row.prop(Btrace, "curve_depth", text="Depth") - row.prop(Btrace, "curve_resolution", text="Resolution") - row = col.row(align=True) - row.prop(Btrace, "curve_u") - - # Grow Animation Panel options - def add_grow(): - # Button for grow animation option - row = box.row() - row.label(text="Animate Final Curve", icon="SPACE2") - row = box.row() - row.prop(Btrace, "animate", text="Add Grow Curve Animation", icon="META_BALL") - box.separator() - if Btrace.animate: - box.label(text="Frame Animation Settings:", icon="META_BALL") - col = box.column(align=True) - col.prop(Btrace, "anim_auto") - if not Btrace.anim_auto: - row = col.row(align=True) - row.prop(Btrace, "anim_f_start") - row.prop(Btrace, "anim_length") - row = col.row(align=True) - row.prop(Btrace, "anim_delay") - row.prop(Btrace, "anim_f_fade") - - box.label(text="Additional Settings") - row = box.row() - row.prop(Btrace, "anim_tails") - row.prop(Btrace, "anim_keepr") - - # Start Btrace Panel - if switch_expand == 'list': - layout.label(text="Available Tools:", icon="COLLAPSEMENU") - col = layout.column(align=True) - col.prop(Btrace, "btrace_toolmenu", text="") - elif switch_expand == 'col': - col = layout.column(align=True) - col.prop(Btrace, "btrace_toolmenu", expand=True) - elif switch_expand == 'row': - row = layout.row(align=True) - row.alignment = 'CENTER' - row.prop(Btrace, "btrace_toolmenu", text="", expand=True) - - # Start Object Tools - sel = context.selected_objects - - # Default option (can be expanded into help) - if Btrace.btrace_toolmenu == 'tool_help': - row = layout.row() - row.label(text="Pick an option", icon="HELP") - - # Object Trace - elif Btrace.btrace_toolmenu == 'tool_objectTrace': - row = layout.row() - row.label(text=" Trace Tool:", icon="FORCE_CURVE") - box = self.layout.box() - row = box.row() - row.label(text="Object Trace", icon="FORCE_MAGNETIC") - row.operator("object.btobjecttrace", text="Run!", icon="PLAY") - row = box.row() - row.prop(Btrace, "settings_toggle", icon="MODIFIER", text="Settings") - myselected = "Selected %d" % len(context.selected_objects) - row.label(text=myselected) - if Btrace.settings_toggle: - box.label(text="Edge Type for Curves:", icon="IPO_CONSTANT") - row = box.row(align=True) - row.prop(Btrace, "convert_edgetype", text="") - box.prop(Btrace, "object_duplicate") - if len(sel) > 1: - box.prop(Btrace, "convert_joinbefore") - else: - Btrace.convert_joinbefore = False - row = box.row() - row.prop(Btrace, "distort_curve") - if Btrace.distort_curve: - col = box.column(align=True) - col.prop(Btrace, "distort_modscale") - col.prop(Btrace, "distort_noise") - row = box.row() - curve_settings() # Show Curve/material settings - add_grow() # Grow settings here - - # Objects Connect - elif Btrace.btrace_toolmenu == 'tool_objectsConnect': - row = layout.row() - row.label(text=" Trace Tool:", icon="FORCE_CURVE") - box = self.layout.box() - row = box.row() - row.label(text="Objects Connect", icon="OUTLINER_OB_EMPTY") - row.operator("object.btobjectsconnect", text="Run!", icon="PLAY") - row = box.row() - row.prop(Btrace, "settings_toggle", icon='MODIFIER', text='Settings') - row.label(text="") - if Btrace.settings_toggle: - row = box.row() - row.prop(Btrace, "respect_order", text="Selection Options") - if Btrace.respect_order: - box.operator("object.select_order", - text="Click to start order selection", - icon='UV_SYNC_SELECT') - row = box.row() - row.prop(Btrace, "connect_noise", text="Add F-Curve Noise") - if Btrace.connect_noise: - curve_noise() # Show Curve Noise settings - - curve_settings() # Show Curve/material settings - add_grow() # Grow settings here - - # Mesh Follow - elif Btrace.btrace_toolmenu == 'tool_meshFollow': - row = layout.row() - row.label(text=" Trace Tool:", icon="FORCE_CURVE") - box = self.layout.box() - row = box.row() - row.label(text="Mesh Follow", icon="DRIVER") - row.operator("object.btmeshfollow", text="Run!", icon="PLAY") - row = box.row() - if Btrace.fol_mesh_type == 'OBJECT': - a, b = "Trace Object", "SNAP_VOLUME" - if Btrace.fol_mesh_type == 'VERTS': - a, b = "Trace Verts", "SNAP_VERTEX" - if Btrace.fol_mesh_type == 'EDGES': - a, b = "Trace Edges", "SNAP_EDGE" - if Btrace.fol_mesh_type == 'FACES': - a, b = "Trace Faces", "SNAP_FACE" - row.prop(Btrace, "settings_toggle", icon='MODIFIER', text='Settings') - row.label(text=a, icon=b) - if Btrace.settings_toggle: - col = box.column(align=True) - row = col.row(align=True) - row.prop(Btrace, "fol_mesh_type", expand=True) - row = col.row(align=True) - if Btrace.fol_mesh_type != 'OBJECT': - row.prop(Btrace, "fol_sel_option", expand=True) - row = box.row() - if Btrace.fol_sel_option == 'RANDOM': - row.label(text="Random Select of Total") - row.prop(Btrace, "fol_perc_verts", text="%") - if Btrace.fol_sel_option == 'CUSTOM': - row.label(text="Choose selection in Edit Mode") - if Btrace.fol_sel_option == 'ALL': - row.label(text="Select All items") - col = box.column(align=True) - col.label(text="Time Options", icon="TIME") - col.prop(Btrace, "particle_step") - row = col.row(align=True) - row.prop(Btrace, "fol_start_frame") - row.prop(Btrace, "fol_end_frame") - curve_settings() # Show Curve/material settings - add_grow() # Grow settings here - - # Handwriting Tools - elif Btrace.btrace_toolmenu == 'tool_handwrite': - row = layout.row() - row.label(text=" Trace Tool:", icon="FORCE_CURVE") - box = self.layout.box() - row = box.row() - row.label(text='Handwriting', icon='BRUSH_DATA') - row.operator("curve.btwriting", text="Run!", icon='PLAY') - row = box.row() - row = box.row() - row.label(text='Grease Pencil Writing Tools') - col = box.column(align=True) - row = col.row(align=True) - row.operator("gpencil.draw", text="Draw", icon='BRUSH_DATA').mode = 'DRAW' - row.operator("gpencil.draw", text="Poly", icon='VPAINT_HLT').mode = 'DRAW_POLY' - row = col.row(align=True) - row.operator("gpencil.draw", text="Line", icon='ZOOMOUT').mode = 'DRAW_STRAIGHT' - row.operator("gpencil.draw", text="Erase", icon='TPAINT_HLT').mode = 'ERASER' - row = box.row() - row.operator("gpencil.data_unlink", text="Delete Grease Pencil Layer", icon="CANCEL") - row = box.row() - curve_settings() # Show Curve/material settings - add_grow() # Grow settings here - - # Particle Trace - elif Btrace.btrace_toolmenu == 'tool_particleTrace': - row = layout.row() - row.label(text=" Trace Tool:", icon="FORCE_CURVE") - box = self.layout.box() - row = box.row() - row.label(text="Particle Trace", icon="PARTICLES") - row.operator("particles.particletrace", text="Run!", icon="PLAY") - row = box.row() - row.prop(Btrace, "settings_toggle", icon='MODIFIER', text='Settings') - row.label(text="") - if Btrace.settings_toggle: - box.prop(Btrace, "particle_step") - row = box.row() - row.prop(Btrace, "curve_join") - curve_settings() # Show Curve/material settings - add_grow() # Grow settings here - - # Connect Particles - elif Btrace.btrace_toolmenu == 'tool_particleConnect': - row = layout.row() - row.label(text=" Trace Tool:", icon="FORCE_CURVE") - box = self.layout.box() - row = box.row() - row.label(text='Particle Connect', icon='MOD_PARTICLES') - row.operator("particles.connect", icon="PLAY", text='Run!') - row = box.row() - row.prop(Btrace, "settings_toggle", icon='MODIFIER', text='Settings') - row.label(text="") - if Btrace.settings_toggle: - box.prop(Btrace, "particle_step") - row = box.row() - row.prop(Btrace, 'particle_auto') - if not Btrace.particle_auto: - row = box.row(align=True) - row.prop(Btrace, 'particle_f_start') - row.prop(Btrace, 'particle_f_end') - curve_settings() # Show Curve/material settings - add_grow() # Grow settings here - - # Grow Animation - elif Btrace.btrace_toolmenu == 'tool_growCurve': - row = layout.row() - row.label(text=" Curve Tool:", icon="OUTLINER_OB_CURVE") - box = self.layout.box() - row = box.row() - row.label(text="Grow Curve", icon="META_BALL") - row.operator("curve.btgrow", text="Run!", icon="PLAY") - row = box.row() - row.prop(Btrace, "settings_toggle", icon="MODIFIER", text="Settings") - row.operator("object.btreset", icon="KEY_DEHLT") - if Btrace.settings_toggle: - box.label(text="Frame Animation Settings:") - col = box.column(align=True) - col.prop(Btrace, "anim_auto") - if not Btrace.anim_auto: - row = col.row(align=True) - row.prop(Btrace, "anim_f_start") - row.prop(Btrace, "anim_length") - row = col.row(align=True) - row.prop(Btrace, "anim_delay") - row.prop(Btrace, "anim_f_fade") - - box.label(text="Additional Settings") - row = box.row() - row.prop(Btrace, "anim_tails") - row.prop(Btrace, "anim_keepr") - - # F-Curve Noise Curve - elif Btrace.btrace_toolmenu == 'tool_fcurve': - row = layout.row() - row.label(text=" Curve Tool:", icon="OUTLINER_OB_CURVE") - box = self.layout.box() - row = box.row() - row.label(text="F-Curve Noise", icon='RNDCURVE') - row.operator("object.btfcnoise", icon='PLAY', text="Run!") - row = box.row() - row.prop(Btrace, "settings_toggle", icon='MODIFIER', text='Settings') - row.operator("object.btreset", icon='KEY_DEHLT') - if Btrace.settings_toggle: - curve_noise() - - # Color Blender - elif Btrace.btrace_toolmenu == 'tool_colorblender': - row = layout.row() - row.label(text=" Curve/Object Tool:", icon="OUTLINER_OB_CURVE") - box = self.layout.box() - row = box.row() - row.label(text="Color Blender", icon="COLOR") - row.operator("object.colorblender", icon='PLAY', text="Run!") - row = box.row() - row.operator("object.colorblenderclear", text="Reset Keyframes", icon="KEY_DEHLT") - row.prop(Btrace, "mmSkip", text="Keyframe every") - color_blender() |