7 #ifndef PXR_USD_IMAGING_USD_IMAGING_STAGE_SCENE_INDEX_H
8 #define PXR_USD_IMAGING_USD_IMAGING_STAGE_SCENE_INDEX_H
26 #define USDIMAGING_STAGE_SCENE_INDEX_TOKENS \
27 (includeUnloadedPrims) \
33 std::shared_ptr<class UsdImagingPrimAdapter>;
34 class UsdImaging_AdapterManager;
41 static UsdImagingStageSceneIndexRefPtr
New(
42 HdContainerDataSourceHandle
const &inputArgs =
nullptr) {
91 void _ApplyPendingResyncs();
92 void _ComputeDirtiedEntries(
93 const std::map<SdfPath, TfTokenVector> &pathToUsdProperties,
102 void FlagAsTimeVarying(
106 void FlagAsAssetPathDependent(
107 const SdfPath & usdPath)
const override;
115 void RemoveAssetPathDependentsUnder(
const SdfPath &
path);
117 void InvalidateAssetPathDependentsUnder(
119 std::vector<SdfPath> *primsToInvalidate,
120 std::map<SdfPath, TfTokenVector> *propertiesToInvalidate)
const;
125 struct _PathHashCompare {
133 using _VariabilityMap = tbb::concurrent_hash_map<
SdfPath,
135 mutable _VariabilityMap _timeVaryingLocators;
137 using _AssetPathDependentsSet = std::set<SdfPath>;
138 mutable _AssetPathDependentsSet _assetPathDependents;
139 mutable std::mutex _assetPathDependentsMutex;
144 const bool _includeUnloadedPrims;
146 UsdStageRefPtr _stage;
147 _StageGlobals _stageGlobals;
151 void _PopulateSubtree(
UsdPrim subtreeRoot);
161 std::map<SdfPath, TfTokenVector> _usdPropertiesToUpdate;
162 std::map<SdfPath, TfTokenVector> _usdPropertiesToResync;
164 using _PrimAdapterPair = std::pair<UsdPrim, UsdImagingPrimAdapterSharedPtr>;
165 _PrimAdapterPair _FindResponsibleAncestor(
const UsdPrim &prim)
const;
167 std::unique_ptr<UsdImaging_AdapterManager>
const _adapterManager;
USDIMAGING_API void SetStage(UsdStageRefPtr stage)
TfRefPtr< T > TfCreateRefPtr(T *ptr)
GT_API const UT_StringHolder time
GLsizei const GLchar *const * path
USDIMAGING_API void SetTime(UsdTimeCode time, bool forceDirtyingTimeDeps=false)
#define USDIMAGING_STAGE_SCENE_INDEX_TOKENS
GLboolean GLboolean GLboolean GLboolean a
IMATH_HOSTDEVICE constexpr bool equal(T1 a, T2 b, T3 t) IMATH_NOEXCEPT
USDIMAGING_API SdfPathVector GetChildPrimPaths(const SdfPath &primPath) const override
UsdStagePtr UsdStageWeakPtr
TF_DECLARE_PUBLIC_TOKENS(UsdImagingStageSceneIndexTokens, USDIMAGING_API, USDIMAGING_STAGE_SCENE_INDEX_TOKENS)
std::vector< class SdfPath > SdfPathVector
GLboolean GLboolean GLboolean b
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
USDIMAGING_API ~UsdImagingStageSceneIndex()
#define PXR_NAMESPACE_CLOSE_SCOPE
USDIMAGING_API HdSceneIndexPrim GetPrim(const SdfPath &primPath) const override
std::shared_ptr< UsdImagingPrimAdapter > UsdImagingPrimAdapterSharedPtr
USDIMAGING_API UsdTimeCode GetTime() const
static UsdImagingStageSceneIndexRefPtr New(HdContainerDataSourceHandle const &inputArgs=nullptr)
USDIMAGING_API void ApplyPendingUpdates()
size_t hash_value(const CH_ChannelRef &ref)
UsdImagingPropertyInvalidationType
TF_DECLARE_REF_PTRS(UsdImagingStageSceneIndex)