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

Go to the source code of this file.

Macros

#define OP_USE_STRICT_IDX_TYPES   0
 

Typedefs

typedef UT_ValArray
< OP_NetworkBoxItem * > 
OP_NetworkBoxItemList
 
typedef UT_Array< OP_Node * > OP_NodeList
 
typedef UT_IntrusivePtr
< OP_DataBlock
OP_DataBlockPtr
 
typedef OP_DataType OP_DATA_TYPE
 
using OP_InputIdx = int
 
using OP_OutputIdx = int
 

Enumerations

enum  OP_DataType {
  OP_NO_DATA, OP_GEOMETRY_DATA, OP_TRANSFORM_DATA, OP_OTHER_DATA,
  OP_CHANNEL_DATA, OP_SHADER_DATA, OP_SIM_DATA, OP_RASTER_DATA,
  OP_SCENE_DATA, OP_LAYER_DATA, OP_NUM_DATA_TYPES
}
 
enum  OP_InterestType {
  OP_INTEREST_NONE = 0x00, OP_INTEREST_PARM = 0x01, OP_INTEREST_DATA = 0x02, OP_INTEREST_FLAG = 0x04,
  OP_INTEREST_NAME = 0x08, OP_INTEREST_INPUT = 0x10, OP_INTEREST_OUTPUT = 0x20, OP_INTEREST_INPUTREF = 0x40,
  OP_INTEREST_CHANNEL = 0x80, OP_INTEREST_NAMEDATA = OP_INTEREST_NAME|OP_INTEREST_DATA, OP_INTEREST_NAME_INPUT = OP_INTEREST_NAME|OP_INTEREST_INPUT, OP_INTEREST_NAME_OUTPUT = OP_INTEREST_NAME|OP_INTEREST_OUTPUT,
  OP_INTEREST_NAME_CHANNEL = OP_INTEREST_NAME|OP_INTEREST_CHANNEL, OP_INTEREST_ALL = 0xFFFFFFFF
}
 
enum  OP_UIChangeType {
  OP_UICHANGE_ANY = 0, OP_UICHANGE_ERROR_STATE, OP_UICHANGE_PICK, OP_UICHANGE_COLOR,
  OP_UICHANGE_DELETE_SCRIPT, OP_UICHANGE_COMMENT, OP_UICHANGE_LOCK_FLAG, OP_UICHANGE_COMPRESS_FLAG,
  OP_UICHANGE_OTL_MATCH_STATE, OP_UICHANGE_ACTIVE_INPUT, OP_UICHANGE_CONNECTIONS, OP_UICHANGE_EXPR_LANGUAGE,
  OP_UICHANGE_NETWORKBOX, OP_UICHANGE_POSTIT, OP_UICHANGE_DOT, OP_UICHANGE_PREVIEW,
  OP_UICHANGE_OPTYPE_OBJ = 1 << 8, OP_UICHANGE_OPTYPE_SOP = 2 << 8, OP_UICHANGE_OPTYPE_COP2 = 9 << 8, OP_UICHANGE_OPTYPE_VOP = 11 << 8
}
 
enum  OP_OverwriteAction { OP_NO_OVERWRITE, OP_OVERWRITE_DELETE_EXISTING, OP_OVERWRITE_USE_EXISTING }
 

Macro Definition Documentation

#define OP_USE_STRICT_IDX_TYPES   0

Enabling these types can catch unwanted implicit conversions for node port indices, and are helpful in catching misuse of these types (see r499653 for an example that was caught using these types). This is especially helpful to use if you are trying to remove uses of unsigned for input/output indices, since negative values can refer to spare inputs/outputs.

TODO: This currently only builds for OP and COP. It would be nice to sweep the rest of the code to use these type aliases instead of int, unsigned, etc.

Definition at line 29 of file OP_DataTypes.h.

Typedef Documentation

Definition at line 204 of file OP_DataTypes.h.

