HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
OP_DataTypes.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: OP library (C++)
7  *
8  * COMMENTS: Data types for cooked data
9  *
10  */
11 
12 #ifndef __OP_DataTypes_h__
13 #define __OP_DataTypes_h__
14 
15 #include <SYS/SYS_Deprecated.h>
16 #include <UT/UT_ValArray.h>
17 #include <UT/UT_IntrusivePtr.h>
18 #include <UT/UT_UniquePtr.h>
19 
20 class OP_NetworkBoxItem;
21 class OP_Node;
23 
27 
29 {
30  OP_NO_DATA, // No cooked data associated with the node
31  OP_GEOMETRY_DATA, // Cooked data in geometry format
32  OP_TRANSFORM_DATA, // Cooked data as a transform
33  OP_OTHER_DATA, // Generic catch all
34  OP_CHANNEL_DATA, // Channel collection output
35  OP_SHADER_DATA, // Shader data
36  OP_SIM_DATA, // Dynamics data
37  OP_RASTER_DATA, // Raster data
38  OP_SCENE_DATA, // Scene description
39  OP_LAYER_DATA, // IMX Layer data
40  OP_NUM_DATA_TYPES // sentinel
41 };
42 // For backwards
44 
46 {
47  OP_INTEREST_NONE = 0x00, // I'm not interested
48  OP_INTEREST_PARM = 0x01, // interested in a parameter changes (rare)
49  OP_INTEREST_DATA = 0x02, // interested in op data changes (usual)
50  OP_INTEREST_FLAG = 0x04, // interested in flag changes (e.g.display flg)
51 
52  // OP_INTEREST_NAME should NOT be used with addExtraInput().
53  // It should only be used with addOpReference() or addOpNameReference().
54  OP_INTEREST_NAME = 0x08, // interested in OP name changes
55 
56  OP_INTEREST_INPUT = 0x10, // interested when inputs change
57  OP_INTEREST_OUTPUT = 0x20, // interested when outputs change
58  OP_INTEREST_INPUTREF= 0x40, // used for resolving input references
59 
60  OP_INTEREST_CHANNEL = 0x80, // used for cached channel reference
61 
62  // OP_INTEREST_NAME should NOT be used with addExtraInput().
63  // It should only be used with addOpReference() or addOpNameReference().
64  // interested in name & data:
69 
70  // The following acts as a sentinal
71  OP_INTEREST_ALL = 0xFFFFFFFF // Use this to match all interests
72 };
73 
74 /// An enumeration that indicates to the user, what aspect of a OP_Node's UI
75 /// representation changed, that caused the OP_UI_CHANGED event for that node
76 /// to be sent.
78 {
79  /// The change type wasn't set, so it could be any of them.
81  /// Errors/warnings got set/cleared.
83  /// The pick/selection state changed
85  /// The node's color changed
87  /// The node's delete script changed
89  /// The node's comment changed
91  /// The node's lock flag
93  /// The node's compress (thumbnail) flag changed
95  /// The node's OTL definition match state changed
97  /// The active input changed
99  /// The input/output connections have changed
101  /// The expression language changed
103 
104  /// A network box owned by this network changed
106  /// A post-it owned by this network changed
108  /// A dot owned by this network changed
110 
111  /// Preview has changed
113 
115 
117  /// \sa COP2_UIChangeType
119  /// \sa VOP_UIChangeType
121 };
122 
123 // When loading data into an existing network, this enum defines the possible
124 // actions to take when loading items with names that are already in use.
126 {
127  // Always create a new item with a new name. Existing item is unaffected.
129  // Delete the existing item, and create a new one with the same name.
131  // Keep the existing item, and just load the data into this item.
133 };
134 
135 #endif
The change type wasn't set, so it could be any of them.
Definition: OP_DataTypes.h:80
The node's OTL definition match state changed.
Definition: OP_DataTypes.h:96
Preview has changed.
Definition: OP_DataTypes.h:112
#define SYS_DEPRECATED(__V__)
The input/output connections have changed.
Definition: OP_DataTypes.h:100
A post-it owned by this network changed.
Definition: OP_DataTypes.h:107
UT_Array< OP_Node * > OP_NodeList
Definition: OP_DataTypes.h:25
The node's delete script changed.
Definition: OP_DataTypes.h:88
A dot owned by this network changed.
Definition: OP_DataTypes.h:109
UT_IntrusivePtr< OP_DataBlock > OP_DataBlockPtr
Definition: OP_DataTypes.h:26
The pick/selection state changed.
Definition: OP_DataTypes.h:84
The expression language changed.
Definition: OP_DataTypes.h:102
A network box owned by this network changed.
Definition: OP_DataTypes.h:105
OP_InterestType
Definition: OP_DataTypes.h:45
The node's lock flag.
Definition: OP_DataTypes.h:92
Wrapper around hboost::intrusive_ptr.
UT_ValArray< OP_NetworkBoxItem * > OP_NetworkBoxItemList
Definition: OP_DataTypes.h:22
OP_UIChangeType
Definition: OP_DataTypes.h:77
The node's compress (thumbnail) flag changed.
Definition: OP_DataTypes.h:94
The node's color changed.
Definition: OP_DataTypes.h:86
OP_OverwriteAction
Definition: OP_DataTypes.h:125
OP_DataType
Definition: OP_DataTypes.h:28
Errors/warnings got set/cleared.
Definition: OP_DataTypes.h:82
The active input changed.
Definition: OP_DataTypes.h:98
The node's comment changed.
Definition: OP_DataTypes.h:90