Skip to content
Snippets Groups Projects
Commit dc957fc3 authored by Bassam Kurdali's avatar Bassam Kurdali
Browse files

added group membership copying to object menu.

parent c9946e45
No related branches found
No related tags found
No related merge requests found
...@@ -21,9 +21,9 @@ ...@@ -21,9 +21,9 @@
bl_info = { bl_info = {
'name': 'Copy Attributes Menu', 'name': 'Copy Attributes Menu',
'author': 'Bassam Kurdali, Fabian Fricke, wiseman303', 'author': 'Bassam Kurdali, Fabian Fricke, wiseman303',
'version': (0, 4, 4), 'version': (0, 4, 6),
"blender": (2, 5, 7), "blender": (2, 6, 1),
"api": 36695, "api": 42846,
'location': 'View3D > Ctrl-C', 'location': 'View3D > Ctrl-C',
'description': 'Copy Attributes Menu from Blender 2.4', 'description': 'Copy Attributes Menu from Blender 2.4',
'wiki_url': 'http://wiki.blender.org/index.php/Extensions:2.5/Py/'\ 'wiki_url': 'http://wiki.blender.org/index.php/Extensions:2.5/Py/'\
...@@ -101,13 +101,7 @@ def getmat(bone, active, context, ignoreparent): ...@@ -101,13 +101,7 @@ def getmat(bone, active, context, ignoreparent):
context.active_object.pose.bones[data_bone.parent.name].matrix) context.active_object.pose.bones[data_bone.parent.name].matrix)
parentbonemat = Matrix(data_bone.parent.matrix_local) parentbonemat = Matrix(data_bone.parent.matrix_local)
else: else:
parentposemat = bonemat_local.copy() parentposemat = parentbonemat = Matrix()
parentbonemat = bonemat_local.copy()
# FIXME! why copy from the parent if setting identity ?, Campbell
parentposemat.identity()
parentbonemat.identity()
if parentbonemat == parentposemat or ignoreparent: if parentbonemat == parentposemat or ignoreparent:
newmat = bonemat_local.inverted() * otherloc newmat = bonemat_local.inverted() * otherloc
else: else:
...@@ -408,6 +402,12 @@ def obMod(ob, active, context): ...@@ -408,6 +402,12 @@ def obMod(ob, active, context):
return('INFO', "modifiers copied") return('INFO', "modifiers copied")
def obGrp(ob, active, context):
for grp in bpy.data.groups:
if active.name in grp.objects and ob.name not in grp.objects:
grp.objects.link(ob)
return('INFO', "groups copied")
def obWei(ob, active, context): def obWei(ob, active, context):
me_source = active.data me_source = active.data
me_target = ob.data me_target = ob.data
...@@ -453,18 +453,18 @@ def obWei(ob, active, context): ...@@ -453,18 +453,18 @@ def obWei(ob, active, context):
vgroupIndex_weight[i][1], "REPLACE") vgroupIndex_weight[i][1], "REPLACE")
return('INFO', "weights copied") return('INFO', "weights copied")
object_copies = (('obj_loc', "Location", object_copies = (#('obj_loc', "Location",
"Copy Location from Active to Selected", obLoc), #"Copy Location from Active to Selected", obLoc),
('obj_rot', "Rotation", #('obj_rot', "Rotation",
"Copy Rotation from Active to Selected", obRot), #"Copy Rotation from Active to Selected", obRot),
('obj_sca', "Scale", #('obj_sca', "Scale",
"Copy Scale from Active to Selected", obSca), #"Copy Scale from Active to Selected", obSca),
('obj_vis_loc', "Visual Location", ('obj_vis_loc', "Location",
"Copy Visual Location from Active to Selected", obVisLoc), "Copy Location from Active to Selected", obVisLoc),
('obj_vis_rot', "Visual Rotation", ('obj_vis_rot', "Rotation",
"Copy Visual Rotation from Active to Selected", obVisRot), "Copy Rotation from Active to Selected", obVisRot),
('obj_vis_sca', "Visual Scale", ('obj_vis_sca', "Scale",
"Copy Visual Scale from Active to Selected", obVisSca), "Copy Scale from Active to Selected", obVisSca),
('obj_drw', "Draw Options", ('obj_drw', "Draw Options",
"Copy Draw Options from Active to Selected", obDrw), "Copy Draw Options from Active to Selected", obDrw),
('obj_ofs', "Time Offset", ('obj_ofs', "Time Offset",
...@@ -500,8 +500,9 @@ object_copies = (('obj_loc', "Location", ...@@ -500,8 +500,9 @@ object_copies = (('obj_loc', "Location",
('obj_mod', "Modifiers", ('obj_mod', "Modifiers",
"Copy Modifiers from Active to Selected", obMod), "Copy Modifiers from Active to Selected", obMod),
('obj_wei', "Vertex Weights", ('obj_wei', "Vertex Weights",
"Copy vertex weights based on indices", obWei)) "Copy vertex weights based on indices", obWei),
('obj_grp', "Group Links",
"Copy selected into active object's groups", obGrp))
@classmethod @classmethod
def object_poll_func(cls, context): def object_poll_func(cls, context):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment