diff options
| author | MobileMachine\jeremy <[email protected]> | 2017-06-06 22:59:03 -0400 |
|---|---|---|
| committer | MobileMachine\jeremy <[email protected]> | 2017-06-06 22:59:03 -0400 |
| commit | 24725fa8681f906ab44d80687c09fecc171a2896 (patch) | |
| tree | 312a601df29aca7f8db9f44082d96ebc7a679138 /Documentation/build/_modules/Interfaces/ART_AddOrRemoveInfluences.html | |
| parent | Initial commit (diff) | |
| download | artv2-24725fa8681f906ab44d80687c09fecc171a2896.tar.xz artv2-24725fa8681f906ab44d80687c09fecc171a2896.zip | |
Initial Submission
First submission of current state of ARTv2. Currently considered to be in Alpha. There are a couple of animation tools not implemented yet, and one module not implemented yet, as well as incomplete documentation.
Diffstat (limited to 'Documentation/build/_modules/Interfaces/ART_AddOrRemoveInfluences.html')
| -rw-r--r-- | Documentation/build/_modules/Interfaces/ART_AddOrRemoveInfluences.html | 457 |
1 files changed, 457 insertions, 0 deletions
diff --git a/Documentation/build/_modules/Interfaces/ART_AddOrRemoveInfluences.html b/Documentation/build/_modules/Interfaces/ART_AddOrRemoveInfluences.html new file mode 100644 index 0000000..6d37e65 --- /dev/null +++ b/Documentation/build/_modules/Interfaces/ART_AddOrRemoveInfluences.html @@ -0,0 +1,457 @@ + + +<!doctype html> + + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + + <title>Interfaces.ART_AddOrRemoveInfluences — ARTv2 1.0 documentation</title> + + <link rel="stylesheet" href="../../_static/bizstyle.css" type="text/css" /> + <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> + + <script type="text/javascript"> + var DOCUMENTATION_OPTIONS = { + URL_ROOT: '../../', + VERSION: '1.0', + COLLAPSE_INDEX: false, + FILE_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '.txt' + }; + </script> + <script type="text/javascript" src="../../_static/jquery.js"></script> + <script type="text/javascript" src="../../_static/underscore.js"></script> + <script type="text/javascript" src="../../_static/doctools.js"></script> + <script type="text/javascript" src="../../_static/bizstyle.js"></script> + <link rel="index" title="Index" href="../../genindex.html" /> + <link rel="search" title="Search" href="../../search.html" /> + <meta name="viewport" content="width=device-width,initial-scale=1.0"> + <!--[if lt IE 9]> + <script type="text/javascript" src="_static/css3-mediaqueries.js"></script> + <![endif]--> + </head> + <body role="document"> + <div class="related" role="navigation" aria-label="related navigation"> + <h3>Navigation</h3> + <ul> + <li class="right" style="margin-right: 10px"> + <a href="../../genindex.html" title="General Index" + accesskey="I">index</a></li> + <li class="right" > + <a href="../../py-modindex.html" title="Python Module Index" + >modules</a> |</li> + <li class="nav-item nav-item-0"><a href="../../index.html">ARTv2 1.0 documentation</a> »</li> + <li class="nav-item nav-item-1"><a href="../index.html" accesskey="U">Module code</a> »</li> + </ul> + </div> + <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> + <div class="sphinxsidebarwrapper"> +<div id="searchbox" style="display: none" role="search"> + <h3>Quick search</h3> + <form class="search" action="../../search.html" method="get"> + <div><input type="text" name="q" /></div> + <div><input type="submit" value="Go" /></div> + <input type="hidden" name="check_keywords" value="yes" /> + <input type="hidden" name="area" value="default" /> + </form> +</div> +<script type="text/javascript">$('#searchbox').show(0);</script> + </div> + </div> + + <div class="document"> + <div class="documentwrapper"> + <div class="bodywrapper"> + <div class="body" role="main"> + + <h1>Source code for Interfaces.ART_AddOrRemoveInfluences</h1><div class="highlight"><pre> +<span></span><span class="sd">"""</span> +<span class="sd">Author: Jeremy Ernst</span> +<span class="sd">"""</span> + +<span class="kn">from</span> <span class="nn">functools</span> <span class="k">import</span> <span class="n">partial</span> + +<span class="kn">import</span> <span class="nn">maya.cmds</span> <span class="k">as</span> <span class="nn">cmds</span> +<span class="kn">import</span> <span class="nn">maya.mel</span> <span class="k">as</span> <span class="nn">mel</span> + +<span class="kn">import</span> <span class="nn">System.riggingUtils</span> <span class="k">as</span> <span class="nn">riggingUtils</span> +<span class="kn">import</span> <span class="nn">System.utils</span> <span class="k">as</span> <span class="nn">utils</span> +<span class="kn">from</span> <span class="nn">ThirdParty.Qt</span> <span class="k">import</span> <span class="n">QtGui</span><span class="p">,</span> <span class="n">QtCore</span><span class="p">,</span> <span class="n">QtWidgets</span> + + +<div class="viewcode-block" id="ART_AddOrRemoveInfluences"><a class="viewcode-back" href="../../addRemoveInfs.html#Interfaces.ART_AddOrRemoveInfluences.ART_AddOrRemoveInfluences">[docs]</a><span class="k">class</span> <span class="nc">ART_AddOrRemoveInfluences</span><span class="p">():</span> + <span class="sd">"""</span> +<span class="sd"> This class is used to list influences in or out of the current skinCluster, and then remove or add said</span> +<span class="sd"> influences given current selection.</span> + +<span class="sd"> It is called from this button, found after finalizing your setup:</span> +<span class="sd"> .. image:: /images/addRemoveInfsButton.png</span> + +<span class="sd"> This is what the full interface looks like:</span> +<span class="sd"> .. image:: /images/addRemoveInfs.png</span> + +<span class="sd"> """</span> + +<div class="viewcode-block" id="ART_AddOrRemoveInfluences.__init__"><a class="viewcode-back" href="../../addRemoveInfs.html#Interfaces.ART_AddOrRemoveInfluences.ART_AddOrRemoveInfluences.__init__">[docs]</a> <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">mainUI</span><span class="p">):</span> + <span class="sd">"""</span> +<span class="sd"> Instantiates the class, taking in the instance of the rig creator skin tools interface. Get settings values</span> +<span class="sd"> from QSettings. Build the interface.</span> + +<span class="sd"> :param mainUI: Instance of the skin tools interface.</span> + +<span class="sd"> """</span> + + <span class="c1"># get the directory path of the tools</span> + <span class="n">settings</span> <span class="o">=</span> <span class="n">QtCore</span><span class="o">.</span><span class="n">QSettings</span><span class="p">(</span><span class="s2">"Epic Games"</span><span class="p">,</span> <span class="s2">"ARTv2"</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">toolsPath</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">value</span><span class="p">(</span><span class="s2">"toolsPath"</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">iconsPath</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">value</span><span class="p">(</span><span class="s2">"iconPath"</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">mainUI</span> <span class="o">=</span> <span class="n">mainUI</span> + + <span class="c1"># build the UI</span> + <span class="bp">self</span><span class="o">.</span><span class="n">buildInterface</span><span class="p">()</span></div> + + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> +<div class="viewcode-block" id="ART_AddOrRemoveInfluences.buildInterface"><a class="viewcode-back" href="../../addRemoveInfs.html#Interfaces.ART_AddOrRemoveInfluences.ART_AddOrRemoveInfluences.buildInterface">[docs]</a> <span class="k">def</span> <span class="nf">buildInterface</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="sd">"""</span> +<span class="sd"> Builds the interface for the tool, finding all joints that compose the asset, comparing them to joints in the</span> +<span class="sd"> skinCluster, then separating the initial list into joints in the cluster, and joints not in the cluster.</span> + +<span class="sd"> """</span> + + <span class="k">if</span> <span class="n">cmds</span><span class="o">.</span><span class="n">window</span><span class="p">(</span><span class="s2">"ART_addRemoveInfsWin"</span><span class="p">,</span> <span class="n">exists</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span> + <span class="n">cmds</span><span class="o">.</span><span class="n">deleteUI</span><span class="p">(</span><span class="s2">"ART_addRemoveInfsWin"</span><span class="p">,</span> <span class="n">wnd</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> + + <span class="c1"># launch a UI to get the name information</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QMainWindow</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">mainUI</span><span class="p">)</span> + + <span class="c1"># size policies</span> + <span class="n">mainSizePolicy</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QSizePolicy</span><span class="p">(</span><span class="n">QtWidgets</span><span class="o">.</span><span class="n">QSizePolicy</span><span class="o">.</span><span class="n">Fixed</span><span class="p">,</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QSizePolicy</span><span class="o">.</span><span class="n">Fixed</span><span class="p">)</span> + + <span class="c1"># create the main widget</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_mainWidget</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QWidget</span><span class="p">()</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin</span><span class="o">.</span><span class="n">setCentralWidget</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_mainWidget</span><span class="p">)</span> + + <span class="c1"># load stylesheet</span> + <span class="n">styleSheetFile</span> <span class="o">=</span> <span class="n">utils</span><span class="o">.</span><span class="n">returnNicePath</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">toolsPath</span><span class="p">,</span> <span class="s2">"Core/Scripts/Interfaces/StyleSheets/mainScheme.qss"</span><span class="p">)</span> + <span class="n">f</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">styleSheetFile</span><span class="p">,</span> <span class="s2">"r"</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">style</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">read</span><span class="p">()</span> + <span class="n">f</span><span class="o">.</span><span class="n">close</span><span class="p">()</span> + + <span class="c1"># set qt object name</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin</span><span class="o">.</span><span class="n">setObjectName</span><span class="p">(</span><span class="s2">"ART_addRemoveInfsWin"</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin</span><span class="o">.</span><span class="n">setWindowTitle</span><span class="p">(</span><span class="s2">"Add/Remove Influences"</span><span class="p">)</span> + + <span class="c1"># create the mainLayout for the ui</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_mainLayout</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QVBoxLayout</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_mainWidget</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_mainLayout</span><span class="o">.</span><span class="n">setContentsMargins</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">5</span><span class="p">)</span> + + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin</span><span class="o">.</span><span class="n">resize</span><span class="p">(</span><span class="mi">300</span><span class="p">,</span> <span class="mi">450</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin</span><span class="o">.</span><span class="n">setSizePolicy</span><span class="p">(</span><span class="n">mainSizePolicy</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin</span><span class="o">.</span><span class="n">setMinimumSize</span><span class="p">(</span><span class="n">QtCore</span><span class="o">.</span><span class="n">QSize</span><span class="p">(</span><span class="mi">300</span><span class="p">,</span> <span class="mi">450</span><span class="p">))</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin</span><span class="o">.</span><span class="n">setMaximumSize</span><span class="p">(</span><span class="n">QtCore</span><span class="o">.</span><span class="n">QSize</span><span class="p">(</span><span class="mi">300</span><span class="p">,</span> <span class="mi">450</span><span class="p">))</span> + + <span class="c1"># create the background image</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_frame</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QFrame</span><span class="p">()</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_mainLayout</span><span class="o">.</span><span class="n">addWidget</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_frame</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_frame</span><span class="o">.</span><span class="n">setObjectName</span><span class="p">(</span><span class="s2">"dark"</span><span class="p">)</span> + + <span class="c1"># create the main layout for the widgets</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_widgetLayout</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QHBoxLayout</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_frame</span><span class="p">)</span> + + <span class="c1"># two layouts needed for the widget layout. left side = vertical layout for filters,</span> + <span class="c1"># search, and list. right layout = vertical layout for buttons</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_leftSideLayout</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QVBoxLayout</span><span class="p">()</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_widgetLayout</span><span class="o">.</span><span class="n">addLayout</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_leftSideLayout</span><span class="p">)</span> + + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_rightSideLayout</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QVBoxLayout</span><span class="p">()</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_widgetLayout</span><span class="o">.</span><span class="n">addLayout</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_rightSideLayout</span><span class="p">)</span> + + <span class="c1"># left side: filters, search, list</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_filters</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QComboBox</span><span class="p">()</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_leftSideLayout</span><span class="o">.</span><span class="n">addWidget</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_filters</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_filters</span><span class="o">.</span><span class="n">addItem</span><span class="p">(</span><span class="s2">"Show Influences In Skin"</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_filters</span><span class="o">.</span><span class="n">addItem</span><span class="p">(</span><span class="s2">"Show Influences Not In Skin"</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_filters</span><span class="o">.</span><span class="n">currentIndexChanged</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">partial</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">addOrRemoveInfs_ShowInfsFilter</span><span class="p">))</span> + + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_search</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QLineEdit</span><span class="p">()</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_leftSideLayout</span><span class="o">.</span><span class="n">addWidget</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_search</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_search</span><span class="o">.</span><span class="n">setPlaceholderText</span><span class="p">(</span><span class="s2">"Search..."</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_search</span><span class="o">.</span><span class="n">textChanged</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">partial</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">addOrRemoveInfs_Search</span><span class="p">))</span> + + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_infList</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QListWidget</span><span class="p">()</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_leftSideLayout</span><span class="o">.</span><span class="n">addWidget</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_infList</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_infList</span><span class="o">.</span><span class="n">setSelectionMode</span><span class="p">(</span><span class="n">QtWidgets</span><span class="o">.</span><span class="n">QAbstractItemView</span><span class="o">.</span><span class="n">ExtendedSelection</span><span class="p">)</span> + + <span class="c1"># right side: add button, remove button, prune weights, remove unused button</span> + <span class="n">font</span> <span class="o">=</span> <span class="n">QtGui</span><span class="o">.</span><span class="n">QFont</span><span class="p">()</span> + <span class="n">font</span><span class="o">.</span><span class="n">setPointSize</span><span class="p">(</span><span class="mi">8</span><span class="p">)</span> + <span class="n">font</span><span class="o">.</span><span class="n">setBold</span><span class="p">(</span><span class="kc">True</span><span class="p">)</span> + + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_refreshSelBtn</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QPushButton</span><span class="p">(</span><span class="s2">"Refresh"</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_rightSideLayout</span><span class="o">.</span><span class="n">addWidget</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_refreshSelBtn</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_refreshSelBtn</span><span class="o">.</span><span class="n">setMinimumSize</span><span class="p">(</span><span class="mi">110</span><span class="p">,</span> <span class="mi">35</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_refreshSelBtn</span><span class="o">.</span><span class="n">setMaximumSize</span><span class="p">(</span><span class="mi">110</span><span class="p">,</span> <span class="mi">35</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_refreshSelBtn</span><span class="o">.</span><span class="n">setFont</span><span class="p">(</span><span class="n">font</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_refreshSelBtn</span><span class="o">.</span><span class="n">clicked</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">partial</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">addOrRemoveInfs_RefreshSelection</span><span class="p">))</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_refreshSelBtn</span><span class="o">.</span><span class="n">setObjectName</span><span class="p">(</span><span class="s2">"blueButton"</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_rightSideLayout</span><span class="o">.</span><span class="n">addSpacerItem</span><span class="p">(</span> + <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QSpacerItem</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span> <span class="mi">300</span><span class="p">,</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QSizePolicy</span><span class="o">.</span><span class="n">Expanding</span><span class="p">,</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QSizePolicy</span><span class="o">.</span><span class="n">Fixed</span><span class="p">))</span> + + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_addInfBtn</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QPushButton</span><span class="p">(</span><span class="s2">"Add"</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_rightSideLayout</span><span class="o">.</span><span class="n">addWidget</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_addInfBtn</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_addInfBtn</span><span class="o">.</span><span class="n">setMinimumSize</span><span class="p">(</span><span class="mi">110</span><span class="p">,</span> <span class="mi">35</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_addInfBtn</span><span class="o">.</span><span class="n">setMaximumSize</span><span class="p">(</span><span class="mi">110</span><span class="p">,</span> <span class="mi">35</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_addInfBtn</span><span class="o">.</span><span class="n">setFont</span><span class="p">(</span><span class="n">font</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_addInfBtn</span><span class="o">.</span><span class="n">clicked</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">partial</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">addOrRemoveInfs_addInf</span><span class="p">,</span> <span class="kc">True</span><span class="p">,</span> <span class="kc">False</span><span class="p">))</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_addInfBtn</span><span class="o">.</span><span class="n">setObjectName</span><span class="p">(</span><span class="s2">"blueButton"</span><span class="p">)</span> + + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_removeInfBtn</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QPushButton</span><span class="p">(</span><span class="s2">"Remove"</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_rightSideLayout</span><span class="o">.</span><span class="n">addWidget</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_removeInfBtn</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_removeInfBtn</span><span class="o">.</span><span class="n">setMinimumSize</span><span class="p">(</span><span class="mi">110</span><span class="p">,</span> <span class="mi">35</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_removeInfBtn</span><span class="o">.</span><span class="n">setMaximumSize</span><span class="p">(</span><span class="mi">110</span><span class="p">,</span> <span class="mi">35</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_removeInfBtn</span><span class="o">.</span><span class="n">setFont</span><span class="p">(</span><span class="n">font</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_removeInfBtn</span><span class="o">.</span><span class="n">clicked</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">partial</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">addOrRemoveInfs_addInf</span><span class="p">,</span> <span class="kc">False</span><span class="p">,</span> <span class="kc">False</span><span class="p">))</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_removeInfBtn</span><span class="o">.</span><span class="n">setObjectName</span><span class="p">(</span><span class="s2">"blueButton"</span><span class="p">)</span> + + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_removeUnusedInfBtn</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QPushButton</span><span class="p">(</span><span class="s2">"Remove Unused"</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_rightSideLayout</span><span class="o">.</span><span class="n">addWidget</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_removeUnusedInfBtn</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_removeUnusedInfBtn</span><span class="o">.</span><span class="n">setMinimumSize</span><span class="p">(</span><span class="mi">110</span><span class="p">,</span> <span class="mi">35</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_removeUnusedInfBtn</span><span class="o">.</span><span class="n">setMaximumSize</span><span class="p">(</span><span class="mi">110</span><span class="p">,</span> <span class="mi">35</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_removeUnusedInfBtn</span><span class="o">.</span><span class="n">setFont</span><span class="p">(</span><span class="n">font</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_removeUnusedInfBtn</span><span class="o">.</span><span class="n">clicked</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">partial</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">addOrRemoveInfs_addInf</span><span class="p">,</span> <span class="kc">False</span><span class="p">,</span> <span class="kc">True</span><span class="p">))</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_removeUnusedInfBtn</span><span class="o">.</span><span class="n">setObjectName</span><span class="p">(</span><span class="s2">"blueButton"</span><span class="p">)</span> + + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_pruneBtn</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QPushButton</span><span class="p">(</span><span class="s2">"Prune Weights"</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_rightSideLayout</span><span class="o">.</span><span class="n">addWidget</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_pruneBtn</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_pruneBtn</span><span class="o">.</span><span class="n">setMinimumSize</span><span class="p">(</span><span class="mi">110</span><span class="p">,</span> <span class="mi">35</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_pruneBtn</span><span class="o">.</span><span class="n">setMaximumSize</span><span class="p">(</span><span class="mi">110</span><span class="p">,</span> <span class="mi">35</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_pruneBtn</span><span class="o">.</span><span class="n">setFont</span><span class="p">(</span><span class="n">font</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_pruneBtn</span><span class="o">.</span><span class="n">clicked</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">partial</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">addOrRemoveInfs_prune</span><span class="p">))</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_pruneBtn</span><span class="o">.</span><span class="n">setObjectName</span><span class="p">(</span><span class="s2">"blueButton"</span><span class="p">)</span> + + <span class="c1"># populate infList</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addOrRemoveInfs_RefreshSelection</span><span class="p">()</span> + + <span class="c1"># show window</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin</span><span class="o">.</span><span class="n">show</span><span class="p">()</span></div> + + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> +<div class="viewcode-block" id="ART_AddOrRemoveInfluences.addOrRemoveInfs_RefreshSelection"><a class="viewcode-back" href="../../addRemoveInfs.html#Interfaces.ART_AddOrRemoveInfluences.ART_AddOrRemoveInfluences.addOrRemoveInfs_RefreshSelection">[docs]</a> <span class="k">def</span> <span class="nf">addOrRemoveInfs_RefreshSelection</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="sd">"""</span> +<span class="sd"> Regenerate the lists comparing all joints of the rig to joints in the skin cluster and joints not in the</span> +<span class="sd"> skinCluster. Clear the listWidgets and refresh with new data.</span> + +<span class="sd"> """</span> + + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_infList</span><span class="o">.</span><span class="n">clear</span><span class="p">()</span> + + <span class="c1"># get selection, find skin cluster, find influences in skinCluster, and populate listWidget</span> + <span class="n">selection</span> <span class="o">=</span> <span class="n">cmds</span><span class="o">.</span><span class="n">ls</span><span class="p">(</span><span class="n">sl</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> + <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">selection</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> + <span class="n">skinCluster</span> <span class="o">=</span> <span class="n">riggingUtils</span><span class="o">.</span><span class="n">findRelatedSkinCluster</span><span class="p">(</span><span class="n">selection</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> + + <span class="k">if</span> <span class="n">skinCluster</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span> + <span class="n">skinInfs</span> <span class="o">=</span> <span class="n">cmds</span><span class="o">.</span><span class="n">skinCluster</span><span class="p">(</span><span class="n">skinCluster</span><span class="p">,</span> <span class="n">q</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">inf</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> + + <span class="k">for</span> <span class="n">inf</span> <span class="ow">in</span> <span class="n">skinInfs</span><span class="p">:</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_infList</span><span class="o">.</span><span class="n">addItem</span><span class="p">(</span><span class="n">inf</span><span class="p">)</span></div> + + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + +<div class="viewcode-block" id="ART_AddOrRemoveInfluences.addOrRemoveInfs_ShowInfsFilter"><a class="viewcode-back" href="../../addRemoveInfs.html#Interfaces.ART_AddOrRemoveInfluences.ART_AddOrRemoveInfluences.addOrRemoveInfs_ShowInfsFilter">[docs]</a> <span class="k">def</span> <span class="nf">addOrRemoveInfs_ShowInfsFilter</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="sd">"""</span> +<span class="sd"> Change what is displayed in the QListWidget based on the QComboBox setting of which joints to show: those in</span> +<span class="sd"> the skinCluster, or those not in the skinCluster.</span> + +<span class="sd"> """</span> + + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_infList</span><span class="o">.</span><span class="n">clear</span><span class="p">()</span> + <span class="n">currentIndex</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_filters</span><span class="o">.</span><span class="n">currentIndex</span><span class="p">()</span> + + <span class="n">selection</span> <span class="o">=</span> <span class="n">cmds</span><span class="o">.</span><span class="n">ls</span><span class="p">(</span><span class="n">sl</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> + <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">selection</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> + <span class="n">skinCluster</span> <span class="o">=</span> <span class="n">riggingUtils</span><span class="o">.</span><span class="n">findRelatedSkinCluster</span><span class="p">(</span><span class="n">selection</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> + + <span class="k">if</span> <span class="n">skinCluster</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span> + <span class="n">skinInfs</span> <span class="o">=</span> <span class="n">cmds</span><span class="o">.</span><span class="n">skinCluster</span><span class="p">(</span><span class="n">skinCluster</span><span class="p">,</span> <span class="n">q</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">inf</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> + <span class="c1"># if filter set to show infs in cluster:</span> + <span class="k">if</span> <span class="n">currentIndex</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> + <span class="k">for</span> <span class="n">each</span> <span class="ow">in</span> <span class="n">skinInfs</span><span class="p">:</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_infList</span><span class="o">.</span><span class="n">addItem</span><span class="p">(</span><span class="n">each</span><span class="p">)</span> + + <span class="c1"># if filter set to show non-skinned infs</span> + <span class="k">if</span> <span class="n">currentIndex</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span> + <span class="c1"># get full path</span> + <span class="n">dagPath</span> <span class="o">=</span> <span class="n">cmds</span><span class="o">.</span><span class="n">ls</span><span class="p">(</span><span class="n">skinInfs</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">long</span><span class="o">=</span><span class="kc">True</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span> + <span class="n">rootJoint</span> <span class="o">=</span> <span class="n">dagPath</span><span class="o">.</span><span class="n">partition</span><span class="p">(</span><span class="s2">"|"</span><span class="p">)[</span><span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">partition</span><span class="p">(</span><span class="s2">"|"</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span> + <span class="n">currentSelection</span> <span class="o">=</span> <span class="n">cmds</span><span class="o">.</span><span class="n">ls</span><span class="p">(</span><span class="n">sl</span><span class="o">=</span><span class="kc">True</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span> + + <span class="c1"># get all joints</span> + <span class="n">cmds</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="n">rootJoint</span><span class="p">,</span> <span class="n">hi</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> + <span class="n">skeleton</span> <span class="o">=</span> <span class="n">cmds</span><span class="o">.</span><span class="n">ls</span><span class="p">(</span><span class="n">sl</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> + <span class="n">cmds</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="n">currentSelection</span><span class="p">)</span> + + <span class="c1"># compare all joints to infs list</span> + <span class="k">for</span> <span class="n">each</span> <span class="ow">in</span> <span class="n">skeleton</span><span class="p">:</span> + <span class="k">if</span> <span class="n">each</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">skinInfs</span><span class="p">:</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_infList</span><span class="o">.</span><span class="n">addItem</span><span class="p">(</span><span class="n">each</span><span class="p">)</span></div> + + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + +<div class="viewcode-block" id="ART_AddOrRemoveInfluences.addOrRemoveInfs_Search"><a class="viewcode-back" href="../../addRemoveInfs.html#Interfaces.ART_AddOrRemoveInfluences.ART_AddOrRemoveInfluences.addOrRemoveInfs_Search">[docs]</a> <span class="k">def</span> <span class="nf">addOrRemoveInfs_Search</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="sd">"""</span> +<span class="sd"> Hides all items in the QListWidget, then compares the QLineEdit search text with each item in the QListWidget,</span> +<span class="sd"> and if the search text is found in the text of an item, show that QListWidgetItem.</span> + +<span class="sd"> """</span> + + <span class="n">searchKey</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_search</span><span class="o">.</span><span class="n">text</span><span class="p">()</span> + + <span class="c1"># get all items in the joint list</span> + <span class="n">allItems</span> <span class="o">=</span> <span class="p">[]</span> + <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_infList</span><span class="o">.</span><span class="n">count</span><span class="p">()):</span> + <span class="n">item</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_infList</span><span class="o">.</span><span class="n">item</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> + <span class="n">itemName</span> <span class="o">=</span> <span class="n">item</span><span class="o">.</span><span class="n">text</span><span class="p">()</span> + <span class="n">allItems</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">item</span><span class="p">,</span> <span class="n">itemName</span><span class="p">])</span> + + <span class="c1"># hide all items in list</span> + <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">allItems</span><span class="p">:</span> + <span class="n">item</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">setHidden</span><span class="p">(</span><span class="kc">True</span><span class="p">)</span> + <span class="n">item</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">setSelected</span><span class="p">(</span><span class="kc">False</span><span class="p">)</span> + + <span class="c1"># find items in list with search key and show item</span> + <span class="k">if</span> <span class="n">searchKey</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="s2">"*"</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> + <span class="n">matchedItems</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_infList</span><span class="o">.</span><span class="n">findItems</span><span class="p">(</span><span class="n">searchKey</span><span class="p">,</span> <span class="n">QtCore</span><span class="o">.</span><span class="n">Qt</span><span class="o">.</span><span class="n">MatchFlag</span><span class="o">.</span><span class="n">MatchWildcard</span><span class="p">)</span> + <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">matchedItems</span><span class="p">:</span> + <span class="n">item</span><span class="o">.</span><span class="n">setHidden</span><span class="p">(</span><span class="kc">False</span><span class="p">)</span> + <span class="n">item</span><span class="o">.</span><span class="n">setSelected</span><span class="p">(</span><span class="kc">True</span><span class="p">)</span> + + <span class="k">else</span><span class="p">:</span> + <span class="n">matchedItems</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_infList</span><span class="o">.</span><span class="n">findItems</span><span class="p">(</span><span class="n">searchKey</span><span class="p">,</span> <span class="n">QtCore</span><span class="o">.</span><span class="n">Qt</span><span class="o">.</span><span class="n">MatchFlag</span><span class="o">.</span><span class="n">MatchContains</span><span class="p">)</span> + <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">matchedItems</span><span class="p">:</span> + <span class="n">item</span><span class="o">.</span><span class="n">setHidden</span><span class="p">(</span><span class="kc">False</span><span class="p">)</span> + <span class="n">item</span><span class="o">.</span><span class="n">setSelected</span><span class="p">(</span><span class="kc">True</span><span class="p">)</span></div> + + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + +<div class="viewcode-block" id="ART_AddOrRemoveInfluences.addOrRemoveInfs_addInf"><a class="viewcode-back" href="../../addRemoveInfs.html#Interfaces.ART_AddOrRemoveInfluences.ART_AddOrRemoveInfluences.addOrRemoveInfs_addInf">[docs]</a> <span class="k">def</span> <span class="nf">addOrRemoveInfs_addInf</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">add</span><span class="p">,</span> <span class="n">removeUnused</span><span class="p">):</span> + <span class="sd">"""</span> +<span class="sd"> Either add, or remove, selected influences from the QListWidget to/from the skinCluster. (the main function)</span> + +<span class="sd"> :param add: Whether or not to add or remove.</span> +<span class="sd"> :param removeUnused: If this flag is set, remove any unweighted influences in the skinCluster.</span> + +<span class="sd"> """</span> + + <span class="c1"># get current selection in scene</span> + <span class="n">currentSelection</span> <span class="o">=</span> <span class="n">cmds</span><span class="o">.</span><span class="n">ls</span><span class="p">(</span><span class="n">sl</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> + + <span class="c1"># get selected items in infList</span> + <span class="n">selectedItems</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">addRemoveInfsWin_infList</span><span class="o">.</span><span class="n">selectedItems</span><span class="p">()</span> + + <span class="c1"># find the skinCluster</span> + <span class="n">selection</span> <span class="o">=</span> <span class="n">cmds</span><span class="o">.</span><span class="n">ls</span><span class="p">(</span><span class="n">sl</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> + <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">selection</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> + <span class="n">skinCluster</span> <span class="o">=</span> <span class="n">riggingUtils</span><span class="o">.</span><span class="n">findRelatedSkinCluster</span><span class="p">(</span><span class="n">selection</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> + + <span class="c1"># removed unused influences</span> + <span class="k">if</span> <span class="n">removeUnused</span><span class="p">:</span> + <span class="n">weightedInfs</span> <span class="o">=</span> <span class="n">cmds</span><span class="o">.</span><span class="n">skinCluster</span><span class="p">(</span><span class="n">skinCluster</span><span class="p">,</span> <span class="n">q</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">weightedInfluence</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> + <span class="n">allInfs</span> <span class="o">=</span> <span class="n">cmds</span><span class="o">.</span><span class="n">skinCluster</span><span class="p">(</span><span class="n">skinCluster</span><span class="p">,</span> <span class="n">q</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">inf</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> + + <span class="k">for</span> <span class="n">inf</span> <span class="ow">in</span> <span class="n">allInfs</span><span class="p">:</span> + <span class="k">if</span> <span class="n">inf</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">weightedInfs</span><span class="p">:</span> + <span class="n">cmds</span><span class="o">.</span><span class="n">skinCluster</span><span class="p">(</span><span class="n">skinCluster</span><span class="p">,</span> <span class="n">edit</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">ri</span><span class="o">=</span><span class="n">inf</span><span class="p">)</span> + + <span class="n">cmds</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="n">currentSelection</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addOrRemoveInfs_RefreshSelection</span><span class="p">()</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addOrRemoveInfs_ShowInfsFilter</span><span class="p">()</span> + <span class="k">return</span> + + <span class="c1"># add selectedItems to the skinCluster</span> + <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">selectedItems</span><span class="p">:</span> + <span class="k">if</span> <span class="n">add</span><span class="p">:</span> + <span class="n">cmds</span><span class="o">.</span><span class="n">skinCluster</span><span class="p">(</span><span class="n">skinCluster</span><span class="p">,</span> <span class="n">edit</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">ai</span><span class="o">=</span><span class="n">item</span><span class="o">.</span><span class="n">text</span><span class="p">(),</span> <span class="n">wt</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">lw</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> + <span class="k">if</span> <span class="ow">not</span> <span class="n">add</span><span class="p">:</span> + <span class="n">cmds</span><span class="o">.</span><span class="n">skinCluster</span><span class="p">(</span><span class="n">skinCluster</span><span class="p">,</span> <span class="n">edit</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">ri</span><span class="o">=</span><span class="n">item</span><span class="o">.</span><span class="n">text</span><span class="p">())</span> + + <span class="c1"># refresh list</span> + <span class="n">cmds</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="n">currentSelection</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addOrRemoveInfs_RefreshSelection</span><span class="p">()</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addOrRemoveInfs_ShowInfsFilter</span><span class="p">()</span></div> + + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> + <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span> +<div class="viewcode-block" id="ART_AddOrRemoveInfluences.addOrRemoveInfs_prune"><a class="viewcode-back" href="../../addRemoveInfs.html#Interfaces.ART_AddOrRemoveInfluences.ART_AddOrRemoveInfluences.addOrRemoveInfs_prune">[docs]</a> <span class="k">def</span> <span class="nf">addOrRemoveInfs_prune</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="sd">"""</span> +<span class="sd"> Calls on Maya's built in prune skin weights tool.</span> + +<span class="sd"> """</span> + + <span class="n">mel</span><span class="o">.</span><span class="n">eval</span><span class="p">(</span><span class="s2">"PruneSmallWeightsOptions;"</span><span class="p">)</span> + + <span class="c1"># get current selection in scene</span> + <span class="n">currentSelection</span> <span class="o">=</span> <span class="n">cmds</span><span class="o">.</span><span class="n">ls</span><span class="p">(</span><span class="n">sl</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> + + <span class="c1"># refresh lists</span> + <span class="n">cmds</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="n">currentSelection</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addOrRemoveInfs_RefreshSelection</span><span class="p">()</span> + <span class="bp">self</span><span class="o">.</span><span class="n">addOrRemoveInfs_ShowInfsFilter</span><span class="p">()</span></div></div> +</pre></div> + + </div> + </div> + </div> + <div class="clearer"></div> + </div> + <div class="related" role="navigation" aria-label="related navigation"> + <h3>Navigation</h3> + <ul> + <li class="right" style="margin-right: 10px"> + <a href="../../genindex.html" title="General Index" + >index</a></li> + <li class="right" > + <a href="../../py-modindex.html" title="Python Module Index" + >modules</a> |</li> + <li class="nav-item nav-item-0"><a href="../../index.html">ARTv2 1.0 documentation</a> »</li> + <li class="nav-item nav-item-1"><a href="../index.html" >Module code</a> »</li> + </ul> + </div> + <div class="footer" role="contentinfo"> + © Copyright 2017, Jeremy Ernst. + Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.2. + </div> + </body> +</html>
\ No newline at end of file |