Data Structures
AtOutputIterator API

AtOutputIterator methods. More...

Data Structures

struct  AtOutputIterator
 This represents an iterator that is used to iterate over group of ouputs in Arnold. More...
 

AtOutputIterator Methods

AI_API bool AiOutputIteratorGetNext (struct AtOutputIterator *iter, AtString *output_name, int *pixel_type, const void **bucket_data)
 Get information about the next output connected to a driver. More...
 
AI_API void AiOutputIteratorReset (struct AtOutputIterator *iter)
 Reset an output iterator. More...
 
AI_API AtNodeAiOutputIteratorGetFilter (struct AtOutputIterator *iter)
 Get the filter associated with the current output. More...
 
AI_API bool AiOutputIteratorIsHalf (struct AtOutputIterator *iter)
 Is the current output is half format. More...
 
AI_API AtString AiOutputIteratorGetLayerName (struct AtOutputIterator *iter)
 Get the name of the targer layer of the current output. More...
 
AI_API AtNodeAiOutputIteratorGetCamera (struct AtOutputIterator *iter)
 Get the camera associated with the current output. More...
 

Detailed Description

AtOutputIterator methods.

Arnold AtOutputIterator structure is used to iterate over a group of output and provide information regarding each output.

Function Documentation

◆ AiOutputIteratorGetNext()

AI_API bool AiOutputIteratorGetNext ( AtOutputIterator iter,
AtString output_name,
int *  pixel_type,
const void **  bucket_data 
)

Get information about the next output connected to a driver.

This method is meant to be called in a loop, though drivers that are designed to only accept a single output may call it just once. Each parameter is optional, and will only be written to when not NULL. The bucket_data parameter can only be obtained when writing a bucket. If this method returns false, the return values should not be used.

Parameters
iterpointer to the iterator
[out]output_namethe name of the AOV corresponding to this output
[out]pixel_typethe type of the pixel data (AI_TYPE_INT, AI_TYPE_RGB, etc)
[out]bucket_datapointer to the start of the bucket data, pixel values will be stored in row major order
Returns
true if a valid output was present, false if the end of the output list was reached

◆ AiOutputIteratorReset()

AI_API void AiOutputIteratorReset ( AtOutputIterator iter)

Reset an output iterator.

This method resets an output iterator so that the user may iterate over the outputs again.

Parameters
iterpointer to the iterator

◆ AiOutputIteratorGetFilter()

AI_API AtNode * AiOutputIteratorGetFilter ( struct AtOutputIterator iter)

Get the filter associated with the current output.

Parameters
iterpointer to the iterator
Returns
pointer to filter associated with current output, nullptr if none associated

◆ AiOutputIteratorIsHalf()

AI_API bool AiOutputIteratorIsHalf ( struct AtOutputIterator iter)

Is the current output is half format.

Parameters
iterpointer to the iterator
Returns
true if the output is of half format

◆ AiOutputIteratorGetLayerName()

AI_API AtString AiOutputIteratorGetLayerName ( struct AtOutputIterator iter)

Get the name of the targer layer of the current output.

Parameters
iterpointer to the iterator
Returns
name of the target layer the output will be associated with, empty string if no association

◆ AiOutputIteratorGetCamera()

AI_API AtNode * AiOutputIteratorGetCamera ( struct AtOutputIterator iter)

Get the camera associated with the current output.

Parameters
iterpointer to the iterator
Returns
pointer to camera associated with current output, nullptr if none associated

© 2023 Autodesk, Inc. · All rights reserved · www.arnoldrenderer.com