7#ifndef PXR_EXEC_ESF_EDIT_REASON_H
8#define PXR_EXEC_ESF_EDIT_REASON_H
14#include "pxr/exec/esf/api.h"
19PXR_NAMESPACE_OPEN_SCOPE
65 constexpr explicit operator bool()
const {
70 return _bits == other._bits;
74 return _bits != other._bits;
88 return {_bits & other._bits};
92 return {_bits | other._bits};
99 return (_bits & other._bits) == other._bits;
106 return _bits < other._bits;
120 using _BitsType = uint32_t;
127 enum class _BitIndex : uint8_t {
137 : _bits(1 << static_cast<int>(bit))
141 static const char *_GetBitDescription(_BitIndex bit);
149 EsfEditReason::_BitIndex::ResyncedObject);
152 EsfEditReason::_BitIndex::ChangedPropertyList);
155 EsfEditReason::_BitIndex::ChangedConnectionPaths);
158 EsfEditReason::_BitIndex::ChangedTargetPaths);
160PXR_NAMESPACE_CLOSE_SCOPE
Set of scene changes that should trigger edits to the exec network.
static const EsfEditReason ResyncedObject
Something about an object has changed.
static const EsfEditReason ChangedConnectionPaths
The list of connection paths on an attribute has changed.
constexpr bool Contains(EsfEditReason other) const
Return true if other's reasons are entirely contained by this set of reasons.
static const EsfEditReason ChangedTargetPaths
The list of target paths on a relationship has changed.
ESF_API std::string GetDescription() const
Get a string describing the contents of this edit reason.
bool operator<(const EsfEditReason &other) const
Enables consistent sorting of EsfEditReasons.
constexpr EsfEditReason()=default
Equivalent to EsfEditReason::None.
static const EsfEditReason ChangedPropertyList
The list of properties on a prim has changed.