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

Go to the source code of this file.

Enumerations

enum  PDG_AttributeType : int8 {
  PDG_AttributeType::eUndefined = -1, PDG_AttributeType::eIntegerArray = 0, PDG_AttributeType::eFloatArray = 1, PDG_AttributeType::eStringArray = 2,
  PDG_AttributeType::eFileArray = 3, PDG_AttributeType::ePythonObject = 4, PDG_AttributeType::eGeometry = 5, PDG_AttributeType::eDictArray = 6
}
 Enumeration of possible attribute types. More...
 
enum  PDG_AttributeFlag : uint16 {
  PDG_AttributeFlag::eNoFlags = 0x0000, PDG_AttributeFlag::eNoCopyFlag = 0x0001, PDG_AttributeFlag::eEnvExportFlag = 0x0002, PDG_AttributeFlag::eReadOnlyFlag = 0x0004,
  PDG_AttributeFlag::eInternalFlag = 0x0008, PDG_AttributeFlag::eOperatorFlag = 0x0010, PDG_AttributeFlag::eTransferFlag = 0x0020, PDG_AttributeFlag::eDependentFlag = 0x0040,
  PDG_AttributeFlag::eNoDirtyFlag = 0x0080, PDG_AttributeFlag::eTransientFlag = 0x0100, PDG_AttributeFlag::eBoundFlag = 0x0200, PDG_AttributeFlag::eInputFileFlag = 0x0400,
  PDG_AttributeFlag::eTimestampFlag = 0x0800, PDG_AttributeFlag::eMemoryValueFlag = 0x1000, PDG_AttributeFlag::eAllFlags = 0xFFFF
}
 Enumeration of extra attribute flags. Flags can be ORed together. More...
 
enum  PDG_AttributeCast {
  PDG_AttributeCast::eSuccess, PDG_AttributeCast::eErrorMissing, PDG_AttributeCast::eErrorType, PDG_AttributeCast::eErrorBounds,
  PDG_AttributeCast::eErrorTag
}
 Enumeration of attribute cast results. More...
 
enum  PDG_AttributeError {
  PDG_AttributeError::eNone, PDG_AttributeError::eUnspecified, PDG_AttributeError::eNotFound, PDG_AttributeError::eReadOnly,
  PDG_AttributeError::eInternal, PDG_AttributeError::eAttributesReadOnly, PDG_AttributeError::eTypeConflict, PDG_AttributeError::eTypeUpgrade,
  PDG_AttributeError::eOverwrite, PDG_AttributeError::eUninitialized, PDG_AttributeError::eInvalidFlag
}
 
enum  PDG_AttributeMergeOp {
  PDG_AttributeMergeOp::eIgnore, PDG_AttributeMergeOp::eFirstValue, PDG_AttributeMergeOp::eLastValue, PDG_AttributeMergeOp::eUniqueValues,
  PDG_AttributeMergeOp::eAppendArray, PDG_AttributeMergeOp::eMinimum, PDG_AttributeMergeOp::eMaximum, PDG_AttributeMergeOp::eSum,
  PDG_AttributeMergeOp::eAverage, PDG_AttributeMergeOp::eMode, PDG_AttributeMergeOp::eMedian, PDG_AttributeMergeOp::eSorted,
  PDG_AttributeMergeOp::eSortedUnique
}
 Enumeration of different ways that attributes can be combined. More...
 
enum  PDG_AttributeMergeError { PDG_AttributeMergeError::eNone, PDG_AttributeMergeError::eType, PDG_AttributeMergeError::eInvalidOp, PDG_AttributeMergeError::eStride }
 Enumerations of errors that can occur when merging attributes. More...
 
