[Bf-extensions-cvs] [a8fe7f1] master: - improved UI, improved EqualizeScale*
Luca Carella
noreply at git.blender.org
Sat Jan 17 10:58:13 CET 2015
Commit: a8fe7f107112946f3d77824a856ae61a97e09aed
Author: Luca Carella
Date: Sat Jan 17 10:36:47 2015 +0100
Branches: master
https://developer.blender.org/rBACa8fe7f107112946f3d77824a856ae61a97e09aed
- improved UI, improved EqualizeScale*
*now it's possible to keep proportions of uv island during scale, and select which axis to lock.
===================================================================
M uv_align_distribute.py
===================================================================
diff --git a/uv_align_distribute.py b/uv_align_distribute.py
index cf7ff2c..7afb613 100644
--- a/uv_align_distribute.py
+++ b/uv_align_distribute.py
@@ -19,7 +19,7 @@
bl_info = {
"name": "UV Align/Distribute",
"author": "Rebellion (Luca Carella)",
- "version": (1, 2),
+ "version": (1, 3),
"blender": (2, 7, 3),
"location": "UV/Image editor > Tool Panel, UV/Image editor UVs > menu",
"description": "Set of tools to help UV alignment\distribution",
@@ -600,7 +600,17 @@ class EqualizeScale(OperatorTemplate):
bl_idname = "uv.equalize_scale"
bl_label = "Equalize Scale"
bl_options = {'REGISTER', 'UNDO'}
-
+
+ keepProportions = BoolProperty(
+ name="Keep Proportions",
+ description="Mantain proportions during scaling",
+ default=False)
+
+ useYaxis = BoolProperty(
+ name="Use Y axis",
+ description="Use y axis as scale reference, default is x",
+ default=False)
+
def execute(self, context):
makeIslands = MakeIslands()
islands = makeIslands.getIslands()
@@ -618,10 +628,23 @@ class EqualizeScale(OperatorTemplate):
size = islandSize(island)
scaleX = activeSize[0] / size[0]
scaleY = activeSize[1] / size[1]
+
+ if self.keepProportions:
+ if self.useYaxis:
+ scaleX = scaleY
+ else:
+ scaleY = scaleX
+
scaleIsland(island, scaleX, scaleY)
update()
return {"FINISHED"}
+
+ def draw(self,context):
+ layout = self.layout
+ layout.prop(self, "keepProportions")
+ if self.keepProportions:
+ layout.prop(self,"useYaxis")
############################
@@ -944,7 +967,11 @@ class MatchIsland(OperatorTemplate):
islands = makeIslands.getIslands()
selectedIslands = makeIslands.selectedIslands()
activeIsland = makeIslands.activeIsland()
-
+
+ if not activeIsland:
+ self.report({"ERROR"}, "No active face")
+ return {"CANCELLED"}
+
if len(selectedIslands) < 2:
return {'CANCELLED'}
@@ -984,17 +1011,17 @@ class IMAGE_PT_align_distribute(bpy.types.Panel):
box = layout.box()
row = box.row(True)
- row.operator("uv.align_left_margin", "Align Left")
- row.operator("uv.align_vertical_axis", "Align VAxis")
- row.operator("uv.align_right_margin", "Align Right")
+ row.operator("uv.align_left_margin", "Left")
+ row.operator("uv.align_vertical_axis", "VAxis")
+ row.operator("uv.align_right_margin", "Right")
row = box.row(True)
- row.operator("uv.align_top_margin", "Align Top")
- row.operator("uv.align_horizontal_axis", "Align HAxis")
- row.operator("uv.align_low_margin", "Align Low")
+ row.operator("uv.align_top_margin", "Top")
+ row.operator("uv.align_horizontal_axis", "HAxis")
+ row.operator("uv.align_low_margin", "Low")
row = layout.row()
- row.operator("uv.align_rotation", "Align rotation")
- row.operator("uv.equalize_scale", "Equalize scale")
+ row.operator("uv.align_rotation", "Rotation")
+ row.operator("uv.equalize_scale", "Eq. Scale")
layout.separator()
# Another Panel??
@@ -1003,22 +1030,22 @@ class IMAGE_PT_align_distribute(bpy.types.Panel):
box = layout.box()
row = box.row(True)
- row.operator("uv.distribute_ledges_horizontally", "Distribute LEdges")
+ row.operator("uv.distribute_ledges_horizontally", "LEdges")
row.operator("uv.distribute_center_horizontally",
- "Distribute HCenters")
+ "HCenters")
row.operator("uv.distribute_redges_horizontally",
- "Distribute RCenters")
+ "RCenters")
row = box.row(True)
- row.operator("uv.distribute_tedges_vertically", "Distribute TEdges")
- row.operator("uv.distribute_center_vertically", "Distribute VCenters")
- row.operator("uv.distribute_bedges_vertically", "Distribute BEdges")
+ row.operator("uv.distribute_tedges_vertically", "TEdges")
+ row.operator("uv.distribute_center_vertically", "VCenters")
+ row.operator("uv.distribute_bedges_vertically", "BEdges")
row = layout.row(True)
- row.operator("uv.equalize_horizontal_gap", "Equalize HGap")
- row.operator("uv.equalize_vertical_gap", "Equalize VGap")
+ row.operator("uv.equalize_horizontal_gap", "Eq. HGap")
+ row.operator("uv.equalize_vertical_gap", "Eq. VGap")
layout.separator()
layout.label("Others:")
More information about the Bf-extensions-cvs
mailing list