7 #ifndef PXR_USD_IMAGING_USD_IMAGING_INDEX_PROXY_H
8 #define PXR_USD_IMAGING_USD_IMAGING_INDEX_PROXY_H
114 _rprimsToRemove.push_back(cachePath);
115 _hdPrimInfoToRemove.push_back(cachePath);
116 _RemoveDependencies(cachePath);
121 _TypeAndPath primToRemove = {primType, cachePath};
122 _sprimsToRemove.push_back(primToRemove);
123 _hdPrimInfoToRemove.push_back(cachePath);
124 _RemoveDependencies(cachePath);
129 _TypeAndPath primToRemove = {primType, cachePath};
130 _bprimsToRemove.push_back(primToRemove);
131 _hdPrimInfoToRemove.push_back(cachePath);
132 _RemoveDependencies(cachePath);
137 _instancersToRemove.push_back(cachePath);
138 _hdPrimInfoToRemove.push_back(cachePath);
139 _RemoveDependencies(cachePath);
189 UsdImagingDelegate::_Worker* worker)
190 : _delegate(delegate)
196 void _UniqueifyPathsToRepopulate();
198 UsdImagingDelegate::_HdPrimInfo*
199 _AddHdPrimInfo(
SdfPath const& cachePath,
204 void _RemoveDependencies(
SdfPath const& cachePath);
207 return _usdPathsToRepopulate;
209 void _ProcessRemovals();
211 void _AddTask(
SdfPath const& usdPath);
213 struct _TypeAndPath {
218 typedef std::vector<_TypeAndPath> _TypeAndPathVector;
220 typedef std::vector<UsdImagingDelegate::_DependencyMap::value_type>
224 UsdImagingDelegate::_Worker* _worker;
227 _TypeAndPathVector _sprimsToRemove;
228 _TypeAndPathVector _bprimsToRemove;
231 _DependencyVector _dependenciesToRemove;
237 #endif //PXR_USD_IMAGING_USD_IMAGING_INDEX_PROXY_H
USDIMAGING_API bool IsSprimTypeSupported(TfToken const &typeId) const
USDIMAGING_API void InsertSprim(TfToken const &primType, SdfPath const &cachePath, UsdPrim const &usdPrim, UsdImagingPrimAdapterSharedPtr adapter=UsdImagingPrimAdapterSharedPtr())
void RemoveInstancer(SdfPath const &cachePath)
USDIMAGING_API void RequestTrackVariability(SdfPath const &cachePath)
USDIMAGING_API void MarkInstancerDirty(SdfPath const &cachePath, HdDirtyBits dirtyBits)
friend class UsdImagingIndexProxy
void RemoveRprim(SdfPath const &cachePath)
USDIMAGING_API UsdImagingPrimAdapterSharedPtr GetMaterialAdapter(UsdPrim const &materialPrim)
USDIMAGING_API void InsertBprim(TfToken const &primType, SdfPath const &cachePath, UsdPrim const &usdPrim, UsdImagingPrimAdapterSharedPtr adapter=UsdImagingPrimAdapterSharedPtr())
std::vector< class SdfPath > SdfPathVector
USDIMAGING_API bool IsRprimTypeSupported(TfToken const &typeId) const
USDIMAGING_API void RequestUpdateForTime(SdfPath const &cachePath)
USDIMAGING_API void AddDependency(SdfPath const &cachePath, UsdPrim const &usdPrim)
USDIMAGING_API void MarkRprimDirty(SdfPath const &cachePath, HdDirtyBits dirtyBits)
void RemoveBprim(TfToken const &primType, SdfPath const &cachePath)
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
void RemoveSprim(TfToken const &primType, SdfPath const &cachePath)
USDIMAGING_API bool IsPopulated(SdfPath const &cachePath) const
USDIMAGING_API void RemovePrimInfoDependency(SdfPath const &cachePath)
#define PXR_NAMESPACE_CLOSE_SCOPE
std::shared_ptr< UsdImagingPrimAdapter > UsdImagingPrimAdapterSharedPtr
USDIMAGING_API void InsertRprim(TfToken const &primType, SdfPath const &cachePath, UsdPrim const &usdPrim, UsdImagingPrimAdapterSharedPtr adapter=UsdImagingPrimAdapterSharedPtr())
USDIMAGING_API void MarkSprimDirty(SdfPath const &cachePath, HdDirtyBits dirtyBits)
USDIMAGING_API void MarkBprimDirty(SdfPath const &cachePath, HdDirtyBits dirtyBits)
USDIMAGING_API void InsertInstancer(SdfPath const &cachePath, UsdPrim const &usdPrim, UsdImagingPrimAdapterSharedPtr adapter=UsdImagingPrimAdapterSharedPtr())
USDIMAGING_API void Repopulate(SdfPath const &usdPath)
USDIMAGING_API bool IsBprimTypeSupported(TfToken const &typeId) const