ai_universe.h
1 /*
2  * Arnold API header file
3  * Copyright (c) 1998-2009 Marcos Fajardo, (c) 2009-2013 Solid Angle SL
4  */
5 
11 #pragma once
12 #include "ai_types.h"
13 #include "ai_bbox.h"
14 #include "ai_api.h"
15 
16 // forward declares
17 struct AtNode;
18 struct AtNodeIterator;
19 struct AtNodeEntry;
20 struct AtNodeEntryIterator;
21 struct AtAOVIterator;
22 
23 struct AtAOVEntry
24 {
25  const char* name;
26  AtByte type;
27  int blend_mode;
28 };
29 
42 AI_API bool AiUniverseIsActive();
43 AI_API bool AiUniverseCacheFlush(int cache_flags);
45 AI_API AtNode* AiUniverseGetCamera();
47 AI_API AtNodeIterator* AiUniverseGetNodeIterator(unsigned int node_mask);
48 AI_API AtNodeEntryIterator* AiUniverseGetNodeEntryIterator(unsigned int node_mask);
49 AI_API AtAOVIterator* AiUniverseGetAOVIterator();
50 /*\}*/
51 
55 AI_API void AiNodeIteratorDestroy(AtNodeIterator* iter);
56 AI_API AtNode* AiNodeIteratorGetNext(AtNodeIterator* iter);
57 AI_API bool AiNodeIteratorFinished(const AtNodeIterator* iter);
58 /*\}*/
59 
63 AI_API void AiNodeEntryIteratorDestroy(AtNodeEntryIterator* iter);
64 AI_API AtNodeEntry* AiNodeEntryIteratorGetNext(AtNodeEntryIterator* iter);
65 AI_API bool AiNodeEntryIteratorFinished(const AtNodeEntryIterator* iter);
66 /*\}*/
67 
71 AI_API void AiAOVIteratorDestroy(AtAOVIterator* iter);
72 AI_API const AtAOVEntry* AiAOVIteratorGetNext(AtAOVIterator* iter);
73 AI_API bool AiAOVIteratorFinished(const AtAOVIterator* iter);
74 /*\}*/
75 
79 #define AI_CACHE_TEXTURE 0x0001
80 #define AI_CACHE_HAIR_DIFFUSE 0x0004
81 #define AI_CACHE_BACKGROUND 0x0008
82 #define AI_CACHE_QUAD 0x0010
83 #define AI_CACHE_ALL 0xFFFF
84 /*\}*/
85 
86 /*\}*/

© 2009-2013 Solid Angle SL · all rights reserved · www.solidangle.com