enum  PDG_AttributeIntrinsic {
  PDG_AttributeIntrinsic::eIndexAttrib, PDG_AttributeIntrinsic::eFrameAttrib, PDG_AttributeIntrinsic::eLoopDepthAttrib, PDG_AttributeIntrinsic::eIdAttrib,
  PDG_AttributeIntrinsic::eInputSizeAttrib, PDG_AttributeIntrinsic::eOutputSizeAttrib, PDG_AttributeIntrinsic::eNameAttrib, PDG_AttributeIntrinsic::eLabelAttrib,
  PDG_AttributeIntrinsic::eLogAttrib, PDG_AttributeIntrinsic::eInputAttrib, PDG_AttributeIntrinsic::eInputTagAttrib, PDG_AttributeIntrinsic::eOutputAttrib,
  PDG_AttributeIntrinsic::eOutputTagAttrib, PDG_AttributeIntrinsic::eSchedulerName, PDG_AttributeIntrinsic::eNodeName, PDG_AttributeIntrinsic::eCustomAttrib
}
 Enumeration of types of attribute that can be queried from work items. More...
 
enum  PDG_AttributeOverwrite { PDG_AttributeOverwrite::eNever, PDG_AttributeOverwrite::eMatch, PDG_AttributeOverwrite::eAlways }
 
enum  PDG_AttributeSaveType { PDG_AttributeSaveType::eFlatten, PDG_AttributeSaveType::eStatic, PDG_AttributeSaveType::eDynamic, PDG_AttributeSaveType::eAll }
 Enumeration of the different ways that attributes can be saved. More...
 
enum  PDG_AttributeCollision { PDG_AttributeCollision::eKeep, PDG_AttributeCollision::eReplace, PDG_AttributeCollision::eError }
 

Enumeration Type Documentation

enum PDG_AttributeCast
strong

Enumeration of attribute cast results.

Enumerator
eSuccess 

No cast error occured (success)

eErrorMissing 

Cast failed due to a missing/undefined attribute.

eErrorType 

Cast failed due to a type mismatch (string vs. int)

eErrorBounds 

Cast failed due to an index being out of bounds.

eErrorTag 

Cast failed due to an invalid tag (applies to files only)

Definition at line 101 of file PDG_AttributeTypes.h.

Enumeration of merge strategies for handling collisions when deserializing attributes into a map with existing attributes

Enumerator
eKeep 

The existing attribute is kept and the deserialized attribute is discarded

eReplace 

The existing attribute is replaced with the deserialized attribute.

eError 

Deserialization fails when an existing attribute is found with the same name as the one being deserialized

Definition at line 301 of file PDG_AttributeTypes.h.

enum PDG_AttributeError
strong

Enumeration of possible errors that could occur when attempting to to construct an attribute reference

Enumerator
eNone 

No error was specified, i.e. the ref is valid.

eUnspecified 

An unspecified error occured - the ref is invalid.

eNotFound 

The requested attribute was not found - the ref is invalid.

eReadOnly 

The requested attribute was a readonly when attempting to create a RW ref - the ref is invalid

eInternal 

The requested attribute is internal, and therefore cannot be removed by user code

eAttributesReadOnly 

The entire attribute map is read only.

eTypeConflict 

The requested attribute type did not match the attribute - the ref is invalid

eTypeUpgrade 

The requested attribute is static and was not upgraded to dynamic.

eOverwrite 

The requested attribute already exists, but the API call was instruct to not overwrite existing values

eUninitialized 

The ref is uninitialized and needs to be created at a later point.

eInvalidFlag 

The attribute doesn't support a flag that was passed to a SetFlag call

Definition at line 121 of file PDG_AttributeTypes.h.

enum PDG_AttributeFlag : uint16
strong

Enumeration of extra attribute flags. Flags can be ORed together.

Enumerator
eNoFlags 

Covenience value, all flags off.

eNoCopyFlag 

The attribute should not be copied onto downstream work items.

eEnvExportFlag 

The attribute's value should be exported to the job environment.

eReadOnlyFlag 

The attribute is read-only and cannot be modified on this work item.

eInternalFlag 

The attribute is for internal use, and will be accessed with other API methods. It should not be displayed in the UI

eOperatorFlag 

The attribute contains a operator path.

eTransferFlag 

The attribute contains a path that should be transfered to remote machines when the work item cooks.

eDependentFlag 

The attribute should be copied to internal dependent(s) within the node, before the dependent(s) cooks

eNoDirtyFlag 

The attribute should not cause the owner to be dirtied if it changes between cooks, e.g due to work item regeneration

