##
##
#Description: Help to check of the normals direction of the selected objects.
#Usage:
#from rpNormal import *
#winNormCheck()
#Any questions you can ask me on kenio3d@gmail.com


import maya.cmds as cmds

def checkNorm():
    global count
    global sel
    if count == 0:
        sel = cmds.ls(sl=True)
    else:
        pass
                
    if count >= len(sel):
        cmds.select(sel)
        cmds.FrameSelected()
        cmds.isolateSelect('modelPanel4', s=0)
        cmds.ToggleFaceNormalDisplay()
        cmds.deleteUI('winNormCheck')
        cmds.refresh()

    else:
        cmds.select(sel[count])
        cmds.polyNormal(nm=2, ch=False)
        cmds.ToggleFaceNormalDisplay()
        cmds.SelectIsolate()
        cmds.FrameSelected()
        count = count+1
        print '%s'%count+' of '+'%s'%len(sel)
        

def reverseDef():
    cmds.polyNormal(nm=0, ch=False)
    checkNorm()
    

def winNormCheck():
    global count
    count = 0
    if cmds.window('winNormCheck', ex=True):
        cmds.deleteUI('winNormCheck')
    else:
        winNormCheck = cmds.window('winNormCheck', title='winNormCheck')
        cmds.rowLayout( numberOfColumns=3, columnWidth3=(80, 80, 80), adjustableColumn=2, columnAlign=(1, 'right'), columnAttach=[(1, 'both', 0), (2, 'both', 0), (3, 'both', 0)] )
        cmds.button(l='Next', command='checkNorm()')
        cmds.button(l='Reverse', command='reverseDef()')
        cmds.button(l='FaceNormals', command='cmds.ToggleFaceNormalDisplay()')
        cmds.showWindow(winNormCheck)
##
##