All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SdfChangeList Class Reference

A list of scene description modifications, organized by the namespace paths where the changes occur. More...


struct  Entry
 Entry of changes at a single path in namespace. More...

Public Types

enum  SubLayerChangeType { SubLayerAdded, SubLayerRemoved, SubLayerOffset }
typedef std::unordered_map
< SdfPath, Entry,
SdfPath::Hash > 
 Map of change entries at various paths in a layer. More...

Public Member Functions

void DidReplaceLayerContent ()
void DidReloadLayerContent ()
void DidChangeLayerResolvedPath ()
void DidChangeLayerIdentifier (const std::string &oldIdentifier)
void DidChangeSublayerPaths (const std::string &subLayerPath, SubLayerChangeType changeType)
void DidAddPrim (const SdfPath &primPath, bool inert)
void DidRemovePrim (const SdfPath &primPath, bool inert)
void DidReorderPrims (const SdfPath &parentPath)
void DidChangePrimName (const SdfPath &oldPath, const SdfPath &newPath)
void DidChangePrimVariantSets (const SdfPath &primPath)
void DidChangePrimInheritPaths (const SdfPath &primPath)
void DidChangePrimReferences (const SdfPath &primPath)
void DidChangePrimSpecializes (const SdfPath &primPath)
void DidAddProperty (const SdfPath &propPath, bool hasOnlyRequiredFields)
void DidRemoveProperty (const SdfPath &propPath, bool hasOnlyRequiredFields)
void DidReorderProperties (const SdfPath &propPath)
void DidChangePropertyName (const SdfPath &oldPath, const SdfPath &newPath)
void DidChangeAttributeTimeSamples (const SdfPath &attrPath)
void DidChangeAttributeConnection (const SdfPath &attrPath)
void DidChangeRelationshipTargets (const SdfPath &relPath)
void DidAddTarget (const SdfPath &targetPath)
void DidRemoveTarget (const SdfPath &targetPath)
void DidChangeInfo (const SdfPath &path, const TfToken &key, const VtValue &oldValue, const VtValue &newValue)
const EntryListGetEntryList () const
Entry const & GetEntry (const SdfPath &) const

Detailed Description

A list of scene description modifications, organized by the namespace paths where the changes occur.

Definition at line 49 of file changeList.h.

Class Documentation

struct SdfChangeList::Entry

Entry of changes at a single path in namespace.

If the path is SdfPath::AbsoluteRootPath(), that indicates a change to the root of namespace (that is, a layer or stage).

Note: Our language for invalidation used to be more precise about items added, removed, or reordered. It might seem that this would afford more opportunities for efficient updates, but in practice it does not. Because our derived data typically must recompose or reinstantiate based on the underlying data, the particular delta might be ignored, overridden, or invalid. It is simpler to treat all changes identically, and focus on making the common base case fast, rather than have complicated differential update logic. It also vastly simplifies the language of invalidation.

Definition at line 107 of file changeList.h.

Class Members
typedef pair< VtValue, VtValue > InfoChange
typedef map< TfToken,
TfTokenFastArbitraryLessThan >
typedef pair< string,
SubLayerChangeType >
Class Members
_Flags flags
InfoChangeMap infoChanged
string oldIdentifier
SdfPath oldPath
vector< SubLayerChange > subLayerChanges

Member Typedef Documentation

typedef std::unordered_map<SdfPath, Entry, SdfPath::Hash> EntryList

Map of change entries at various paths in a layer.

Definition at line 172 of file changeList.h.

The documentation for this class was generated from the following file: