20struct AtParamIterator;
21struct AtMetaDataIterator;
37#define AI_NODE_UNDEFINED 0x0000
38#define AI_NODE_OPTIONS 0x0001
39#define AI_NODE_CAMERA 0x0002
40#define AI_NODE_LIGHT 0x0004
41#define AI_NODE_SHAPE 0x0008
42#define AI_NODE_SHADER 0x0010
43#define AI_NODE_OVERRIDE 0x0020
44#define AI_NODE_DRIVER 0x0040
45#define AI_NODE_FILTER 0x0080
46#define AI_NODE_COLOR_MANAGER 0x0800
47#define AI_NODE_OPERATOR 0x1000
48#define AI_NODE_ALL 0xFFFF
54#define AI_NODE_SHAPE_PROCEDURAL 0x0100
55#define AI_NODE_SHAPE_VOLUME 0x0200
56#define AI_NODE_SHAPE_IMPLICIT 0x0400
73 bool (*PluginInitialize)(
void**);
74 void (*PluginCleanup )(
void*);
76 void (*Initialize )(AtRenderSession*,
AtNode*);
77 void (*Update )(AtRenderSession*,
AtNode*);
120#ifdef AI_CPU_COMPILER
128AI_API
void AiNodeEntryInstall (
int type, uint8_t output_type,
const char* name,
const char* filename,
const AtNodeMethods* methods,
const char* version);
AtString class for fast comparisons.
Actual parameter value for each supported type.
Definition: ai_params.h:106
Arnold String allows for fast string comparisons.
Definition: ai_string.h:46
AI_API void AiNodeEntryInstall(int type, uint8_t output_type, const char *name, const char *filename, const AtNodeMethods *methods, const char *version)
Install a new node in the system.
Definition: ai_nodeentry.cpp:307
AI_API AI_PURE int AiNodeEntryGetType(const AtNodeEntry *nentry)
Return the type of the given AtNodeEntry.
Definition: ai_nodeentry.cpp:76
AI_API AI_PURE const AtParamEntry * AiNodeEntryLookUpParameter(const AtNodeEntry *nentry, const AtString param)
Look up a parameter in a node entry from a name string.
Definition: ai_nodeentry.cpp:258
AI_API AI_PURE int AiNodeEntryGetDerivedType(const AtNodeEntry *nentry)
Return the derived type of the given AtNodeEntry.
Definition: ai_nodeentry.cpp:117
AI_API AI_PURE const AtParamEntry * AiNodeEntryLookUpOutput(const AtNodeEntry *nentry, const AtString param)
Look up an output parameter in a node entry from a name string.
Definition: ai_nodeentry.cpp:276
AI_API bool AiMetaDataIteratorFinished(const AtMetaDataIterator *iter)
Returns true if there is no more metadata to iterate over.
Definition: ai_metadata.cpp:176
AI_API void AiParamIteratorDestroy(AtParamIterator *iter)
Destroys a param iterator when it is no longer needed.
Definition: ai_nodeentry.cpp:350
AI_API AI_PURE int AiNodeEntryGetNumOutputs(const AtNodeEntry *nentry)
Return the number of outputs of a given AtNodeEntry.
Definition: ai_nodeentry.cpp:186
AI_API AI_PURE const AtParamEntry * AiNodeEntryGetOutput(const AtNodeEntry *nentry, int i)
Return the i'th output AtParamEntry in an AtNodeEntry.
Definition: ai_nodeentry.cpp:198
AI_API AI_PURE int AiNodeEntryGetNumParams(const AtNodeEntry *nentry)
Return the number of parameters of a given AtNodeEntry.
Definition: ai_nodeentry.cpp:163
const AtCommonMethods * cmethods
common methods
Definition: ai_node_entry.h:86
AI_API AI_PURE int AiNodeEntryGetOutputType(const AtNodeEntry *nentry)
Return the output type of the given AtNodeEntry.
Definition: ai_nodeentry.cpp:152
const void * dmethods
derived methods
Definition: ai_node_entry.h:87
AI_API AI_PURE const char * AiNodeEntryGetFilename(const AtNodeEntry *nentry)
Return the filename (so/dll path) of an AtNodeEntry.
Definition: ai_nodeentry.cpp:210
AI_API AI_PURE const AtParamEntry * AiNodeEntryGetParameter(const AtNodeEntry *nentry, int i)
Return the i'th parameter in an AtNodeEntry.
Definition: ai_nodeentry.cpp:175
AI_API void AiNodeEntryUninstall(const char *name)
Uninstall a node from the system.
Definition: ai_nodeentry.cpp:328
AI_API const AtParamEntry * AiParamIteratorGetNext(AtParamIterator *iter)
Returns current param entry and points param iterator to the next one.
Definition: ai_nodeentry.cpp:376
AI_API AI_PURE const char * AiNodeEntryGetName(const AtNodeEntry *nentry)
Return the name of the given AtNodeEntry.
Definition: ai_nodeentry.cpp:54
AI_API AI_PURE const char * AiNodeEntryGetDerivedTypeName(const AtNodeEntry *nentry)
Return the derived type of the given AtNodeEntry as a string, if applicable.
Definition: ai_nodeentry.cpp:130
AI_API AI_PURE int AiNodeEntryGetCount(const AtNodeEntry *nentry)
Return the number of instances of a particular node.
Definition: ai_nodeentry.cpp:240
AI_API bool AiParamIteratorFinished(const AtParamIterator *iter)
Returns true if there are no more parameters to iterate over.
Definition: ai_nodeentry.cpp:390
AI_API AI_PURE const AtNodeEntry * AiNodeEntryLookUp(const AtString name)
Look up a node entry from a name string.
Definition: ai_nodeentry.cpp:43
AI_API AtMetaDataIterator * AiNodeEntryGetMetaDataIterator(const AtNodeEntry *nentry, const char *param=NULL)
Creates and returns a new AtMetaDataIterator for this node entry.
Definition: ai_nodeentry.cpp:402
AI_API AtParamIterator * AiNodeEntryGetParamIterator(const AtNodeEntry *nentry)
Creates and returns a new AtParamIterator for this node entry.
Definition: ai_nodeentry.cpp:340
AI_API AI_PURE const char * AiNodeEntryGetTypeName(const AtNodeEntry *nentry)
Return the type of the given AtNodeEntry as a string.
Definition: ai_nodeentry.cpp:89
AI_API AI_PURE const char * AiNodeEntryGetVersion(const AtNodeEntry *nentry)
Return the version that this node was linked with.
Definition: ai_nodeentry.cpp:227
AI_API const AtMetaDataEntry * AiMetaDataIteratorGetNext(AtMetaDataIterator *iter)
Returns current metadata entry and points metadata iterator to the next one.
Definition: ai_metadata.cpp:165
AI_API AI_PURE AtString AiNodeEntryGetNameAtString(const AtNodeEntry *nentry)
Return the name of the given AtNodeEntry as an AtString.
Definition: ai_nodeentry.cpp:65
AI_API void AiMetaDataIteratorDestroy(AtMetaDataIterator *iter)
Destroys a metadata iterator when it is no longer needed.
Definition: ai_metadata.cpp:139
Methods common to all nodes.
Definition: ai_node_entry.h:72
Definition: ai_node_entry.h:91
This represents a node type in Arnold.
Node methods.
Definition: ai_node_entry.h:85
This represents a node in Arnold.