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
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 {
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);
168PXR_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.
static const EsfEditReason ChangedIncomingConnections
The set of connections that target an object 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.