예제 #1
0
def attachRIBArchive():
    _updateNodes()
    nodes = _getAndVerifyByAttr('attachMesh')
    select = pm.selected()
    archives = []
    for sel in select:
        if sel.hasAttr('filename'):
            archives.append(sel)

    if len(archives) != 1:
        raise Exception('not 1 RIBArchive selected')

    for node in nodes:
        node.attachRIBArchive(archives[0])
예제 #2
0
def sel(addt_attr=None):
    _updateNodes()
    if not addt_attr:
        addt_attr = _crHandle

    out = []
    selected = pm.selected()
    for obj in gNodes:
        if _isSelected(obj, selected):
            out.append(obj)
    for obj in CRObject._gNodes:
        if _isSelected(obj, selected):
            out.append(obj)
    return out
예제 #3
0
 def searchBadExtraordinaryVtx(self, mesh):
     try:
         cmds.select(mesh, r=True)
         mel.eval('PolySelectConvert 3')
         selected = pm.selected(fl=True)
         badExtraordinaryVtx = [i for i
                                in selected
                                if len(i.connectedEdges()) > 6]
         cmds.select(d=True)
         if badExtraordinaryVtx == []:
             badExtraordinaryVtxList = []
         else:
             badExtraordinaryVtxList = [str(i) for i in badExtraordinaryVtx]
     except AttributeError:
         # PYMEL COMMAND GETS ERROR IF MESH IS INTERMEDIATE OBJECT
         # TEMPORARILIY SEND WITH EMPTY LIST BUT NEED TO RE-CHECK
         # ONCE INTERMEDIATE OBJECT IS CHECKED OF OR REMOVED
         badExtraordinaryVtxList = []
     return badExtraordinaryVtxList
예제 #4
0
def getAllNodes():
    selected = pm.selected()
    nodes = []
    for node in selected:
        nodes.extend(_conglomerateNodes(node))
    return nodes
예제 #5
0
 def inner(*args, **kwargs):
     sel = list(pm.selected())
     result = func(*args, **kwargs)
     pm.select(sel, replace=True)
     return result