|
| HDSI_API HdSceneIndexPrim | GetPrim (const SdfPath &primPath) const override |
| | Returns a pair of (prim type, datasource) for the object at primPath.
|
| |
| HDSI_API SdfPathVector | GetChildPrimPaths (const SdfPath &primPath) const override |
| | Returns the paths of all scene index prims located immediately below primPath.
|
| |
| HD_API std::vector< HdSceneIndexBaseRefPtr > | GetInputScenes () const final |
| |
| virtual std::vector< HdSceneIndexBaseRefPtr > | GetInputScenes () const =0 |
| |
| 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.
|
| |
| virtual HdSceneIndexPrim | GetPrim (const SdfPath &primPath) const =0 |
| | Returns a pair of (prim type, datasource) for the object at primPath.
|
| |
| virtual SdfPathVector | GetChildPrimPaths (const SdfPath &primPath) const =0 |
| | Returns the paths of all scene index prims located immediately below primPath.
|
| |
| 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.
|
| |
| | 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) |
| |
| | TfWeakBase (const TfWeakBase &) |
| |
| const TfWeakBase & | __GetTfWeakBase__ () const |
| |
| const TfWeakBase & | operator= (const TfWeakBase &) |
| |
|
void | EnableNotification2 () const |
| |
|
TF_API void const * | GetUniqueIdentifier () const |
| |
Scene index that implements light linking semantics by:
- discovering light linking collections on lights and light filters; this may be configured using the
inputArgs c'tor argument by providing a HdTokenArrayDataSourceHandle for lightPrimTypes and lightFilterPrimTypes.
- assigning a category ID token to each unique collection based on its membership expression; in PRMan parlance, this is the value fed to the "grouping:membership" attribute on the light/light filter. Trivial collections that include all prims in the scene use the empty token.
- invalidating the categories locator on prims targeted (i.e. matched) by the expression,
- invalidating the light/light filter prim when the category ID for its linking collection has changed, and
- computing the categories that a (geometry) prim belong to; the list of prim types affected by linking may be configured using the
inputArgs c'tor argument by providing a HdTokenArrayDataSourceHandle for geometryPrimTypes.
- Note
- Current support does not handle instanced prims (be it natively instanced, or prototype prims under point instancers) due to limitations in the HdCollectionExpressionEvaluator. This will be addressed in a future change.
-
For legacy scene delegates that implement light linking (e.g. UsdImagingDelegate) and don't transport the light linking collections, this scene index should leave the category(ies) unaffected on the light, geometry prims and instancers.
Definition at line 77 of file lightLinkingSceneIndex.h.