![]() |
|
A scene index consuming a UsdStage. More...
#include <stageSceneIndex.h>
Inheritance diagram for UsdImagingStageSceneIndex:Public Member Functions | |
| USDIMAGING_API HdSceneIndexPrim | GetPrim (const SdfPath &primPath) const override |
| Returns a pair of (prim type, datasource). | |
| USDIMAGING_API SdfPathVector | GetChildPrimPaths (const SdfPath &primPath) const override |
| Returns the paths of all scene index prims located immediately below primPath. | |
App-facing API | |
| USDIMAGING_API void | SetStage (UsdStageRefPtr stage) |
| Set the USD stage to pull data from. | |
| USDIMAGING_API void | SetTime (UsdTimeCode time, bool forceDirtyingTimeDeps=false) |
| Set the time, and call PrimsDirtied for any time-varying attributes. | |
| USDIMAGING_API UsdTimeCode | GetTime () const |
| Return the current time. | |
| USDIMAGING_API void | ApplyPendingUpdates () |
| Apply queued stage edits to imaging scene. | |
Public Member Functions inherited from HdSceneIndexBase | |
| HD_API void | AddObserver (const HdSceneIndexObserverPtr &observer) |
| Adds an observer to this scene index. | |
| HD_API void | RemoveObserver (const HdSceneIndexObserverPtr &observer) |
| Removes an observer from this scene index; the given observer will no longer be forwarded notices. | |
| HdDataSourceBaseHandle | GetDataSource (const SdfPath &primPath, const HdDataSourceLocator &locator) const |
| A convenience function: look up the object at primPath, and if successful return the datasource at locator within that prim. | |
| HD_API void | SystemMessage (const TfToken &messageType, const HdDataSourceBaseHandle &args) |
| Sends a message with optional arguments to this and any upstream input scene indices. | |
| HD_API std::string | GetDisplayName () const |
| Returns a value previously set by SetDisplayName. | |
| HD_API void | SetDisplayName (const std::string &n) |
| Allows for scene index instances to be identified in a more contextually relevant way. | |
| HD_API void | AddTag (const TfToken &tag) |
| Adds a specified tag token to a scene index instance. | |
| HD_API void | RemoveTag (const TfToken &tag) |
| Removes a specified tag token to a scene index instance. | |
| HD_API bool | HasTag (const TfToken &tag) const |
| Returns true if a specified tag token has been added to a scene index instance. | |
| HD_API TfTokenVector | GetTags () const |
| Returns all tag tokens currently added to a scene index instance. | |
Public Member Functions inherited from TfRefBase | |
| TfRefBase (TfRefBase const &) | |
| TfRefBase & | operator= (TfRefBase const &) |
| size_t | GetCurrentCount () const |
| Return the current reference count of this object. | |
| bool | IsUnique () const |
Return true if only one TfRefPtr points to this object. | |
| void | SetShouldInvokeUniqueChangedListener (bool shouldCall) |
Public Member Functions inherited from TfWeakBase | |
| TfWeakBase (const TfWeakBase &) | |
| const TfWeakBase & | __GetTfWeakBase__ () const |
| const TfWeakBase & | operator= (const TfWeakBase &) |
| void | EnableNotification2 () const |
| TF_API void const * | GetUniqueIdentifier () const |
Static Public Member Functions | |
| static UsdImagingStageSceneIndexRefPtr | New (HdContainerDataSourceHandle const &inputArgs=nullptr) |
Static Public Member Functions inherited from TfRefBase | |
| static TF_API void | SetUniqueChangedListener (UniqueChangedListener listener) |
Additional Inherited Members | |
Public Types inherited from TfRefBase | |
| typedef void(*) | UniqueChangedFuncPtr(TfRefBase const *, bool) |
Protected Member Functions inherited from HdSceneIndexBase | |
| HD_API void | _SendPrimsAdded (const HdSceneIndexObserver::AddedPrimEntries &entries) |
| Notify attached observers of prims added to the scene. | |
| HD_API void | _SendPrimsRemoved (const HdSceneIndexObserver::RemovedPrimEntries &entries) |
| Notify attached observers of prims removed from the scene. | |
| HD_API void | _SendPrimsDirtied (const HdSceneIndexObserver::DirtiedPrimEntries &entries) |
| Notify attached observers of datasource invalidations from the scene. | |
| HD_API void | _SendPrimsRenamed (const HdSceneIndexObserver::RenamedPrimEntries &entries) |
| Notify attached observers of prims (and their descendents) which have been renamed or reparented. | |
| HD_API bool | _IsObserved () const |
| Returns whether the scene index has any registered observers; this information can be used to skip work preparing notices when there are no observers. | |
| virtual HD_API void | _SystemMessage (const TfToken &messageType, const HdDataSourceBaseHandle &args) |
| Implement in order to react directly to system messages sent from downstream. | |
Protected Member Functions inherited from TfRefBase | |
Protected Member Functions inherited from TfWeakBase | |
| TfRefPtr< Tf_Remnant > | _Register () const |
| template<class T > | |
| TfRefPtr< Tf_Remnant > | _Register (T *tempRmnt) const |
| bool | _HasRemnant () const |
A scene index consuming a UsdStage.
This scene index does not perform any transformations such as flattening visibility or transforms or aggregating native instances. Use UsdImagingSceneIndex to get a chain of scene indices to resolve those.
Definition at line 40 of file stageSceneIndex.h.
| USDIMAGING_API void ApplyPendingUpdates | ( | ) |
Apply queued stage edits to imaging scene.
If the USD stage is edited while the scene index is pulling from it, those edits get queued and deferred. Calling ApplyPendingUpdates will turn resync requests into PrimsAdded/PrimsRemoved, and property changes into PrimsDirtied.
|
overridevirtual |
Returns the paths of all scene index prims located immediately below primPath.
This function can be used to traverse the scene by recursing from SdfPath::AbsoluteRootPath. The traveral is expected to give exactly the set of paths where prim exists as defined in GetPrim. The traversal is also expected to give the same set of prims as the flattening of the scene index's PrimsAdded and PrimsRemoved messages.
This function is expected to be threadsafe.
Implements HdSceneIndexBase.
|
overridevirtual |
Returns a pair of (prim type, datasource).
A prim exists at primPath if and only if datasource is a non-null pointer. In particular, we consider the prim to exist even if the prim type or the container that datasource points to is empty.
Note that we require GetChildPrimPaths to be consistent with this notion of prim existence. That is, unless primPath is the absolute root path, the prim at primPath exists if and only if primPath is contained in GetChildPrimPaths of the parent path.
This function is expected to be threadsafe.
Implements HdSceneIndexBase.
| USDIMAGING_API UsdTimeCode GetTime | ( | ) | const |
Return the current time.
|
inlinestatic |
Definition at line 43 of file stageSceneIndex.h.
| USDIMAGING_API void SetStage | ( | UsdStageRefPtr | stage | ) |
Set the USD stage to pull data from.
Note that this will delete all scene index prims and reset stage global data.
| USDIMAGING_API void SetTime | ( | UsdTimeCode | time, |
| bool | forceDirtyingTimeDeps = false ) |
Set the time, and call PrimsDirtied for any time-varying attributes.
PrimsDirtied is only called if the time is different from the last call or forceDirtyingTimeDeps is true.