Skip to content

Solver UI - Adding Attributes with Connections Should Print Warning #199

@david-cattermole

Description

@david-cattermole

Problem

Attributes that have incoming connections are considered to be "locked" (uneditable) by the solver.

This could be slightly confusing to new users, and a warning message might be helpful.

Following on from #183, rigs with Character Sets will not solve in mmSolver and rather than just erroring at Solve time, it would be helpful to inform the artist and let them know of workarounds.

If this is to be implemented, it can be added to the Attributes "Add" button, for example here:
https://github.com/ktonegawa/mayaMatchMoveSolver/blob/f4e58de6b7ca7be50d2dbf1629483791ca0f0877/python/mmSolver/tools/solver/widget/attribute_widget.py#L298-L342

Expected behavior:
When a user selects a rig control attribute with an input connection, and tries to add it to the Solver UI Output Attributes, print a warning to tell the user that the attribute will not be used.

Actual behavior:
When a rig control that is connected to (for example) a Character Set is added to the UI, the Solver UI will error like so:

# Traceback (most recent call last):
#   File "C:\Users\Desktop02\Documents\maya\2019\modules\mayaMatchMoveSolver-0.3.11-maya2019-win64\python\mmSolver\tools\solver\widget\attribute_widget.py", line 331, in addClicked
#     lib_attr.add_attributes_to_collection(attr_list, col)
#   File "C:\Users\Desktop02\Documents\maya\2019\modules\mayaMatchMoveSolver-0.3.11-maya2019-win64\python\mmSolver\tools\solver\lib\attr.py", line 57, in add_attributes_to_collection
#     return col.add_attribute_list(attr_list)
#   File "C:\Users\Desktop02\Documents\maya\2019\modules\mayaMatchMoveSolver-0.3.11-maya2019-win64\python\mmSolver\_api\collection.py", line 627, in add_attribute_list
#     self._set.add_members(name_list)
#   File "C:\Users\Desktop02\Documents\maya\2019\modules\mayaMatchMoveSolver-0.3.11-maya2019-win64\python\mmSolver\_api\sethelper.py", line 121, in add_members
#     maya.cmds.sets(*name_list, edit=True, include=set_node, noWarnings=True)
# RuntimeError: Error while parsing arguments.
# 

Software Versions

  • mmSolver version: v0.3.x and v0.4.x
  • Maya version: All supported
  • Operating System (OS): All supported.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions