HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
dataSourceLocator.h File Reference
#include "pxr/pxr.h"
#include "pxr/base/tf/token.h"
#include "pxr/base/tf/smallVector.h"
#include "pxr/base/tf/staticTokens.h"
#include "pxr/base/tf/hash.h"
#include "pxr/imaging/hd/api.h"
#include <iosfwd>
+ Include dependency graph for dataSourceLocator.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  HdDataSourceLocator
 
class  HdDataSourceLocatorSet
 
class  HdDataSourceLocatorSet::IntersectionIterator
 
class  HdDataSourceLocatorSet::IntersectionView
 

Macros

#define HD_DATA_SOURCE_LOCATOR_SENTINEL_TOKENS   ((container, "__containerDataSource"))
 

Functions

 TF_DECLARE_PUBLIC_TOKENS (HdDataSourceLocatorSentinelTokens, HD_API, HD_DATA_SOURCE_LOCATOR_SENTINEL_TOKENS)
 
HD_API std::ostream & operator<< (std::ostream &out, const HdDataSourceLocator &self)
 
HD_API std::ostream & operator<< (std::ostream &out, const HdDataSourceLocatorSet &self)
 

Macro Definition Documentation

#define HD_DATA_SOURCE_LOCATOR_SENTINEL_TOKENS   ((container, "__containerDataSource"))

Definition at line 22 of file dataSourceLocator.h.

Function Documentation

HD_API std::ostream& operator<< ( std::ostream &  out,
const HdDataSourceLocator self 
)
HD_API std::ostream& operator<< ( std::ostream &  out,
const HdDataSourceLocatorSet self 
)
TF_DECLARE_PUBLIC_TOKENS ( HdDataSourceLocatorSentinelTokens  ,
HD_API  ,
HD_DATA_SOURCE_LOCATOR_SENTINEL_TOKENS   
)

Special tokens in a data source locator.

HdDataSourceLocatorSentinelTokens->container indicates that the container data source needs to be refetched even though none of its contained data sources have changed unless indicated by another data source locator.

For example, assume that MyFilteringSceneIndex::GetPrim("/MyPrim") previously returned the result from the input scene index but now returns HdContainerDataSourceEditor(_GetInputScene()->GetPrim("/MyPrim")) .Set(HdDataSourceLocator("foo", "bar", "mySource"), mySource) .Finish(). Then it needs to send prims dirtied with HdDataSourceLocatorSet{ HdDataSourceLocator( HdDataSourceLocatorSentinelTokens->container), HdDataSourceLocator( "foo", HdDataSourceLocatorSentinelTokens->container), HdDataSourceLocator( "foo", "bar", HdDataSourceLocatorSentinelTokens->container), HdDataSourceLocator( "foo", "bar", "mySource")}.