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
41 ,
public std::enable_shared_from_this<
42 UsdSkelImagingDataSourceResolvedPointsBasedPrim>
58 HdSceneIndexBaseRefPtr
const &sceneIndex,
60 HdContainerDataSourceHandle primSource);
79 return _blendShapeTargetPaths;
96 return _resolvedSkeletonSchema;
162 return _skinningMethod;
194 const TfToken &dirtiedPrimType,
201 HdSceneIndexBaseRefPtr
const &sceneIndex,
203 HdContainerDataSourceHandle primSource,
207 HdContainerDataSourceHandle skeletonPrimSource,
211 _ProcessDirtyLocators(
218 _ProcessDirtySkeletonLocators(
225 _ProcessDirtySkelBlendShapeLocators(
232 _ProcessDirtyInstancerLocators(
238 HdSceneIndexBaseRefPtr
const _sceneIndex;
242 HdContainerDataSourceHandle
const _primSource;
243 const bool _hasSkelRoot;
250 HdContainerDataSourceHandle
const _skeletonPrimSource;
253 class _BlendShapeDataCache
257 _BlendShapeDataCache(
258 HdSceneIndexBaseRefPtr
const &sceneIndex,
261 Handle _Compute()
override;
263 HdSceneIndexBaseRefPtr
const _sceneIndex;
266 _BlendShapeDataCache _blendShapeDataCache;
268 class _JointInfluencesDataCache
272 _JointInfluencesDataCache(
273 HdContainerDataSourceHandle
const &primSource,
274 HdContainerDataSourceHandle
const &skeletonPrimSource);
276 Handle _Compute()
override;
278 HdContainerDataSourceHandle
const _primSource;
279 HdContainerDataSourceHandle
const _skeletonPrimSource;
281 _JointInfluencesDataCache _jointInfluencesDataCache;
HD_DECLARE_DATASOURCE(UsdSkelImagingDataSourceResolvedPointsBasedPrim)
const VtArray< SdfPath > & GetBlendShapeTargetPaths() const
Paths to BlendShape prims.
USDSKELIMAGING_API TfTokenVector GetNames() override
USDSKELIMAGING_API HdDataSourceBaseHandle GetInfluences()
const HdPrimvarsSchema & GetPrimvars() const
Primvars of prim in the input scene.
#define PXR_NAMESPACE_OPEN_SCOPE
USDSKELIMAGING_API HdVec4fArrayDataSourceHandle GetSkinningDualQuats()
Only valid if GetSkinningMethod() == UsdSkelTokens->dualQuaternion.
bool HasExtComputations() const
HdMatrix4fArrayDataSource::Handle HdMatrix4fArrayDataSourceHandle
USDSKELIMAGING_API HdMatrixDataSourceHandle GetCommonSpaceToPrimLocal() const
USDSKELIMAGING_API HdDataSourceBaseHandle GetHasFaceVaryingNormals()
bool HasNormalsExtComputations() const
Should the normals for this primvar be given by an ext computation.
HdMatrix3fArrayDataSource::Handle HdMatrix3fArrayDataSourceHandle
USDSKELIMAGING_API ~UsdSkelImagingDataSourceResolvedPointsBasedPrim()
USDSKELIMAGING_API HdSampledDataSourceHandle GetPoints()
USDSKELIMAGING_API HdDataSourceBaseHandle GetNumBlendShapeOffsetRanges()
USDSKELIMAGING_API HdDataSourceBaseHandle GetHasConstantInfluences()
USDSKELIMAGING_API HdFloatArrayDataSourceHandle GetBlendShapeWeights()
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.
USDSKELIMAGING_API HdDataSourceBaseHandle GetBlendShapeOffsets()
GLuint const GLchar * name
HdMatrixDataSource::Handle HdMatrixDataSourceHandle
HdFloatArrayDataSource::Handle HdFloatArrayDataSourceHandle
USDSKELIMAGING_API HdMatrix4fArrayDataSourceHandle GetSkinningTransforms()
USDSKELIMAGING_API HdDataSourceBaseHandle GetNumInfluencesPerComponent()
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
USDSKELIMAGING_API HdSampledDataSourceHandle GetNormals() const
USDSKELIMAGING_API HdDataSourceBaseHandle GetGeomBindTransform()
USDSKELIMAGING_API std::shared_ptr< UsdSkelImagingJointInfluencesData > GetJointInfluencesData()
Joint influences data computed from primvars.
#define PXR_NAMESPACE_CLOSE_SCOPE
USDSKELIMAGING_API HdSampledDataSourceHandle GetFaceVertexIndices()
USDSKELIMAGING_API HdMatrix3fArrayDataSourceHandle GetSkinningScaleTransforms()
Only valid if GetSkinningMethod() == UsdSkelTokens->dualQuaternion.
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.
const VtArray< SdfPath > & GetInstancerPaths() const
HdVec4fArrayDataSource::Handle HdVec4fArrayDataSourceHandle
USDSKELIMAGING_API HdDataSourceBaseHandle Get(const TfToken &name) override
USDSKELIMAGING_API HdDataSourceBaseHandle GetBlendShapeOffsetRanges()
HD_DECLARE_DATASOURCE_HANDLES(UsdSkelImagingDataSourceResolvedPointsBasedPrim)
TF_DECLARE_REF_PTRS(HdSceneIndexBase)