Skip to content

Commit

Permalink
misc fixes
Browse files Browse the repository at this point in the history
delete members
wireframe to affect shape (for cases when the geo is in a layer)
  • Loading branch information
ezequielmastrasso committed Mar 25, 2020
1 parent 5198b19 commit 38fabd0
Showing 1 changed file with 21 additions and 11 deletions.
32 changes: 21 additions & 11 deletions python/ldtmaya/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,6 @@ def delete_surfacing_project(project):
"""
if is_surfacing_project(project):
pm.delete(project.members())
pm.delete(project)


def get_surfacing_objects(project):
Expand Down Expand Up @@ -347,6 +346,13 @@ def add_mesh_transforms_to_surfacing_object(
pm.select()
if is_surfacing_object(surfacing_object):
for item in object_list:
# Disconnect the objects from other Surf proj and obj
for c in item.instObjGroups.listConnections(c=True, p=True):
if is_surfacing_object(c[1].node()) or is_surfacing_project(c[1].node()):
logger.info(
"disconnecting from Surf project or obj: %s" % c[1].node()
)
pm.disconnectAttr("%s"%c[0], "%s"%c[1])
for transform in get_mesh_transforms(item):
pm.select(transform)
add_member(surfacing_object, transform)
Expand Down Expand Up @@ -620,17 +626,19 @@ def set_wifreframe_color_black():
transforms = pm.ls(type="transform")
shape_transforms = get_mesh_transforms(transforms)
for mesh in shape_transforms:
mesh.overrideEnabled.set(1)
mesh.overrideRGBColors.set(0)
mesh.overrideColor.set(1)
mesh_shape = mesh.getShape()
mesh_shape.overrideEnabled.set(1)
mesh_shape.overrideRGBColors.set(0)
mesh_shape.overrideColor.set(1)


def set_wifreframe_color_none():
"""Remove the wireframe color in all mesh objects."""
transforms = pm.ls(type="transform")
shape_transforms = get_mesh_transforms(transforms)
for mesh in shape_transforms:
mesh.overrideEnabled.set(0)
mesh_shape = mesh.getShape()
mesh_shape.overrideEnabled.set(0)


def set_wireframe_colors_per_project():
Expand All @@ -649,10 +657,11 @@ def set_wireframe_colors_per_project():
wire_color = random.randint(1, 31)
for surfacingObject in get_surfacing_objects(project):
for mesh in surfacingObject.members():
mesh_shape = mesh.getShape()
try:
mesh.overrideEnabled.set(1)
mesh.overrideRGBColors.set(0)
mesh.overrideColor.set(wire_color)
mesh_shape.overrideEnabled.set(1)
mesh_shape.overrideRGBColors.set(0)
mesh_shape.overrideColor.set(wire_color)
except:
logger.error('Could not set override color for: %s, might '
'belong to a display layer'
Expand All @@ -675,10 +684,11 @@ def set_wireframe_colors_per_object():
for project in projects:
for surfacingObject in get_surfacing_objects(project):
for mesh in surfacingObject.members():
mesh_shape = mesh.getShape()
try:
mesh.overrideEnabled.set(1)
mesh.overrideRGBColors.set(1)
mesh.overrideColorRGB.set(
mesh_shape.overrideEnabled.set(1)
mesh_shape.overrideRGBColors.set(1)
mesh_shape.overrideColorRGB.set(
ldtutils.get_random_color(surfacingObject)
)
except:
Expand Down

0 comments on commit 38fabd0

Please sign in to comment.