Loading...
Searching...
No Matches
UsdSkelImagingDataSourceResolvedPointsBasedPrim Class Reference

A prim data source providing resolved data for a points based prim (mesh, basisCurves, points) deformed by a skeleton. More...

#include <dataSourceResolvedPointsBasedPrim.h>

+ Inheritance diagram for UsdSkelImagingDataSourceResolvedPointsBasedPrim:

Public Member Functions

 HD_DECLARE_DATASOURCE (UsdSkelImagingDataSourceResolvedPointsBasedPrim)
 
USDSKELIMAGING_API TfTokenVector GetNames () override
 Returns the list of names for which Get(...) is expected to return a non-null value.
 
USDSKELIMAGING_API HdDataSourceBaseHandle Get (const TfToken &name) override
 Returns the child datasource of the given name.
 
const SdfPathGetPrimPath () const
 Path of prim in input scene (and for prim this data source is for).
 
const SdfPathGetSkeletonPath () const
 Path of bound skeleton.
 
const VtArray< SdfPath > & GetBlendShapeTargetPaths () const
 Paths to BlendShape prims.
 
const VtArray< SdfPath > & GetInstancerPaths () const
 Paths to instancers instancing this prim - not including ones outside the skel root.
 
const HdPrimvarsSchema & GetPrimvars () const
 Primvars of prim in the input scene.
 
const UsdSkelImagingResolvedSkeletonSchemaGetResolvedSkeletonSchema ()
 Resolved skeleton of prim in the input scene.
 
USDSKELIMAGING_API HdMatrixDataSourceHandle GetCommonSpaceToPrimLocal () const
 Transfrom to go from common space (as defined by UsdSkelImagingDataSourceXformResolver) to the local space of this prim.
 
USDSKELIMAGING_API std::shared_ptr< UsdSkelImagingBlendShapeDataGetBlendShapeData ()
 Blend shape data computed from primvars, skel bindings and skeleton.
 
USDSKELIMAGING_API std::shared_ptr< UsdSkelImagingJointInfluencesDataGetJointInfluencesData ()
 Joint influences data computed from primvars.
 
const TfTokenGetSkinningMethod () const
 Skinning method computed from corresponding primvar.
 
bool HasExtComputations () const
 Should the points for this primvar be given by an ext computation or from the primvars schema.
 
USDSKELIMAGING_API bool ProcessDirtyLocators (const TfToken &dirtiedPrimType, const HdDataSourceLocatorSet &dirtyLocators, HdSceneIndexObserver::DirtiedPrimEntries *entries)
 Dirty internal structures in response to dirty locators for the target (resolved) skeleton prim (dirtiedPrimType = "skeleton"), a targeted skelBlendShape prim (dirtiedPrimType = "skelBlendShape") or the prim in the input scene itself (any other dirtiedPrimType).
 
- Public Member Functions inherited from HdContainerDataSource
 HD_DECLARE_DATASOURCE_ABSTRACT (HdContainerDataSource)
 
virtual TfTokenVector GetNames ()=0
 Returns the list of names for which Get(...) is expected to return a non-null value.
 
virtual HdDataSourceBaseHandle Get (const TfToken &name)=0
 Returns the child datasource of the given name.
 

Static Public Member Functions

static USDSKELIMAGING_API Handle New (HdSceneIndexBaseRefPtr const &sceneIndex, SdfPath primPath, HdContainerDataSourceHandle primSource)
 C'tor.
 
static USDSKELIMAGING_API const HdDataSourceLocatorSetGetDependendendOnDataSourceLocators ()
 Data source locators (on this prim) that this prim depends on.
 
- Static Public Member Functions inherited from HdContainerDataSource
static HD_API HdDataSourceBaseHandle Get (const Handle &container, const HdDataSourceLocator &locator)
 A convenience function: given container, return the descendant identified by locator, which may be at any depth.
 

Detailed Description

A prim data source providing resolved data for a points based prim (mesh, basisCurves, points) deformed by a skeleton.

As a data source, it populates the HdExtComputationPrimvarsSchema for points and removes points from the HdPrimvarsSchema.

Used by the UsdSkelImagingPointsResolvingSceneIndex in conjunction with the UsdSkelImagingDataSourceResolvedExtComputationPrim.

Definition at line 37 of file dataSourceResolvedPointsBasedPrim.h.

Member Function Documentation

◆ Get()

USDSKELIMAGING_API HdDataSourceBaseHandle Get ( const TfToken name)
overridevirtual

Returns the child datasource of the given name.

This call is expected to be threadsafe.

