david-cattermole / mayaMatchMoveSolver

A Bundle Adjustment solver for MatchMove related tasks.
https://david-cattermole.github.io/mayaMatchMoveSolver/
Other
101 stars 29 forks source link

Solver UI - Attributes connected to Character Sets Should Print an Error #198

Closed david-cattermole closed 3 years ago

david-cattermole commented 3 years ago

Problem

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 select a rig control connected to a Character Set, and tries to add it to the Solver UI Output Attributes, print an error to tell the user to use a dummy locator to control the attribute.

Actual behavior: When a rig control that is connected to 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

david-cattermole commented 3 years ago

This issue has been superseded by #199 which is almost the same as this issue, but describes the problem better.