Definition at line 43 of file OP_DataTypes.h.

using OP_InputIdx = int

Type aliases that should be used for indices referencing node input/output ports. These types should really be exint, but for compatibility with the hundreds of places we use these indices, these are int for now. For that reason you might see static_cast<int>(...) despite this type being int.

Definition at line 184 of file OP_DataTypes.h.

Definition at line 39 of file OP_DataTypes.h.

Definition at line 42 of file OP_DataTypes.h.

using OP_OutputIdx = int

Type aliases that should be used for indices referencing node input/output ports. These types should really be exint, but for compatibility with the hundreds of places we use these indices, these are int for now. For that reason you might see static_cast<int>(...) despite this type being int.

Definition at line 185 of file OP_DataTypes.h.

Enumeration Type Documentation

Enumerator
OP_NO_DATA 
OP_GEOMETRY_DATA 
OP_TRANSFORM_DATA 
OP_OTHER_DATA 
OP_CHANNEL_DATA 
OP_SHADER_DATA 
OP_SIM_DATA 
OP_RASTER_DATA 
OP_SCENE_DATA 
OP_LAYER_DATA 
OP_NUM_DATA_TYPES 

Definition at line 189 of file OP_DataTypes.h.

Enumerator
OP_INTEREST_NONE 
OP_INTEREST_PARM 
OP_INTEREST_DATA 
OP_INTEREST_FLAG 
OP_INTEREST_NAME 
OP_INTEREST_INPUT 
OP_INTEREST_OUTPUT 
OP_INTEREST_INPUTREF 
OP_INTEREST_CHANNEL 
OP_INTEREST_NAMEDATA 
OP_INTEREST_NAME_INPUT 
OP_INTEREST_NAME_OUTPUT 
OP_INTEREST_NAME_CHANNEL 
OP_INTEREST_ALL 

Definition at line 206 of file OP_DataTypes.h.

Enumerator
OP_NO_OVERWRITE 
OP_OVERWRITE_DELETE_EXISTING 
OP_OVERWRITE_USE_EXISTING 

Definition at line 286 of file OP_DataTypes.h.

An enumeration that indicates to the user, what aspect of a OP_Node's UI representation changed, that caused the OP_UI_CHANGED event for that node to be sent.

Enumerator
OP_UICHANGE_ANY 

The change type wasn't set, so it could be any of them.

OP_UICHANGE_ERROR_STATE 

Errors/warnings got set/cleared.

OP_UICHANGE_PICK 

The pick/selection state changed.

OP_UICHANGE_COLOR 

The node's color changed.

OP_UICHANGE_DELETE_SCRIPT 

The node's delete script changed.

OP_UICHANGE_COMMENT 

The node's comment changed.

OP_UICHANGE_LOCK_FLAG 

The node's lock flag.

OP_UICHANGE_COMPRESS_FLAG 

The node's compress (thumbnail) flag changed.

OP_UICHANGE_OTL_MATCH_STATE 

The node's OTL definition match state changed.

OP_UICHANGE_ACTIVE_INPUT 

The active input changed.

OP_UICHANGE_CONNECTIONS 

The input/output connections have changed.

OP_UICHANGE_EXPR_LANGUAGE 

The expression language changed.

OP_UICHANGE_NETWORKBOX 

A network box owned by this network changed.

OP_UICHANGE_POSTIT 

A post-it owned by this network changed.

OP_UICHANGE_DOT 

A dot owned by this network changed.

OP_UICHANGE_PREVIEW 

Preview has changed.

OP_UICHANGE_OPTYPE_OBJ 
OP_UICHANGE_OPTYPE_SOP 
OP_UICHANGE_OPTYPE_COP2 
See Also
COP2_UIChangeType
OP_UICHANGE_OPTYPE_VOP 
See Also
VOP_UIChangeType

Definition at line 238 of file OP_DataTypes.h.