HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VEX_VexOp.h File Reference
#include "VEX_API.h"
#include "VEX_PodTypes.h"
#include "VEX_VexTypes.h"
#include "VEX_Error.h"
+ Include dependency graph for VEX_VexOp.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  VEX_VexOpArg
 
class  VEX_VexOp
 Use this class to extend VEX by adding custom VEX functions. More...
 

Macros

#define VEX_OPTIMIZE_0   0
 
#define VEX_OPTIMIZE_1   1
 
#define VEX_OPTIMIZE_2   2
 

Typedefs

typedef void *(* VEX_VexOpInit )()
 
typedef void(* VEX_VexOpCallback )(int argc, void *argv[], void *data)
 
typedef void(* VEX_VexOpTypedCallback )(int argc, VEX_VexOpArg argv[], void *data)
 
typedef void(* VEX_VexOpCleanup )(void *data)
 VEX operator cleanup callback. When called, it should deallocate the data. More...
 
typedef void(* VEX_VexOpCompleted )(void *data)
 

Functions

SYS_VISIBILITY_EXPORT void newVEXOp (void *)
 

Macro Definition Documentation

#define VEX_OPTIMIZE_0   0

Perform no optimization on the VEX function

Warning
this may impact performance severely.
Examples:
VEX/VEX_Example.C, and VEX/VEX_Ops.C.

Definition at line 126 of file VEX_VexOp.h.

#define VEX_OPTIMIZE_1   1

If the result of the function is unused, the function can be eliminated.

Examples:
VEX/VEX_Example.C, and VEX/VEX_Ops.C.

Definition at line 127 of file VEX_VexOp.h.

#define VEX_OPTIMIZE_2   2

Definition at line 128 of file VEX_VexOp.h.

Typedef Documentation

typedef void(* VEX_VexOpCallback)(int argc, void *argv[], void *data)

VEX operator evaluation callback. When called, the data returned by the VEX_VexOpInit function will be passed as the "data" argument.

Definition at line 89 of file VEX_VexOp.h.

typedef void(* VEX_VexOpCleanup)(void *data)

VEX operator cleanup callback. When called, it should deallocate the data.

Definition at line 97 of file VEX_VexOp.h.

typedef void(* VEX_VexOpCompleted)(void *data)

VEX operator completed callback. Called when a shader that evaluated a custom operator completes.

Definition at line 100 of file VEX_VexOp.h.

typedef void*(* VEX_VexOpInit)()

VEX operator initialization callback. When called, it should allocated and initialize custom state data.

Definition at line 86 of file VEX_VexOp.h.

typedef void(* VEX_VexOpTypedCallback)(int argc, VEX_VexOpArg argv[], void *data)

VEX operator evaluation callback with argument type information. This version of the operator callback must be used for variadic functions. When called, the data returned by the VEX_VexOpInit function will be passed as the "data" argument.

Definition at line 94 of file VEX_VexOp.h.

Function Documentation

SYS_VISIBILITY_EXPORT void newVEXOp ( void )

Function called in DSO to install new functions All files found in $HOUDINI_DSO_PATH/vex are automatically scanned for this function.

Examples:
alligator/alligator.C, VEX/VEX_Example.C, VEX/VEX_Ops.C, and VEX/VEX_Sort.C.

Definition at line 143 of file VEX_Example.C.