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_NUM_DATA_TYPES // sentinel
40 };
41 // For backwards
43 
45 {
46  OP_INTEREST_NONE = 0x00, // I'm not interested
47  OP_INTEREST_PARM = 0x01, // interested in a parameter changes (rare)
48  OP_INTEREST_DATA = 0x02, // interested in op data changes (usual)
49  OP_INTEREST_FLAG = 0x04, // interested in flag changes (e.g.display flg)
50 
51  // OP_INTEREST_NAME should NOT be used with addExtraInput().
52  // It should only be used with addOpReference() or addOpNameReference().
53  OP_INTEREST_NAME = 0x08, // interested in OP name changes
54 
55  OP_INTEREST_INPUT = 0x10, // interested when inputs change
56  OP_INTEREST_OUTPUT = 0x20, // interested when outputs change
57  OP_INTEREST_INPUTREF= 0x40, // used for resolving input references
58 
59  OP_INTEREST_CHANNEL = 0x80, // used for cached channel reference
60 
61  // OP_INTEREST_NAME should NOT be used with addExtraInput().
62  // It should only be used with addOpReference() or addOpNameReference().
63  // interested in name & data:
68 
69  // The following acts as a sentinal
70  OP_INTEREST_ALL = 0xFFFFFFFF // Use this to match all interests
71 };
72 
73 /// An enumeration that indicates to the user, what aspect of a OP_Node's UI
74 /// representation changed, that caused the OP_UI_CHANGED event for that node
75 /// to be sent.
77 {
78  /// The change type wasn't set, so it could be any of them.
80  /// Errors/warnings got set/cleared.
82  /// The pick/selection state changed
84  /// The node's color changed
86  /// The node's delete script changed
88  /// The node's comment changed
90  /// The node's lock flag
92  /// The node's compress (thumbnail) flag changed
94  /// The node's OTL definition match state changed
96  /// The active input changed
98  /// The input/output connections have changed
100  /// The expression language changed
102 
103  /// A network box owned by this network changed
105  /// A post-it owned by this network changed
107  /// A dot owned by this network changed
109 
111 
113  /// \sa COP2_UIChangeType
115  /// \sa VOP_UIChangeType
117 };
118 
119 // When loading data into an existing network, this enum defines the possible
120 // actions to take when loading items with names that are already in use.
122 {
123  // Always create a new item with a new name. Existing item is unaffected.
125  // Delete the existing item, and create a new one with the same name.
127  // Keep the existing item, and just load the data into this item.
129 };
130 
131 #endif
The change type wasn't set, so it could be any of them.
Definition: OP_DataTypes.h:79
The node's OTL definition match state changed.
Definition: OP_DataTypes.h:95
#define SYS_DEPRECATED(__V__)
The input/output connections have changed.
Definition: OP_DataTypes.h:99
A post-it owned by this network changed.
Definition: OP_DataTypes.h:106
UT_Array< OP_Node * > OP_NodeList
Definition: OP_DataTypes.h:25
The node's delete script changed.
Definition: OP_DataTypes.h:87
A dot owned by this network changed.
Definition: OP_DataTypes.h:108
UT_IntrusivePtr< OP_DataBlock > OP_DataBlockPtr
Definition: OP_DataTypes.h:26
The pick/selection state changed.
Definition: OP_DataTypes.h:83
The expression language changed.
Definition: OP_DataTypes.h:101
A network box owned by this network changed.
Definition: OP_DataTypes.h:104
OP_InterestType
Definition: OP_DataTypes.h:44
The node's lock flag.
Definition: OP_DataTypes.h:91
Wrapper around hboost::intrusive_ptr.
UT_ValArray< OP_NetworkBoxItem * > OP_NetworkBoxItemList
Definition: OP_DataTypes.h:22
OP_UIChangeType
Definition: OP_DataTypes.h:76
The node's compress (thumbnail) flag changed.
Definition: OP_DataTypes.h:93
The node's color changed.
Definition: OP_DataTypes.h:85
OP_OverwriteAction
Definition: OP_DataTypes.h:121
OP_DataType
Definition: OP_DataTypes.h:28
Errors/warnings got set/cleared.
Definition: OP_DataTypes.h:81
The active input changed.
Definition: OP_DataTypes.h:97
The node's comment changed.
Definition: OP_DataTypes.h:89