7 #ifndef PXR_EXEC_ESF_EDIT_REASON_H 8 #define PXR_EXEC_ESF_EDIT_REASON_H 14 #include "pxr/exec/esf/api.h" 19 PXR_NAMESPACE_OPEN_SCOPE
69 constexpr
explicit operator bool()
const {
74 return _bits == other._bits;
78 return _bits != other._bits;
92 return {_bits & other._bits};
96 return {_bits | other._bits};
103 return (_bits & other._bits) == other._bits;
110 return _bits < other._bits;
124 using _BitsType = uint32_t;
131 enum class _BitIndex : uint8_t {
134 ChangedConnectionPaths,
135 ChangedIncomingConnections,
142 : _bits(1 << static_cast<int>(bit))
146 static const char *_GetBitDescription(_BitIndex bit);
154 EsfEditReason::_BitIndex::ResyncedObject);
157 EsfEditReason::_BitIndex::ChangedPropertyList);
160 EsfEditReason::_BitIndex::ChangedConnectionPaths);
163 EsfEditReason::_BitIndex::ChangedIncomingConnections);
166 EsfEditReason::_BitIndex::ChangedTargetPaths);
168 PXR_NAMESPACE_CLOSE_SCOPE
static const EsfEditReason ChangedConnectionPaths
The list of connection paths on an attribute has changed.
ESF_API std::string GetDescription() const
Get a string describing the contents of this edit reason.
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 ChangedTargetPaths
The list of target paths on a relationship has changed.
static const EsfEditReason ChangedPropertyList
The list of properties on a prim has changed.
static const EsfEditReason ChangedIncomingConnections
The set of connections that target an object has changed.
bool operator<(const EsfEditReason &other) const
Enables consistent sorting of EsfEditReasons.
constexpr EsfEditReason()=default
Equivalent to EsfEditReason::None.
constexpr bool Contains(EsfEditReason other) const
Return true if other's reasons are entirely contained by this set of reasons.