8 #ifndef PXR_USD_IMAGING_USD_SKEL_IMAGING_DATA_SOURCE_RESOLVED_POINTS_BASED_PRIM_H
9 #define PXR_USD_IMAGING_USD_SKEL_IMAGING_DATA_SOURCE_RESOLVED_POINTS_BASED_PRIM_H
38 ,
public std::enable_shared_from_this<
39 UsdSkelImagingDataSourceResolvedPointsBasedPrim>
55 HdSceneIndexBaseRefPtr
const &sceneIndex,
57 HdContainerDataSourceHandle primSource);
76 return _blendShapeTargetPaths;
84 return _resolvedSkeletonSchema;
102 return _skinningMethod;
112 _resolvedSkeletonSchema &&
118 _primPath != _skeletonPath &&
149 const TfToken &dirtiedPrimType,
156 HdSceneIndexBaseRefPtr
const &sceneIndex,
158 HdContainerDataSourceHandle primSource,
162 HdContainerDataSourceHandle skeletonPrimSource,
166 _ProcessDirtyLocators(
172 _ProcessDirtySkeletonLocators(
178 _ProcessDirtySkelBlendShapeLocators(
184 HdSceneIndexBaseRefPtr
const _sceneIndex;
188 HdContainerDataSourceHandle
const _primSource;
189 const bool _hasSkelRoot;
195 HdContainerDataSourceHandle
const _skeletonPrimSource;
198 class _BlendShapeDataCache
202 _BlendShapeDataCache(
203 HdSceneIndexBaseRefPtr
const &sceneIndex,
206 Handle _Compute()
override;
208 HdSceneIndexBaseRefPtr
const _sceneIndex;
211 _BlendShapeDataCache _blendShapeDataCache;
213 class _JointInfluencesDataCache
217 _JointInfluencesDataCache(
218 HdContainerDataSourceHandle
const &primSource,
219 HdContainerDataSourceHandle
const &skeletonPrimSource);
221 Handle _Compute()
override;
223 HdContainerDataSourceHandle
const _primSource;
224 HdContainerDataSourceHandle
const _skeletonPrimSource;
226 _JointInfluencesDataCache _jointInfluencesDataCache;
HD_DECLARE_DATASOURCE(UsdSkelImagingDataSourceResolvedPointsBasedPrim)
const VtArray< SdfPath > & GetBlendShapeTargetPaths() const
Paths to BlendShape prims.
USDSKELIMAGING_API TfTokenVector GetNames() override
const HdPrimvarsSchema & GetPrimvars() const
Primvars of prim in the input scene.
USDSKELIMAGING_API HdMatrixDataSourceHandle GetPrimWorldToLocal() const
bool HasExtComputations() const
USDSKELIMAGING_API ~UsdSkelImagingDataSourceResolvedPointsBasedPrim()
USDSKELIMAGING_API bool ProcessDirtyLocators(const TfToken &dirtiedPrimType, const HdDataSourceLocatorSet &dirtyLocators, HdSceneIndexObserver::DirtiedPrimEntries *entries)
static USDSKELIMAGING_API Handle New(HdSceneIndexBaseRefPtr const &sceneIndex, SdfPath primPath, HdContainerDataSourceHandle primSource)
std::vector< TfToken > TfTokenVector
Convenience types.
GLuint const GLchar * name
HdMatrixDataSource::Handle HdMatrixDataSourceHandle
const UsdSkelImagingResolvedSkeletonSchema & GetResolvedSkeletonSchema()
Resolved skeleton of prim in the input scene.
static USDSKELIMAGING_API const HdDataSourceLocatorSet & GetDependendendOnDataSourceLocators()
const TfToken & GetSkinningMethod() const
Skinning method computed from corresponding primvar.
#define USDSKELIMAGING_API
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
USDSKELIMAGING_API std::shared_ptr< UsdSkelImagingJointInfluencesData > GetJointInfluencesData()
Joint influences data computed from primvars.
#define PXR_NAMESPACE_CLOSE_SCOPE
USDSKELIMAGING_API std::shared_ptr< UsdSkelImagingBlendShapeData > GetBlendShapeData()
Blend shape data computed from primvars, skel bindings and skeleton.
const SdfPath & GetPrimPath() const
Path of prim in input scene (and for prim this data source is for).
const SdfPath & GetSkeletonPath() const
Path of bound skeleton.
USDSKELIMAGING_API HdDataSourceBaseHandle Get(const TfToken &name) override
HD_DECLARE_DATASOURCE_HANDLES(UsdSkelImagingDataSourceResolvedPointsBasedPrim)
TF_DECLARE_REF_PTRS(HdSceneIndexBase)