[Bf-extensions-cvs] [8514093] master: mesh edit tools: clean up vert align part1
meta-androcto
noreply at git.blender.org
Wed Apr 5 10:23:53 CEST 2017
Commit: 8514093bd5ee85c498b4bbd8ef8c4e4d7434e972
Author: meta-androcto
Date: Wed Apr 5 18:23:12 2017 +1000
Branches: master
https://developer.blender.org/rBA8514093bd5ee85c498b4bbd8ef8c4e4d7434e972
mesh edit tools: clean up vert align part1
===================================================================
M mesh_extra_tools/__init__.py
M mesh_extra_tools/vertex_align.py
===================================================================
diff --git a/mesh_extra_tools/__init__.py b/mesh_extra_tools/__init__.py
index 0aa86b3..096206e 100644
--- a/mesh_extra_tools/__init__.py
+++ b/mesh_extra_tools/__init__.py
@@ -33,7 +33,7 @@ bl_info = {
"tracker_url": "https://developer.blender.org/maniphest/task/edit/form/2/",
"category": "Mesh"}
-# NOTE: Temporarly disable Vertex align since is broken
+
# Import From Files
if "bpy" in locals():
import importlib
@@ -64,7 +64,7 @@ if "bpy" in locals():
importlib.reload(mesh_info_select)
importlib.reload(mesh_extrude_and_reshape)
importlib.reload(mesh_check)
- # importlib.reload(vertex_align)
+ importlib.reload(vertex_align)
else:
from . import face_inset_fillet
@@ -86,7 +86,7 @@ else:
from . import mesh_help
from . import mesh_extrude_and_reshape
from . import mesh_check
- # from . import vertex_align
+ from . import vertex_align
from .mesh_select_tools import mesh_select_by_direction
from .mesh_select_tools import mesh_select_by_edge_length
@@ -101,6 +101,7 @@ else:
import bpy
import bmesh
+from bpy.props import EnumProperty
from bpy.types import (
Menu,
Panel,
@@ -239,35 +240,22 @@ class EditToolsPanel(Panel):
row.operator("mesh.random_vertices", text="Random Vertices")
row.operator("mesh.extra_tools_help",
icon="LAYER_USED").help_ids = "random_vertices"
-
- # temporarly disable vertex_align since it is borked
- """
- cen0 = context.scene.va_custom_props.en0
+ # Vertex Align Properties And Menu
+ cen0 = context.scene.va_custom_props.en0 # get the properties list
layout = self.layout
-
layout.label(text="Vertex Align:", icon="VERTEXSEL")
- layout.prop(context.scene.va_custom_props, 'en0', expand = False)
-
- if cen0 == 'opt0':
+ layout.prop(context.scene.va_custom_props, 'en0', expand = False) # Draw the menu with 2 options
+ if cen0 == 'vertex':
row = layout.split(0.60)
row.label('Store data:')
- row.operator('va.op0_id', text = 'Vertex')
+ row.operator('va.op0_store_id', text = 'Vertex')
row1 = layout.split(0.8, align=True)
- row1.operator('va.op2_id', text = 'Align')
- row1.operator('va.op7_id', text = '', icon = "LAYER_USED")
- elif cen0 == 'opt1':
- layout.operator('va.op3_id', text = 'Align')
- elif cen0 == 'opt2':
- row = layout.split(0.40)
- row.label('Store data:')
- row.operator('va.op0_id', text = 'Two vertices')
- layout.operator('va.op5_id', text = 'Align')
- elif cen0 == 'opt3':
- row = layout.split(0.60)
- row.label('Store data:')
- row.operator('va.op1_id', text = 'Face')
- layout.operator('va.op6_id', text = 'Align')
- """
+ row1.operator('va.op2_align_id', text = 'Align to Axis')
+ row1.operator('va.op7_help_id', text = '', icon = "LAYER_USED")
+ elif cen0 == 'coordinates':
+ layout.operator('va.op3_coord_list_id', text = 'Align Coordinates')
+
+
# Edge options
box1 = self.layout.box()
col = box1.column(align=True)
@@ -399,26 +387,25 @@ class EditToolsPanel(Panel):
icons = load_icons()
tris = icons.get("triangles")
ngons = icons.get("ngons")
-
+
+
mesh_check = context.window_manager.mesh_check
-
+
layout.prop(mesh_check, "mesh_check_use")
-
+
if mesh_check.mesh_check_use:
layout = self.layout
row = layout.row()
- row.operator("object.face_type_select", text="Tris",
- icon_value=tris.icon_id).face_type = 'tris'
- row.operator("object.face_type_select", text="Ngons",
- icon_value=ngons.icon_id).face_type = 'ngons'
+ row.operator("object.face_type_select", text="Tris", icon_value=tris.icon_id).face_type = 'tris'
+ row.operator("object.face_type_select", text="Ngons",icon_value=ngons.icon_id).face_type = 'ngons'
row = layout.row()
row.prop(mesh_check, "display_faces", text="Display Faces")
if mesh_check.display_faces:
row = layout.row()
row.prop(mesh_check, "edge_width")
row = layout.row()
- row.prop(mesh_check, "custom_tri_color", text="Tris color")
+ row.prop(mesh_check, "custom_tri_color",text="Tris color" )
row = layout.row()
row.prop(mesh_check, "custom_ngons_color")
row = layout.row()
@@ -814,7 +801,7 @@ def register():
vfe_specials.register()
mesh_extrude_and_reshape.register()
mesh_check.register()
- # vertex_align.register()
+ vertex_align.register()
bpy.utils.register_module(__name__)
# Register Scene Properties
@@ -839,7 +826,7 @@ def unregister():
vfe_specials.unregister()
mesh_extrude_and_reshape.unregister()
mesh_check.unregister()
- # vertex_align.unregister()
+ vertex_align.unregister()
del bpy.types.Scene.mesh_extra_tools
del bpy.types.Object.tkkey
diff --git a/mesh_extra_tools/vertex_align.py b/mesh_extra_tools/vertex_align.py
index 04401ae..d0c17e9 100644
--- a/mesh_extra_tools/vertex_align.py
+++ b/mesh_extra_tools/vertex_align.py
@@ -34,9 +34,21 @@ bl_info = {
# ------ ------
import bpy
-from bpy.props import PointerProperty, EnumProperty, FloatProperty, BoolProperty
+from bpy.props import (
+ BoolProperty,
+ EnumProperty,
+ PointerProperty,
+ FloatProperty,
+ )
+
from mathutils import Vector
-from mathutils.geometry import intersect_point_line, intersect_line_plane
+from mathutils.geometry import (
+ intersect_point_line,
+ intersect_line_plane,
+ )
+from bpy.types import (
+ PropertyGroup,
+ )
# ------ Edit Mode Toggle------
def edit_mode_out():
@@ -49,22 +61,22 @@ def edit_mode_in():
def get_mesh_data_():
edit_mode_out()
ob_act = bpy.context.active_object
- me = ob_act.data
+ me = ob_act.data
edit_mode_in()
- return me
-
+ return me
+
def list_clear_(l):
l[:] = []
return l
# -- -- Prpoerty Group-- --
-class va_p_group0(bpy.types.PropertyGroup):
+class va_property_group(PropertyGroup):
+
+ en0 = EnumProperty( items =( ('vertex', 'Original vertex', ''),
+ ('coordinates', 'Custom coordinates', '')),
- en0 = EnumProperty( items =( ('opt0', 'Original vertex', ''),
- ('opt1', 'Custom coordinates', '')),
- ## REMOVED BROKEN ('opt2', 'Line', ''), ('opt3', 'Plane', '')),
name = 'Align to',
- default = 'opt0' )
+ default = 'vertex' )
en1 = EnumProperty( items =( ('en1_opt0', 'x', ''),
('en1_opt1', 'y', ''),
@@ -78,9 +90,9 @@ class va_buf():
list_f = []
list_0 = []
-# ------ operator 0 ------
-class va_op0(bpy.types.Operator):
- bl_idname = 'va.op0_id'
+# ------ operator 0 Store The Vert------
+class va_op0_store(bpy.types.Operator):
+ bl_idname = 'va.op0_store_id'
bl_label = ''
bl_description = "Store single vert as align point"
@@ -93,8 +105,8 @@ class va_op0(bpy.types.Operator):
bpy.ops.mesh.select_all(action = 'DESELECT')
return {'FINISHED'}
-# ------ operator 1 ------
-class va_op1(bpy.types.Operator):
+# ------ operator 1 Append to list------
+class va_op1_list(bpy.types.Operator):
bl_idname = 'va.op1_id'
bl_label = ''
bl_description = "test2"
@@ -109,8 +121,8 @@ class va_op1(bpy.types.Operator):
return {'FINISHED'}
# ------ operator 2 ------ align to original
-class va_op2(bpy.types.Operator):
- bl_idname = 'va.op2_id'
+class va_op2_align(bpy.types.Operator):
+ bl_idname = 'va.op2_align_id'
bl_label = 'Align to original'
bl_options = {'REGISTER', 'UNDO'}
bl_description = "Align selection to stored single vert"
@@ -154,10 +166,10 @@ class va_op2(bpy.types.Operator):
me.vertices[i].co = Vector(( v[0], v[1], vo[2] ))
edit_mode_in()
return {'FINISHED'}
-
+
# ------ operator 3 ------ align to custom coordinates
-class va_op3(bpy.types.Operator):
- bl_idname = 'va.op3_id'
+class va_op3_coord_list(bpy.types.Operator):
+ bl_idname = 'va.op3_coord_list_id'
bl_label = ''
bl_description = "Align to custom coordinates"
@@ -176,14 +188,19 @@ class va_op3(bpy.types.Operator):
edit_mode_in()
return {'FINISHED'}
-# ------ operator 4 ------ align to custom coordinates
-class va_op4(bpy.types.Operator):
+# ------ operator 4 ------ align to custom coordinates menu
+class va_op4_coord_menu(bpy.types.Operator):
bl_idname = 'va.op4_id'
bl_label = 'Align to custom coordinates'
bl_options = {'REGISTER', 'UNDO'}
bl_description = "Align to custom coordinates2"
-
- x = y = z = FloatProperty( name = '', default = 0.0, min = -100.0, max = 100.0, step = 1, precision = 3 )
+
+ x = y = z = FloatProperty( name = '',
+ default = 0.0,
+ min = -100.0,
+ max = 100.0,
+ step = 1,
+ precision = 3 )
b_x = b_y = b_z = BoolProperty()
def draw(self, context):
@@ -197,7 +214,7 @@ class va_op4(bpy.types.Operator):
row = layout.split(0.25)
row.prop(self, 'b_z', text = 'z')
row.prop(self, 'z')
-
+
def invoke(self, context, event):
return context.window_manager.invoke_props_dialog(self, width = 200)
@@ -205,7 +222,
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-extensions-cvs
mailing list