7#ifndef PXR_USD_IMAGING_USD_SKEL_IMAGING_POINTS_RESOLVING_SCENE_INDEX_H
8#define PXR_USD_IMAGING_USD_SKEL_IMAGING_POINTS_RESOLVING_SCENE_INDEX_H
10#include "pxr/usdImaging/usdSkelImaging/api.h"
12#include "pxr/imaging/hd/filteringSceneIndex.h"
16PXR_NAMESPACE_OPEN_SCOPE
35 UsdSkelImagingPointsResolvingSceneIndexRefPtr
36 New(HdSceneIndexBaseRefPtr
const &inputSceneIndex);
57 HdSceneIndexBaseRefPtr
const &inputSceneIndex);
67 void _ProcessPrimsNeedingRefreshAndSendNotices(
68 const std::map<SdfPath, bool> &primsNeedingRefreshToHasAddedEntry,
77 bool _ProcessDirtyLocators(
84 std::shared_ptr<class UsdSkelImagingDataSourceResolvedPointsBasedPrim>;
89 bool _AddResolvedPrim(
91 void _AddDependenciesForResolvedPrim(
93 _DsHandle
const &resolvedPrim);
96 bool _RemoveResolvedPrim(
98 void _RemoveDependenciesForResolvedPrim(
100 _DsHandle
const &resolvedPrim);
107 void _RefreshResolvedPrimDataSource(
109 bool * hasExtComputations);
111 void _RefreshResolvedPrimDataSources(
112 const SdfPathSet &primPaths,
114 SdfPathSet * addedResolvedPrimsWithComputations,
115 SdfPathSet * removedResolvedPrimsWithComputations);
123 std::map<SdfPath, _DsHandle> _pathToResolvedPrim;
127 std::map<SdfPath, SdfPathSet> _skelPathToPrimPaths;
129 std::map<SdfPath, SdfPathSet> _blendShapePathToPrimPaths;
132 std::map<SdfPath, SdfPathSet> _instancerPathToPrimPaths;
135PXR_NAMESPACE_CLOSE_SCOPE
Represents a set of data source locators closed under descendancy.
Abstract interface to scene data.
A path value used to locate objects in layers or scenegraphs.
Token for efficient comparison, assignment, and hashing of known strings.
Adds ext computations to skin to points of a mesh, point, basisCurves prims.
USDSKELIMAGING_API SdfPathVector GetChildPrimPaths(const SdfPath &primPath) const override
Returns the paths of all scene index prims located immediately below primPath.
USDSKELIMAGING_API HdSceneIndexPrim GetPrim(const SdfPath &primPath) const override
Returns a pair of (prim type, datasource).
#define TF_DECLARE_REF_PTRS(type)
Define standard ref pointer types.
Small struct representing a 'prim' in the Hydra scene index.
std::vector< TfToken > TfTokenVector
Convenience types.