23struct AtNodeEntryIterator;
25struct AtParamValueMap;
104#define AI_CACHE_TEXTURE 0x0001
105#define AI_CACHE_BACKGROUND 0x0002
106#define AI_CACHE_QUAD 0x0004
107#define AI_CACHE_ALL 0xFFFF
DLL export prefix for API functions (necessary for multi-platform development)
Axis-aligned bounding box types and utilities.
AtNodeEntry type and methods.
AtString class for fast comparisons.
Arnold String allows for fast string comparisons.
Definition: ai_string.h:46
#define AI_NODE_ALL
Bitmask including all node types, used by AiASSWrite()
Definition: ai_node_entry.h:48
AI_API AtNodeEntryIterator * AiUniverseGetNodeEntryIterator(unsigned int node_mask)
Creates a new node entry iterator and resets it to the first installed node entry.
Definition: ai_universe.cpp:246
int blend_mode
Blend mode
Definition: ai_universe.h:32
AI_API AI_PURE bool AiNodeEntryIteratorFinished(const AtNodeEntryIterator *iter)
Returns true if there are no more node entries to iterate over.
Definition: ai_universe.cpp:573
AI_API AtUniverse * AiUniverse()
Creates a new universe that can be used independently of the default universe.
Definition: ai_universe.cpp:99
AtString expression
Optional light path expression.
Definition: ai_universe.h:33
AI_API AI_PURE AtNode * AiUniverseGetCamera(const AtUniverse *universe)
Fetches the currently active camera node for a given Arnold universe.
Definition: ai_universe.cpp:153
AI_API AI_PURE AtNode * AiUniverseGetOptions(const AtUniverse *universe)
Fetches the global options node for a specific Arnold universe.
Definition: ai_universe.cpp:126
AI_API AtNodeEntry * AiNodeEntryIteratorGetNext(AtNodeEntryIterator *iter)
Returns current node entry and points node entry iterator to the next node entry.
Definition: ai_universe.cpp:562
AI_API bool AiUniverseCompare(const AtUniverse *universe1, const AtUniverse *universe2, unsigned int node_mask=AI_NODE_ALL, AtParamValueMap *diffs=NULL)
Compare two universes.
Definition: ai_universe.cpp:355
AI_API AtNodeIterator * AiUniverseGetNodeIterator(const AtUniverse *universe, unsigned int node_mask)
Creates a new node iterator for the given Arnold universe and resets it to the first node.
Definition: ai_universe.cpp:217
AI_API const AtAOVEntry * AiAOVIteratorGetNext(AtAOVIterator *iter)
Returns current AOV entry and points AOV iterator to the next AOV.
Definition: ai_universe.cpp:613
AI_API AtNode * AiNodeIteratorGetNext(AtNodeIterator *iter)
Returns current node and points node iterator to the next node.
Definition: ai_universe.cpp:510
AI_API AtUniverse * AiUniverseGetFromId(uint32_t universe_id)
Returns a universe from its 32bit integer ID.
Definition: ai_universe.cpp:471
uint8_t type
Data type
Definition: ai_universe.h:31
AtString name
AOV name
Definition: ai_universe.h:30
AI_API AI_PURE bool AiAOVIteratorFinished(const AtAOVIterator *iter)
Returns true if there are no more AOV entries to iterate over.
Definition: ai_universe.cpp:624
AI_API bool AiUniverseCacheFlush(const AtUniverse *universe, int cache_flags)
Flush one or several caches in a given Arnold universe.
Definition: ai_universe.cpp:33
AI_API void AiNodeIteratorDestroy(AtNodeIterator *iter)
Destroys a node iterator when it is no longer needed.
Definition: ai_universe.cpp:485
AI_API uint32_t AiUniverseGetId(const AtUniverse *universe)
Returns a 32bit integer ID for a universe.
Definition: ai_universe.cpp:457
AI_API AtAOVIterator * AiUniverseGetAOVIterator(const AtUniverse *universe)
Creates a new AOV iterator for a specific universe and resets it to the first entry.
Definition: ai_universe.cpp:261
AI_API void AiNodeEntryIteratorDestroy(AtNodeEntryIterator *iter)
Destroys a node entry iterator when it is no longer needed.
Definition: ai_universe.cpp:537
AI_API AtRenderSession * AiUniverseGetRenderSession(const AtUniverse *universe)
Get the render session using the given universe.
Definition: ai_universe.cpp:316
AI_API AI_PURE AtBBox AiUniverseGetSceneBounds(const AtUniverse *universe)
Returns the bounding box of the given Arnold universe.
Definition: ai_universe.cpp:188
AI_API void AiUniverseDestroy(AtUniverse *universe)
Destroys an existing universe and releases any allocated resources.
Definition: ai_universe.cpp:114
AI_API void AiAOVIteratorDestroy(AtAOVIterator *iter)
Destroys a AOV iterator when it is no longer needed.
Definition: ai_universe.cpp:588
AI_API AI_PURE bool AiNodeIteratorFinished(const AtNodeIterator *iter)
Returns true if there are no more nodes to iterate over.
Definition: ai_universe.cpp:521
AI_API void AiUniverseAddDefaultNodes(AtUniverse *universe, const AtParamValueMap *params)
Creates default camera and/or light nodes when they are not present in the scene.
Definition: ai_universe.cpp:298
Definition: ai_universe.h:29
3D axis-aligned bounding box (uses single-precision)
Definition: ai_bbox.h:33
This represents a node type in Arnold.
This represents a node in Arnold.
This represents a universe in Arnold.