Community
Arnold General Rendering Forum
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Arnold C++ API of "kick -nodes"

3 REPLIES 3
SOLVED
Reply
Message 1 of 4
alan-LFL
295 Views, 3 Replies

Arnold C++ API of "kick -nodes"

Hi all,

My google-fu is failing me - anyone happen to know what the Arnold C++ API to list all the loaded nodes is?

i.e. the thing that's probably called under the hook when you execute "kick -nodes"

Cheers,

Alan.

Tags (1)
Labels (1)
3 REPLIES 3
Message 2 of 4
Stephen.Blair
in reply to: alan-LFL

Here's the Python from the old pykick. The C++ is basically the same calls...

def PrintRangeOfNodes(first, sort):
   nodes = []
   i = 0
   it = AiUniverseGetNodeEntryIterator(AI_NODE_ALL)
   # skip first node entries to start on the specified one
   while not AiNodeEntryIteratorFinished(it) and i < first:
      AiNodeEntryIteratorGetNext(it)
      i += 1
#
#
   while not AiNodeEntryIteratorFinished(it):
      nentry   = AiNodeEntryIteratorGetNext(it)
      nodename = AiNodeEntryGetName(nentry)
      typename = AiNodeEntryGetTypeName(nentry)
      nodes.append([nodename, typename])
   AiNodeEntryIteratorDestroy(it)
#
# ...
#


// Stephen Blair
// Arnold Renderer Support
Message 3 of 4
thiago.ize
in reply to: alan-LFL

You'll want to use the AiUniverseGetNodeEntryIterator(AI_NODE_ALL) to get an iterator that lets you examine all the node types. The you call AiNodeEntryIteratorGetNext() on the iterator to get an AtNodeEntry which you can then pass to AiNodeEntryGetName(), AiNodeEntryGetTypeName, etc. to get information on these nodes. Take a look at the doxygen/headers included in the Arnold SDK to get info on all these functions. Hopefully this helps?

Message 4 of 4
alan-LFL
in reply to: alan-LFL

Thanks, @Stephen Blair and @Thiago Ize - most appreciated.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report