Data Structures | Macros | Typedefs | Functions
ai_operator.h File Reference

API for writing operator nodes. More...

#include "ai_nodes.h"
#include "ai_version.h"
#include "ai_matrix.h"
#include "ai_api.h"

Go to the source code of this file.

Data Structures

struct  AtOperatorNodeMethods
 Cleanup method for child data which is passed to other operators. More...
 

Macros

#define AI_OPERATOR_COMMON_NODE_METHODS
 Exporter for the methods shared with the standard node interface. More...
 
#define AI_OPERATOR_NODE_EXPORT_METHODS(tag)
 
#define AI_OPERATOR_NODE_INTERNAL_METHODS(tag)
 
#define operator_init   static bool OperatorInit(AtNode* op, void** user_data)
 
#define operator_cleanup   static bool OperatorCleanup(AtNode* op, void* user_data)
 
#define operator_cook   static bool OperatorCook(AtNode* node, AtNode* op, void* child_data, void* user_data, const AtArray* matching_params, AtCookContext* cook_context)
 
#define operator_post_cook   static bool OperatorPostCook(AtNode* op, void* user_data)
 

Typedefs

typedef bool(* AtOpCleanupChildData) (void *child_data)
 
typedef bool(* AtOpInit) (AtNode *op, void **user_data)
 Operator init method. More...
 
typedef bool(* AtOpCleanup) (AtNode *op, void *user_data)
 Operator cleanup method. More...
 
typedef bool(* AtOpCook) (AtNode *node, AtNode *op, void *child_data, void *user_data, const AtArray *matching_params, AtCookContext *cook_context)
 Operator cook method which operates on the cooked node. More...
 
typedef bool(* AtOpPostCook) (AtNode *op, void *user_data)
 Operator post cook method which is called once per operator instance after all the cook calls for all operators are finished. More...
 
typedef int(* AtOpFuncPtr) (AtOperatorNodeMethods *methods)
 Operator function pointer entry-point symbol. More...
 

Functions

AI_API bool AiOpSetTarget (AtUniverse *universe, AtNode *node)
 Set the target operator in a given Arnold universe. More...
 
AI_API AtNodeAiOpGetTarget (const AtUniverse *universe)
 Get the target operator node in a given universe, if any. More...
 
AI_API AtArray * AiOpGetInputs (AtNode *op)
 Get operator nodes connected to the inputs on a given operator node. More...
 
AI_API bool AiOpLink (AtNode *from, AtNode *to, int index=-1)
 Connect an operator to a given input index on an operator. More...
 
AI_API bool AiOpUnlinkInputByIndex (AtNode *to, unsigned int index)
 Unlink an input connection on an operator for a given index. More...
 
AI_API bool AiOpUnlink (AtNode *from, AtNode *to)
 Unlink connected operators. More...
 
AI_API void AiOpSetChildData (AtNode *op, void *child_data=NULL, AtOpCleanupChildData cleanup=NULL)
 Set child data on an operator. More...
 
AI_API bool AiOpMatchNodeSelection (AtNode *node, AtString selection, bool relative=true, AtNode *target=NULL)
 Check if a node, including its name and parameters, match a given selection expression. More...
 
AI_API AtNodeAiOpCookContextGetCookScope (AtCookContext *cook_context)
 Get the cook scope which is represented by the node that the operator graph is connected to. More...
 

Detailed Description

API for writing operator nodes.


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