Implements HdContainerDataSource.

◆ GetBlendShapeData()

USDSKELIMAGING_API std::shared_ptr< UsdSkelImagingBlendShapeData > GetBlendShapeData ( )

Blend shape data computed from primvars, skel bindings and skeleton.

◆ GetBlendShapeTargetPaths()

const VtArray< SdfPath > & GetBlendShapeTargetPaths ( ) const
inline

Paths to BlendShape prims.

Definition at line 76 of file dataSourceResolvedPointsBasedPrim.h.

◆ GetCommonSpaceToPrimLocal()

USDSKELIMAGING_API HdMatrixDataSourceHandle GetCommonSpaceToPrimLocal ( ) const

Transfrom to go from common space (as defined by UsdSkelImagingDataSourceXformResolver) to the local space of this prim.

◆ GetDependendendOnDataSourceLocators()

static USDSKELIMAGING_API const HdDataSourceLocatorSet & GetDependendendOnDataSourceLocators ( )
static

Data source locators (on this prim) that this prim depends on.

That is, if the input scene sends a dirty entry for this prim path with dirty locators intersecting these data source locators, we need to call ProcessDirtyLocators.

(Similar to dependendedOnDataSourceLocator in HdDependencySchema).

◆ GetInstancerPaths()

const VtArray< SdfPath > & GetInstancerPaths ( ) const
inline

Paths to instancers instancing this prim - not including ones outside the skel root.

See UsdSkelImagingDataSourceXformResolver for details.

Definition at line 85 of file dataSourceResolvedPointsBasedPrim.h.

◆ GetJointInfluencesData()

USDSKELIMAGING_API std::shared_ptr< UsdSkelImagingJointInfluencesData > GetJointInfluencesData ( )

Joint influences data computed from primvars.

◆ GetNames()

USDSKELIMAGING_API TfTokenVector GetNames ( )
overridevirtual

Returns the list of names for which Get(...) is expected to return a non-null value.

This call is expected to be threadsafe.

Implements HdContainerDataSource.

◆ GetPrimPath()

const SdfPath & GetPrimPath ( ) const
inline

Path of prim in input scene (and for prim this data source is for).

Definition at line 70 of file dataSourceResolvedPointsBasedPrim.h.

◆ GetPrimvars()

const HdPrimvarsSchema & GetPrimvars ( ) const
inline

Primvars of prim in the input scene.

Definition at line 90 of file dataSourceResolvedPointsBasedPrim.h.

◆ GetResolvedSkeletonSchema()

const UsdSkelImagingResolvedSkeletonSchema & GetResolvedSkeletonSchema ( )
inline

Resolved skeleton of prim in the input scene.

Definition at line 93 of file dataSourceResolvedPointsBasedPrim.h.

◆ GetSkeletonPath()

const SdfPath & GetSkeletonPath ( ) const
inline

Path of bound skeleton.

Definition at line 73 of file dataSourceResolvedPointsBasedPrim.h.

◆ GetSkinningMethod()

const TfToken & GetSkinningMethod ( ) const
inline

Skinning method computed from corresponding primvar.

Definition at line 112 of file dataSourceResolvedPointsBasedPrim.h.

◆ HasExtComputations()

bool HasExtComputations ( ) const
inline

Should the points for this primvar be given by an ext computation or from the primvars schema.

Definition at line 118 of file dataSourceResolvedPointsBasedPrim.h.

◆ New()

static USDSKELIMAGING_API Handle New ( HdSceneIndexBaseRefPtr const &  sceneIndex,
SdfPath  primPath,
HdContainerDataSourceHandle  primSource 
)
static

C'tor.

Note that it takes the data source for the prim at primPath in the given sceneIndex. This is for performance: the client probably already retrieved this data source so we want to avoid looking it up again here.

Returns a nullptr if there the prim in the input scene does not bind a skeleton.

◆ ProcessDirtyLocators()

USDSKELIMAGING_API bool ProcessDirtyLocators ( const TfToken dirtiedPrimType,
const HdDataSourceLocatorSet dirtyLocators,
HdSceneIndexObserver::DirtiedPrimEntries entries 
)

Dirty internal structures in response to dirty locators for the target (resolved) skeleton prim (dirtiedPrimType = "skeleton"), a targeted skelBlendShape prim (dirtiedPrimType = "skelBlendShape") or the prim in the input scene itself (any other dirtiedPrimType).

Fills dirtied prim entries with affected locators for this prim or returns true to indicate that we could not dirty this data source and need to refetch it.


The documentation for this class was generated from the following file: