HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PDG_AttributeTypes.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  * COMMENTS:
7  */
8 
9 #ifndef __PDG_ATTRIBUTE_TYPES_H__
10 #define __PDG_ATTRIBUTE_TYPES_H__
11 
12 #include <SYS/SYS_Types.h>
13 
14 /// Enumeration of possible attribute types
16 {
17  /// An array of `int` values
19 
20  /// An array of `fpreal` values
22 
23  /// An array of `UT_StringHolder` values
25 
26  /// An array of `PDG_File` values, e.g. File info structs
27  eFileArray,
28 
29  /// A single, opaque PyObject
31 
32  /// A single PDG_ApplicationShim::Geometry instance
33  eGeometry,
34 
35  /// Undefined or uninitialized attribute type
37 };
38 
39 /// Enumeration of extra attribute flags. Flags can be ORed together.
41 {
42  /// Covenience value, all flags off
43  eNoFlags = 0x0000,
44 
45  /// The attribute should not be copied onto downstream work items
46  eNoCopyFlag = 0x0001,
47 
48  /// The attribute's value should be exported to the job environment
49  eEnvExportFlag = 0x0002,
50 
51  /// The attribute is read-only and cannot be modified on this work item
52  eReadOnlyFlag = 0x0004,
53 
54  /// The attribute is for internal use, and will be accessed with other
55  /// API methods. It should not be displayed in the UI
56  eInternalFlag = 0x0008,
57 
58  /// The attribute contains a operator path
59  eOperatorFlag = 0x0010,
60 
61  /// The attribute contains a path that should be transfered to
62  /// remote machines when the work item cooks.
63  eTransferFlag = 0x0020,
64 
65  /// The attribute should be copied to internal dependent(s) within
66  /// the node, before the dependent(s) cooks
67  eDependentFlag = 0x0040,
68 
69  /// The attribute should not cause the owner to be dirtied if it
70  /// changes between cooks, e.g due to work item regeneration
71  eNoDirtyFlag = 0x0080,
72 
73  /// The attribute is not saved when the owner is serialized
74  eTransientFlag = 0x0100,
75 
76  /// The attribute is bound to a particular work item. This flag is
77  /// only relevant for global/graph attributes
78  eBoundFlag = 0x0200,
79 
80  /// The attribute should be treated as an extra input. If the file
81  /// changes on disk between cooks, the cache of the work items using
82  /// the file is invalided.
83  eInputFileFlag = 0x0400,
84 
85  //// Covenience value, the bitwise OR of all other flags
86  eAllFlags = 0xFFFF
87 };
88 
89 /// Enumeration of attribute cast results
91 {
92  /// No cast error occured (success)
93  eSuccess,
94 
95  /// Cast failed due to a missing/undefined attribute
97 
98  /// Cast failed due to a type mismatch (string vs. int)
99  eErrorType,
100 
101  /// Cast failed due to an index being out of bounds
102  eErrorBounds,
103 
104  /// Cast failed due to an invalid tag (applies to files only)
105  eErrorTag,
106 };
107 
108 /// Enumeration of different ways that attributes can be combined
110 {
111  /// The attribute should be excluded as it does not match any of
112  /// the patterns in the map
113  eIgnore,
114 
115  /// The attribute is flattened, i.e. the first value for the attrib
116  /// is used an no other values are selected.
117  eFirstValue,
118 
119  /// The attribute overwrites existing values, unless the destination
120  /// has its own modications
121  eLastValue,
122 
123  /// The unique values for the attribute are kept,
125 
126  /// The attribute values are concatenated together into an array
127  eAppendArray,
128 
129  /// The minimum value is kept
130  eMinimum,
131 
132  /// The maximum value is kept
133  eMaximum,
134 
135  /// The sum of the values is kept
136  eSum,
137 
138  /// The attribute values are averaged
139  eAverage,
140 
141  /// The most common value is kept
142  eMode,
143 
144  /// The middle value is kept
145  eMedian,
146 
147  /// The values are kept in sorted order
148  eSorted,
149 };
150 
151 /// Enumerations of errors that can occur when merging attributes
153 {
154  /// No error occured
155  eNone,
156 
157  /// Mismatch between types
158  eType,
159 
160  /// Invalid merge operation for the attribute type
161  eInvalidOp,
162 
163  /// Mismatch between stride lengths
164  eStride,
165 };
166 
167 /// Enumeration of types of attribute that can be queried from work items
169 {
170  /// Index [numeric, string]
171  eIndexAttrib,
172  /// Frame [numeric, string]
173  eFrameAttrib,
174  /// Loop depth [numeric, string]
176  /// Work item unique id [numeric, string]
177  eIdAttrib,
178  /// Input result list size [numeric, string]
180  // Output result list size [numeric, string]
182 
183  /// Name [string]
184  eNameAttrib,
185  /// Label [string]
186  eLabelAttrib,
187  /// Log path [string]
188  eLogAttrib,
189 
190  /// Input result list [string]
191  eInputAttrib,
192  /// Input tag [string]
194 
195  /// Output result list [string]
197  /// Output tag [string]
199 
200  /// Scheduler name [string]
202  /// Node name [string]
203  eNodeName,
204 
205  /// Custom attribute name [numeric, string]
207 };
208 
209 #endif /* __PDG_ATTRIBUTE_TYPES_H__ */
A single, opaque PyObject.
Cast failed due to a missing/undefined attribute.
Loop depth [numeric, string].
unsigned short uint16
Definition: SYS_Types.h:38
PDG_AttributeIntrinsic
Enumeration of types of attribute that can be queried from work items.
Invalid merge operation for the attribute type.
The values are kept in sorted order.
Input result list [string].
The attribute values are concatenated together into an array.
Output result list [string].
An array of UT_StringHolder values.
The maximum value is kept.
Covenience value, all flags off.
unsigned char uint8
Definition: SYS_Types.h:36
Cast failed due to a type mismatch (string vs. int)
An array of PDG_File values, e.g. File info structs.
The middle value is kept.
Custom attribute name [numeric, string].
The sum of the values is kept.
PDG_AttributeCast
Enumeration of attribute cast results.
Frame [numeric, string].
The attribute is read-only and cannot be modified on this work item.
The most common value is kept.
Undefined or uninitialized attribute type.
Work item unique id [numeric, string].
The unique values for the attribute are kept,.
PDG_AttributeMergeOp
Enumeration of different ways that attributes can be combined.
Mismatch between stride lengths.
PDG_AttributeFlag
Enumeration of extra attribute flags. Flags can be ORed together.
Mismatch between types.
A single PDG_ApplicationShim::Geometry instance.
Cast failed due to an invalid tag (applies to files only)
An array of fpreal values.
The attribute should not be copied onto downstream work items.
PDG_AttributeType
Enumeration of possible attribute types.
The attribute values are averaged.
No cast error occured (success)
PDG_AttributeMergeError
Enumerations of errors that can occur when merging attributes.
The attribute's value should be exported to the job environment.
An array of int values.
The attribute is not saved when the owner is serialized.
Cast failed due to an index being out of bounds.
The minimum value is kept.
Input result list size [numeric, string].
The attribute contains a operator path.
Index [numeric, string].