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;
49 static UsdImagingStageSceneIndexRefPtr
New(
50 HdContainerDataSourceHandle
const &inputArgs =
nullptr) {
99 void _ApplyPendingResyncs();
100 void _ComputeDirtiedEntries(
101 const std::map<SdfPath, TfTokenVector> &pathToUsdProperties,
110 void FlagAsTimeVarying(
114 void FlagAsAssetPathDependent(
115 const SdfPath & usdPath)
const override;
123 void RemoveAssetPathDependentsUnder(
const SdfPath &
path);
125 void InvalidateAssetPathDependentsUnder(
127 std::vector<SdfPath> *primsToInvalidate,
128 std::map<SdfPath, TfTokenVector> *propertiesToInvalidate)
const;
133 struct _PathHashCompare {
141 using _VariabilityMap = tbb::concurrent_hash_map<
SdfPath,
143 mutable _VariabilityMap _timeVaryingLocators;
145 using _AssetPathDependentsSet = std::set<SdfPath>;
146 mutable _AssetPathDependentsSet _assetPathDependents;
147 mutable std::mutex _assetPathDependentsMutex;
152 const bool _includeUnloadedPrims;
154 UsdStageRefPtr _stage;
155 _StageGlobals _stageGlobals;
159 void _PopulateSubtree(
UsdPrim subtreeRoot,
173 std::map<SdfPath, TfTokenVector> _usdPropertiesToUpdate;
174 std::map<SdfPath, TfTokenVector> _usdPropertiesToResync;
176 using _PrimAdapterPair = std::pair<UsdPrim, UsdImagingPrimAdapterSharedPtr>;
177 _PrimAdapterPair _FindResponsibleAncestor(
const UsdPrim &prim)
const;
179 std::unique_ptr<UsdImaging_AdapterManager>
const _adapterManager;
USDIMAGING_API void SetStage(UsdStageRefPtr stage)
TfRefPtr< T > TfCreateRefPtr(T *ptr)
GT_API const UT_StringHolder time
#define PXR_NAMESPACE_OPEN_SCOPE
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
std::set< class SdfPath > SdfPathSet
A set of SdfPaths.
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)