Now edit MultiMesh support rotation scale location, and code cleanup

This commit is contained in:
Eugenio Pignataro 2017-12-14 10:23:03 -03:00
parent 36190021e9
commit 512687f54e
2 changed files with 8 additions and 8 deletions

View File

@ -205,11 +205,11 @@ class OscPanelMesh(Panel):
colrow = col.row(align=1)
colrow.operator("lattice.mirror_selected", icon="LATTICE_DATA")
colrow = col.row(align=1)
colrow.label(text="Multimesh")
colrow.label(text="Edit Multimesh")
colrow.prop_search(scene, "multimeshedit", bpy.data, "groups", text="")
colrow = col.row(align=1)
colrow.operator("mesh.create_edit_multimesh", icon="IMPORT")
colrow.operator("mesh.apply_edit_multimesh", icon="EXPORT")
colrow.operator("mesh.create_edit_multimesh", icon="IMPORT", text= "StartEdit")
colrow.operator("mesh.apply_edit_multimesh", icon="EXPORT", text="FinishEdit")
class OscPanelShapes(Panel):
bl_idname = "Oscurart Shapes Tools"

View File

@ -660,11 +660,10 @@ class createEditMultimesh(Operator):
vertlist = []
polylist = []
for ob in temp:
objectMatrix = ob[0].matrix_world.copy()
for vert in ob[0].data.vertices:
#print(vert.co[:])
vertlist.append(vert.co+ob[0].location)
for poly in ob[0].data.polygons:
#print(poly.vertices[:])
vertlist.append(objectMatrix*vert.co)
for poly in ob[0].data.polygons:
polylist.append(tuple([vert+vi for vert in poly.vertices[:]]))
relvert[ob[0]] = {vert.index:vert.index+vi for vert in ob[0].data.vertices}
vi += len(ob[0].data.vertices)
@ -688,8 +687,9 @@ class ApplyEditMultimesh(Operator):
def execute(self,context):
bpy.ops.object.mode_set(mode='OBJECT', toggle=False)
for object,rv in relvert.items():
objectMatrix = object.matrix_world.inverted().copy()
for source, target in rv.items():
object.data.vertices[source].co = me.vertices[target].co-object.location
object.data.vertices[source].co = objectMatrix * me.vertices[target].co
object.hide = 0
bpy.context.scene.objects.unlink(ob)
return {'FINISHED'}