Loading...
Searching...
No Matches
UsdSkelImagingDataSourceXformResolver Class Reference

Given a prim, computes transform from prim local space to a space common to all descendants of a skel root. More...

#include <xformResolver.h>

Public Member Functions

 UsdSkelImagingDataSourceXformResolver (HdSceneIndexBaseRefPtr const &sceneIndex, HdContainerDataSourceHandle const &primSource)
 Construct from data source of relevant prim.
 
HdMatrixDataSourceHandle GetPrimLocalToCommonSpace () const
 Data source for the transform.
 
const VtArray< SdfPath > & GetInstancerPaths () const
 Paths of instancer contributing to the transform.
 

Static Public Member Functions

static const HdDataSourceLocatorGetInstancedByLocator ()
 If a dirty message for this prim or any instancer includes this locator, we need to reconstruct UsdSkelImagingDataSourceXformResolver.
 
static const HdDataSourceLocatorGetXformLocator ()
 If a dirty message for this prim or any instancer includes this locator, we need to refetch the transform data source.
 
static const HdDataSourceLocatorGetInstanceXformLocator ()
 If a dirty message for any instancer includes this locator, we need to refetch the transform data source.
 

Detailed Description

Given a prim, computes transform from prim local space to a space common to all descendants of a skel root.

Without instancing, the common space is simply world. But if the skel root is inside a ni or pi prototype, the common space is that of the prototype.

A particular difficulty is presented by the following situation: Consider a prim inside a reference which is inside a skel root. Now author instancable on the reference. This change the topology after the ni prototype propagating scene index and the prim now has an instancer and the xform authored on the reference is now in the instancer's instanceTransforms primvar.

This class takes these instanceTransforms into account.

Note that it does not consider instancers instancing the skel root.

Also note that it assumes that an instancer has only instance.

Definition at line 42 of file xformResolver.h.

Constructor & Destructor Documentation

◆ UsdSkelImagingDataSourceXformResolver()

UsdSkelImagingDataSourceXformResolver ( HdSceneIndexBaseRefPtr const &  sceneIndex,
HdContainerDataSourceHandle const &  primSource 
)

Construct from data source of relevant prim.

Member Function Documentation

◆ GetInstancedByLocator()

static const HdDataSourceLocator & GetInstancedByLocator ( )
static

If a dirty message for this prim or any instancer includes this locator, we need to reconstruct UsdSkelImagingDataSourceXformResolver.

◆ GetInstancerPaths()

const VtArray< SdfPath > & GetInstancerPaths ( ) const
inline

Paths of instancer contributing to the transform.

They need to be observed for invalidation.

Definition at line 55 of file xformResolver.h.

◆ GetInstanceXformLocator()

static const HdDataSourceLocator & GetInstanceXformLocator ( )
static

If a dirty message for any instancer includes this locator, we need to refetch the transform data source.

◆ GetPrimLocalToCommonSpace()

HdMatrixDataSourceHandle GetPrimLocalToCommonSpace ( ) const

Data source for the transform.

◆ GetXformLocator()

static const HdDataSourceLocator & GetXformLocator ( )
static

If a dirty message for this prim or any instancer includes this locator, we need to refetch the transform data source.


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