Loading...
Searching...
No Matches
HdSceneIndexObserver Class Referenceabstract

Observer of scene data. More...

#include <sceneIndexObserver.h>

+ Inheritance diagram for HdSceneIndexObserver:

Classes

struct  AddedPrimEntry
 A notice indicating a prim of a given type was added to the scene. More...
 
struct  DirtiedPrimEntry
 A notice indicating a prim was invalidated. More...
 
struct  RemovedPrimEntry
 A notice indicating a prim subtree was removed from the scene. More...
 
struct  RenamedPrimEntry
 A notice indicating a prim (and its descendents) was renamed or reparented. More...
 

Public Types

using AddedPrimEntries = TfSmallVector< AddedPrimEntry, 16 >
 
using RemovedPrimEntries = TfSmallVector< RemovedPrimEntry, 16 >
 
using DirtiedPrimEntries = TfSmallVector< DirtiedPrimEntry, 16 >
 
using RenamedPrimEntries = TfSmallVector< RenamedPrimEntry, 16 >
 

Public Member Functions

virtual HD_API void PrimsAdded (const HdSceneIndexBase &sender, const AddedPrimEntries &entries)=0
 A notification indicating prims have been added to the scene.
 
virtual HD_API void PrimsRemoved (const HdSceneIndexBase &sender, const RemovedPrimEntries &entries)=0
 A notification indicating prims have been removed from the scene.
 
virtual HD_API void PrimsDirtied (const HdSceneIndexBase &sender, const DirtiedPrimEntries &entries)=0
 A notification indicating prim datasources have been invalidated.
 
virtual HD_API void PrimsRenamed (const HdSceneIndexBase &sender, const RenamedPrimEntries &entries)=0
 A notification indicating prims (and their descendants) have been renamed or reparented.
 
- Public Member Functions inherited from TfWeakBase
 TfWeakBase (const TfWeakBase &)
 
const TfWeakBase__GetTfWeakBase__ () const
 
const TfWeakBaseoperator= (const TfWeakBase &)
 
void EnableNotification2 () const
 
TF_API void const * GetUniqueIdentifier () const
 

Static Public Member Functions

static HD_API void ConvertPrimsRenamedToRemovedAndAdded (const HdSceneIndexBase &sender, const HdSceneIndexObserver::RenamedPrimEntries &renamedEntries, HdSceneIndexObserver::RemovedPrimEntries *outputRemovedEntries, HdSceneIndexObserver::AddedPrimEntries *outputAddedEntries)
 A utility for converting prims renamed messages into equivalent removed and added notices.
 
static HD_API void ConvertPrimsRenamedToRemovedAndAdded (const HdSceneIndexBase &sender, const HdSceneIndexObserver::RenamedPrimEntries &renamedEntries, HdSceneIndexObserver *observer)
 A utility for converting prims renamed messages into equivalent removed and added notices at the observer level.
 

Additional Inherited Members

- Protected Member Functions inherited from TfWeakBase
TfRefPtr< Tf_Remnant > _Register () const
 
template<class T >
TfRefPtr< Tf_Remnant > _Register (T *tempRmnt) const
 
bool _HasRemnant () const
 

Detailed Description

Observer of scene data.

From the time an observer is registered with a scene index, the scene index will send it diffs as the scene changes.

Definition at line 48 of file sceneIndexObserver.h.

Member Typedef Documentation

◆ AddedPrimEntries

Definition at line 70 of file sceneIndexObserver.h.

◆ DirtiedPrimEntries

Definition at line 108 of file sceneIndexObserver.h.

◆ RemovedPrimEntries

Definition at line 86 of file sceneIndexObserver.h.

◆ RenamedPrimEntries

Definition at line 126 of file sceneIndexObserver.h.

Member Function Documentation

◆ ConvertPrimsRenamedToRemovedAndAdded() [1/2]

static HD_API void ConvertPrimsRenamedToRemovedAndAdded ( const HdSceneIndexBase sender,
const HdSceneIndexObserver::RenamedPrimEntries renamedEntries,
HdSceneIndexObserver observer 
)
static

A utility for converting prims renamed messages into equivalent removed and added notices at the observer level.

◆ ConvertPrimsRenamedToRemovedAndAdded() [2/2]

static HD_API void ConvertPrimsRenamedToRemovedAndAdded ( const HdSceneIndexBase sender,
const HdSceneIndexObserver::RenamedPrimEntries renamedEntries,
HdSceneIndexObserver::RemovedPrimEntries outputRemovedEntries,
HdSceneIndexObserver::AddedPrimEntries outputAddedEntries 
)
static

A utility for converting prims renamed messages into equivalent removed and added notices.

◆ PrimsAdded()

virtual HD_API void PrimsAdded ( const HdSceneIndexBase sender,
const AddedPrimEntries entries 
)
pure virtual

A notification indicating prims have been added to the scene.

The set of scene prims compiled from added/removed notices should match the set from a traversal based on sender.GetChildPrimNames. Each prim has a path and type. It's possible for PrimsAdded to be called for prims that already exist; in that case, observers should be sure to update the prim type, in case it changed, and resync the prim. This function is not expected to be threadsafe.

Implemented in HdSceneIndexAdapterSceneDelegate, HdsiPrimManagingSceneIndexObserver, and HdxSelectionSceneIndexObserver.

◆ PrimsDirtied()

virtual HD_API void PrimsDirtied ( const HdSceneIndexBase sender,
const DirtiedPrimEntries entries 
)
pure virtual

A notification indicating prim datasources have been invalidated.

This message is not considered hierarchical on primPath; if /Path is dirtied, /Path/child is not necessarily dirtied. However datasource locators are considered hierarchical: if primvars is dirtied on a prim, primvars/color is considered dirtied as well. This function is not expected to be threadsafe.

Implemented in HdSceneIndexAdapterSceneDelegate, HdsiPrimManagingSceneIndexObserver, and HdxSelectionSceneIndexObserver.

◆ PrimsRemoved()

virtual HD_API void PrimsRemoved ( const HdSceneIndexBase sender,
const RemovedPrimEntries entries 
)
pure virtual

A notification indicating prims have been removed from the scene.

Note that this message is considered hierarchical; if /Path is removed, /Path/child is considered removed as well. This function is not expected to be threadsafe.

Implemented in HdSceneIndexAdapterSceneDelegate, HdsiPrimManagingSceneIndexObserver, and HdxSelectionSceneIndexObserver.

◆ PrimsRenamed()

virtual HD_API void PrimsRenamed ( const HdSceneIndexBase sender,
const RenamedPrimEntries entries 
)
pure virtual

A notification indicating prims (and their descendants) have been renamed or reparented.

This function is not expected to be threadsafe.

Implemented in HdSceneIndexAdapterSceneDelegate, HdsiPrimManagingSceneIndexObserver, and HdxSelectionSceneIndexObserver.


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