HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UsdSkelImagingDataSourceXformResolver Class Reference

#include <xformResolver.h>

Public Member Functions

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

Static Public Member Functions

static const HdDataSourceLocatorGetInstancedByLocator ()
 
static const HdDataSourceLocatorGetXformLocator ()
 
static const HdDataSourceLocatorGetInstanceXformLocator ()
 
static const HdDataSourceLocatorGetInstanceAnimationSourceLocator ()
 

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 41 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

VtArray<SdfPath> UsdSkelImagingDataSourceXformResolver::GetInstanceAnimationSource ( ) const

Get skel:animationSource instance primvar value from the immediate instancer.

static const HdDataSourceLocator& UsdSkelImagingDataSourceXformResolver::GetInstanceAnimationSourceLocator ( )
static

If a dirty message for any instancer includes this locator, we need to refresh XXXXX

static const HdDataSourceLocator& UsdSkelImagingDataSourceXformResolver::GetInstancedByLocator ( )
static

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

const VtArray<SdfPath>& UsdSkelImagingDataSourceXformResolver::GetInstancerPaths ( ) const
inline

Paths of instancer contributing to the transform. They need to be observed for invalidation.

Definition at line 58 of file xformResolver.h.

static const HdDataSourceLocator& UsdSkelImagingDataSourceXformResolver::GetInstanceXformLocator ( )
static

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

HdMatrixDataSourceHandle UsdSkelImagingDataSourceXformResolver::GetPrimLocalToCommonSpace ( ) const

Data source for the transform.

static const HdDataSourceLocator& UsdSkelImagingDataSourceXformResolver::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: