Advertisement
yashpolke

Color Nodes

Oct 31st, 2016
418
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.41 KB | None | 0 0
  1. #####Parameters#####
  2. ##Get List if Nodes(get_list)##
  3. ##Set Color(set_color)##
  4. ##Revert to Defaults(panel)##
  5. ##Raise Floating Panel(floatPanel)##
  6.  
  7. ##(Folder)Add nodes##
  8. ##Color(setColor#)##
  9. ##Prefix(prefix#)<toggle>##
  10. ##Prefix String(prefixstr#)##
  11. ##Use Reference Node(enable#)<toggle>##
  12. ##Reference Node(refNode#)##
  13. ##Node Type(nodeType#)##
  14.  
  15.  
  16. #######Set color###########
  17.  
  18. for node in hou.node( "/obj" ).allSubChildren():
  19.     if node.type().name().startswith( "IE::ColorNodes" ):
  20.         path = node.path() + "/set_color"
  21.         node.parm( "set_color" ).pressButton()
  22. ###########################################################################################################################
  23.  
  24. ######Raise Floating Panel#######
  25.  
  26. for node in hou.node( "/obj" ).allSubChildren():
  27.     if node.type().name().startswith( "IE::ColorNodes" ):
  28.         node.parm( "floatPanel" ).pressButton()
  29. ###########################################################################################################################
  30.  
  31.  
  32.  
  33. def setColor( ):
  34.    
  35.     node = hou.pwd()
  36.     currContext = node.parent().path() + "/"        
  37.    
  38.     mainParm = node.parm( "add_nodes" ).eval()
  39.     for i in xrange( 1, mainParm + 1 ):
  40.         prefixToggle  = node.parm( "prefix%s"%( i ) ).eval()
  41.         prefixString  = node.parm( "prefixstr%s"%( i ) ).evalAsString()
  42.        
  43.         refNodeToggle = node.parm( "enable%s"%( i ) ).eval()
  44.         refNodeStr    = node.parm( "refNode%s"%( i ) ).evalAsString()
  45.        
  46.         nodeTypeParm  = node.parm( "nodeType%s"%( i ) ).evalAsString()
  47.        
  48.         setColor = node.parmTuple( "setColor%s"%( i ) ).eval()
  49.        
  50.         colorR   = setColor[0]
  51.         colorG   = setColor[1]
  52.         colorB   = setColor[2]
  53.        
  54.         if prefixToggle and not refNodeToggle:
  55.             for aNode in hou.node( "/" ).allSubChildren():
  56.                 prefixName = aNode.name().split( "_" )[0]
  57.                 if prefixString == prefixName:
  58.                     aNode.setColor( hou.Color( [ colorR, colorG, colorB ] ) )
  59.                
  60.            
  61.        
  62.            
  63.        
  64.         elif node.parm( "prefix%s"%i ).eval() == 0:
  65.             nodeType = node.parm( "nodeType%s"%i ).eval()
  66.             refNode  = node.parm( "refNode%s"%( i ) ).eval()
  67.             if hou.node( refNode ) == None:
  68.                 pass
  69.             elif refNode == "":
  70.                 pass
  71.             elif refNode != "":
  72.                 nodeType = hou.node( refNode ).type().name()
  73.                 nodeParm = node.parm( "nodeType%s"%( i ) )
  74.                 nodeParm.set( "%s"%nodeType )
  75.        
  76.  
  77.             setColor = node.parmTuple( "setColor%s"%( i ) ).eval()
  78.        
  79.             colorR   = setColor[0]
  80.             colorG   = setColor[1]
  81.             colorB   = setColor[2]
  82.  
  83.             for aNode in hou.node("/").allSubChildren():
  84.                 if aNode.type().name() == nodeType:
  85.                     aNode.setColor( hou.Color( [ colorR, colorG, colorB ] ) )
  86.  
  87. def getList():
  88.  
  89.     node = hou.pwd()
  90.     objContext = hou.node( "/" ).allSubChildren()
  91.    
  92.     nodeList = []
  93.     for nodes in objContext:
  94.         nodeList.append( nodes )
  95.        
  96.     treeNodes = {}    
  97.     for i in nodeList:
  98.         treeNodes[ i.path() ] = i.type().name()
  99. #    print treeNodes
  100.    
  101.     choices = hou.ui.selectFromTree( treeNodes.keys(), message='Select Nodes to Color' )
  102. #    print choices
  103.    
  104.     if len( choices ) > 0:
  105.         num = int( len( choices ) )
  106.         node.parm( "add_nodes" ).set( "%d"%num )
  107.        
  108.         nodeList = []
  109.         for choice in choices:
  110.             nodeType = hou.node( choice ).type().name()
  111.             nodeList.append( nodeType )
  112. #        print nodeList
  113.            
  114.            
  115.         parmList = []
  116.         currContext = node.parent().path() + "/"
  117.         mainParm = node.parm( "add_nodes" ).eval()
  118.        
  119.         for i in xrange( 1, mainParm + 1 ):
  120.             parm = node.parm( "nodeType%s"%( i ) ).name()
  121.             parmList.append( parm )
  122.        
  123.        
  124.         values = dict( zip( parmList, nodeList ) )
  125.        
  126.         for i in xrange( 1, mainParm + 1 ):
  127.             node.setParms( { "nodeType%s"%i : values[ "nodeType%s"%i ] } )
  128.  
  129. def revert():
  130.     for aNode in hou.selectedNodes():
  131.         aNode.setColor( hou.Color( [ 0.8,0.8,0.8 ] ) )
  132.        
  133.        
  134.        
  135. def panel():
  136.     node = hou.pwd()
  137.     path = node.path()
  138.     hou.hscript( "oppane -t parmeditor %s"%path )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement