usdrt::RtChangeTracker
Defined in usdrt/scenegraph/usd/rt/changeTracker.h
-
class RtChangeTracker
The RtChangeTracker class provides an interface for tracking changes to Fabric data. Unlike TfNotice (USD’s built in notification system), RtChangeTracker and Fabric handle change notifications in a non-blocking manner.
RTChangeTracker leverages Fabric’s change tracking capabilities, while abstracting out the underlying bucket-based details. It also adds helper methods for querying changes in the data by prim and attribute.
Public Functions
-
inline RtChangeTracker(UsdStageRefPtr stage)
Construct an RtChangeTracker instance from a USD stage reference.
- Parameters
stage – The stage you want to track changes in
-
inline ~RtChangeTracker()
Destructor.
-
inline void TrackAttribute(TfToken attrName)
Start tracking an attribute.
- Parameters
attrName – The name of the attribute to track
-
inline void StopTrackingAttribute(TfToken attrName)
Stop tracking an attribute.
- Parameters
attrName – The name of the attribute to stop tracking
-
inline void PauseTracking()
Pauses change tracking.
-
inline void ResumeTracking()
Resumes paused change tracking.
-
inline bool IsChangeTrackingPaused()
Check if change tracking is paused.
- Returns
true if change tracking is paused
-
inline bool HasChanges()
Check if there are any tracked changes.
- Returns
true if there are tracked changes
-
inline void ClearChanges()
Clear out any tracked changes.
-
inline void EnablePrimCreateTracking()
Enable tracking added prims.
-
inline std::vector<SdfPath> GetAllChangedPrims()
Get list of all prims with changes.
- Returns
list of SdfPaths of all prims with changes
-
inline std::vector<SdfPath> GetAddedPrims()
Get list of all newly-created prims in fabric.
- Returns
a list of SdfPaths of all newly-added prims.
-
inline std::vector<SdfPath> GetAllChangedAttributes()
Get list of all prim & attribute combos that have changed.
- Returns
list of full SdfPaths of all attributes with changes
-
inline bool PrimChanged(UsdPrim prim)
Check for changes on a given prim.
- Parameters
prim – prim to check for changes
- Returns
true if prim has tracked changes
-
inline bool PrimChanged(SdfPath primPath)
Check for changes on a given prim.
- Parameters
primPath – path to prim to check for changes
- Returns
true if prim has tracked changes
-
inline bool AttributeChanged(UsdAttribute attr)
Check for changes on a specific attribute of a prim.
- Parameters
attr – prim attribute to check for changes
- Returns
true if attribute has tracked changes
-
inline bool AttributeChanged(SdfPath attrPath)
Check for changes on a specific attribute of a prim.
- Parameters
attrPath – path to attribute on a prim to check for changes
- Returns
true if attribute has tracked changes
-
inline std::vector<TfToken> GetChangedAttributes(UsdPrim prim)
Get list of attributes that have changed for given prim.
- Parameters
prim – prim to check for changes
- Returns
list of attributes with changes
-
inline std::vector<TfToken> GetChangedAttributes(SdfPath primPath)
Get list of attributes that have changed for a given prim.
- Parameters
primPath – path to prim to check for changes
- Returns
list of attributes with changes
-
inline RtChangeTracker(UsdStageRefPtr stage)