eTransientFlag 

The attribute is not saved when the owner is serialized.

eBoundFlag 

The attribute is bound to a particular work item. This flag is only relevant for global/graph attributes

eInputFileFlag 

The attribute should be treated as an extra input. If the file changes on disk between cooks, the cache of the work items using the file is invalided.

eTimestampFlag 

The attribute is a numeric value, but should be treated as a time stamp instead of a plain number when being displayed

eMemoryValueFlag 

The attribute is a numeric value, but should be treated as a memory size instead of a plain number when being displayed

eAllFlags 

Definition at line 43 of file PDG_AttributeTypes.h.

Enumeration of types of attribute that can be queried from work items.

Enumerator
eIndexAttrib 

Index [numeric, string].

eFrameAttrib 

Frame [numeric, string].

eLoopDepthAttrib 

Loop depth [numeric, string].

eIdAttrib 

Work item unique id [numeric, string].

eInputSizeAttrib 

Input result list size [numeric, string].

eOutputSizeAttrib 
eNameAttrib 

Name [string].

eLabelAttrib 

Label [string].

eLogAttrib 

Log path [string].

eInputAttrib 

Input result list [string].

eInputTagAttrib 

Input tag [string].

eOutputAttrib 

Output result list [string].

eOutputTagAttrib 

Output tag [string].

eSchedulerName 

Scheduler name [string].

eNodeName 

Node name [string].

eCustomAttrib 

Custom attribute name [numeric, string].

Definition at line 225 of file PDG_AttributeTypes.h.

Enumerations of errors that can occur when merging attributes.

Enumerator
eNone 

No error occured.

eType 

Mismatch between types.

eInvalidOp 

Invalid merge operation for the attribute type.

eStride 

Mismatch between stride lengths.

Definition at line 209 of file PDG_AttributeTypes.h.

enum PDG_AttributeMergeOp
strong

Enumeration of different ways that attributes can be combined.

Enumerator
eIgnore 

The attribute should be excluded as it does not match any of the patterns in the map

eFirstValue 

The attribute is flattened, i.e. the first value for the attrib is used an no other values are selected.

eLastValue 

The attribute overwrites existing values, unless the destination has its own modications

eUniqueValues 

The unique values for the attribute are kept,.

eAppendArray 

The attribute values are concatenated together into an array.

eMinimum 

The minimum value is kept.

eMaximum 

The maximum value is kept.

eSum 

The sum of the values is kept.

eAverage 

The attribute values are averaged.

eMode 

The most common value is kept.

eMedian 

The middle value is kept.

eSorted 

The values are kept in sorted order.

eSortedUnique 

The values are kept in sorted order, and made unique.

Definition at line 163 of file PDG_AttributeTypes.h.

Detrmines when to overwrite an attribute when requesting a writeable reference to it.

Enumerator
eNever 

Never overwrite the attribute.

eMatch 

Only overwrite the attribute if the type matches.

eAlways 

Always overwrite the attribute. If the attribute exists with different type, it will be removed and replaced with a new attribute of the requested type.

Definition at line 268 of file PDG_AttributeTypes.h.

enum PDG_AttributeSaveType
strong

Enumeration of the different ways that attributes can be saved.

Enumerator
eFlatten 

Flatten attributes, saving both dynamic and static as a mix.

eStatic 

Save only static.

eDynamic 

Save only dynamic.

eAll 

Save all attributes, including ones from the parent map that are not directly owned by this map

Definition at line 283 of file PDG_AttributeTypes.h.

enum PDG_AttributeType : int8
strong

Enumeration of possible attribute types.

Enumerator
eUndefined 

Undefined or uninitialized attribute type.

eIntegerArray 

An array of int values.

eFloatArray 

An array of fpreal values.

eStringArray 

An array of UT_StringHolder values.

eFileArray 

An array of PDG_File values, e.g. File info structs.

ePythonObject 

A single, opaque PyObject.

eGeometry 

A single PDG_ApplicationShim::Geometry instance.

eDictArray 

An array of UT_OptionsHolder values.

Definition at line 15 of file PDG_AttributeTypes.h.