23struct AtNodeEntryIterator;
25struct AtParamValueMap;
27struct AtAssetIterator;
120#define AI_CACHE_TEXTURE 0x0001
121#define AI_CACHE_BACKGROUND 0x0002
122#define AI_CACHE_QUAD 0x0004
123#define AI_CACHE_VOLUME_DISPLAY 0x0008
124#define AI_CACHE_ALL (AI_CACHE_TEXTURE | AI_CACHE_BACKGROUND | AI_CACHE_QUAD | AI_CACHE_VOLUME_DISPLAY)
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:54
#define AI_NODE_ALL
Bitmask including all node types, used by AiSceneWrite()
Definition: ai_node_entry.h:50
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:252
int blend_mode
Blend mode
Definition: ai_universe.h:39
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:607
AI_API bool AiUniverseCacheFlush(AtUniverse *universe, int cache_flags)
Flush one or several caches in a given Arnold universe.
Definition: ai_universe.cpp:39
AI_API AtUniverse * AiUniverse()
Creates a new universe that can be used independently of the default universe.
Definition: ai_universe.cpp:93
AtString expression
Optional light path expression.
Definition: ai_universe.h:40
AI_API AI_PURE AtNode * AiUniverseGetOptions(const AtUniverse *universe)
Fetches the global options node for a specific Arnold universe.
Definition: ai_universe.cpp:127
AI_API AtNodeEntry * AiNodeEntryIteratorGetNext(AtNodeEntryIterator *iter)
Returns current node entry and points node entry iterator to the next node entry.
Definition: ai_universe.cpp:596
AI_API AI_DEVICE AI_PURE AtNode * AiUniverseGetCamera(const AtUniverse *universe)
Fetches the currently active camera node for a given Arnold universe.
Definition: ai_universe.cpp:154
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:361
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:223
AI_API const AtAOVEntry * AiAOVIteratorGetNext(AtAOVIterator *iter)
Returns current AOV entry and points AOV iterator to the next AOV.
Definition: ai_universe.cpp:647
AI_API AtNode * AiNodeIteratorGetNext(AtNodeIterator *iter)
Returns current node and points node iterator to the next node.
Definition: ai_universe.cpp:544
AI_API AtUniverse * AiUniverseGetFromId(uint32_t universe_id)
Returns a universe from its 32bit integer ID.
Definition: ai_universe.cpp:477
uint8_t type
Data type
Definition: ai_universe.h:38
AtString name
AOV name
Definition: ai_universe.h:37
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:658
AI_API void AiNodeIteratorDestroy(AtNodeIterator *iter)
Destroys a node iterator when it is no longer needed.
Definition: ai_universe.cpp:519
AI_API uint32_t AiUniverseGetId(const AtUniverse *universe)
Returns a 32bit integer ID for a universe.
Definition: ai_universe.cpp:463
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:267
AI_API void AiNodeEntryIteratorDestroy(AtNodeEntryIterator *iter)
Destroys a node entry iterator when it is no longer needed.
Definition: ai_universe.cpp:571
AI_API AtRenderSession * AiUniverseGetRenderSession(const AtUniverse *universe)
Get the render session using the given universe.
Definition: ai_universe.cpp:322
AI_API AI_PURE AtBBox AiUniverseGetSceneBounds(const AtUniverse *universe)
Returns the bounding box of the given Arnold universe.
Definition: ai_universe.cpp:194
AI_API void AiUniverseDestroy(AtUniverse *universe)
Destroys an existing universe and releases any allocated resources.
Definition: ai_universe.cpp:108
AI_API void AiAOVIteratorDestroy(AtAOVIterator *iter)
Destroys a AOV iterator when it is no longer needed.
Definition: ai_universe.cpp:622
AI_API AI_PURE bool AiNodeIteratorFinished(const AtNodeIterator *iter)
Returns true if there are no more nodes to iterate over.
Definition: ai_universe.cpp:555
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:304
AI_API AtAssetIterator * AiUniverseGetAssetIterator(const AtUniverse *universe)
Creates a new iterator that loops over file dependencies (assets) defined in the given Arnold univers...
Definition: ai_universe.cpp:502
This helper struct is used to return information from the AOV iterator.
Definition: ai_universe.h:36
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.