18#ifndef PXR_USD_IMAGING_USD_SKEL_IMAGING_BINDING_SCHEMA_H
19#define PXR_USD_IMAGING_USD_SKEL_IMAGING_BINDING_SCHEMA_H
23#include "pxr/usdImaging/usdSkelImaging/api.h"
25#include "pxr/imaging/hd/schema.h"
30PXR_NAMESPACE_OPEN_SCOPE
35#define USD_SKEL_IMAGING_BINDING_SCHEMA_TOKENS \
43 ((skinningMethodPrimvar, "skel:skinningMethod")) \
44 ((geomBindTransformPrimvar, "skel:geomBindTransform")) \
45 ((jointIndicesPrimvar, "skel:jointIndices")) \
46 ((jointWeightsPrimvar, "skel:jointWeights")) \
49 USD_SKEL_IMAGING_BINDING_SCHEMA_TOKENS);
74 const HdContainerDataSourceHandle &fromParentContainer);
93 HdPathDataSourceHandle GetSkeleton()
const;
96 HdTokenArrayDataSourceHandle GetJoints()
const;
174 static HdContainerDataSourceHandle
176 const HdPathDataSourceHandle &animationSource,
177 const HdPathDataSourceHandle &skeleton,
178 const HdTokenArrayDataSourceHandle &joints,
179 const HdTokenArrayDataSourceHandle &blendShapes,
180 const HdPathArrayDataSourceHandle &blendShapeTargets,
181 const HdBoolDataSourceHandle &hasSkelRoot
195 const HdPathDataSourceHandle &animationSource);
198 const HdPathDataSourceHandle &skeleton);
201 const HdTokenArrayDataSourceHandle &joints);
204 const HdTokenArrayDataSourceHandle &blendShapes);
207 const HdPathArrayDataSourceHandle &blendShapeTargets);
210 const HdBoolDataSourceHandle &hasSkelRoot);
214 HdContainerDataSourceHandle
Build();
217 HdPathDataSourceHandle _animationSource;
218 HdPathDataSourceHandle _skeleton;
219 HdTokenArrayDataSourceHandle _joints;
220 HdTokenArrayDataSourceHandle _blendShapes;
221 HdPathArrayDataSourceHandle _blendShapeTargets;
222 HdBoolDataSourceHandle _hasSkelRoot;
229PXR_NAMESPACE_CLOSE_SCOPE
Represents an object that can identify the location of a data source.
Schema classes represent a structured view of the inherently unstructured container data source passe...
Token for efficient comparison, assignment, and hashing of known strings.
Utility class for setting sparse sets of child data source fields to be filled as arguments into Buil...
USDSKELIMAGING_API HdContainerDataSourceHandle Build()
Returns a container data source containing the members set thus far.
Corresponds to UsdSkelBindingAPI.
static USDSKELIMAGING_API const HdDataSourceLocator & GetAnimationSourceLocator()
Prim-level relative data source locator to locate animationSource.
static USDSKELIMAGING_API const TfToken & GetSchemaToken()
Returns a token where the container representing this schema is found in a container by default.
static USDSKELIMAGING_API const HdDataSourceLocator & GetSkeletonLocator()
Prim-level relative data source locator to locate skeleton.
static USDSKELIMAGING_API const HdDataSourceLocator & GetBlendShapesLocator()
Prim-level relative data source locator to locate blendShapes.
USDSKELIMAGING_API HdPathArrayDataSourceHandle GetBlendShapeTargets() const
This is not inherited according to the UsdSkel spec.
static USDSKELIMAGING_API const HdDataSourceLocator & GetBlendShapeTargetsLocator()
Prim-level relative data source locator to locate blendShapeTargets.
USDSKELIMAGING_API HdBoolDataSourceHandle GetHasSkelRoot() const
Is this prim a descendant of a SkelRoot? Does not correspond to Usd attribute and is actually populat...
static USDSKELIMAGING_API const HdDataSourceLocator & GetHasSkelRootLocator()
Prim-level relative data source locator to locate hasSkelRoot.
USDSKELIMAGING_API HdTokenArrayDataSourceHandle GetBlendShapes() const
This is not inherited according to the UsdSkel spec.
USDSKELIMAGING_API HdPathDataSourceHandle GetAnimationSource() const
Note that in UsdSkel, the animation comes from the animationSource on the Skeleton (which also carrie...
static USDSKELIMAGING_API HdContainerDataSourceHandle BuildRetained(const HdPathDataSourceHandle &animationSource, const HdPathDataSourceHandle &skeleton, const HdTokenArrayDataSourceHandle &joints, const HdTokenArrayDataSourceHandle &blendShapes, const HdPathArrayDataSourceHandle &blendShapeTargets, const HdBoolDataSourceHandle &hasSkelRoot)
static USDSKELIMAGING_API const HdDataSourceLocator & GetDefaultLocator()
Returns an HdDataSourceLocator (relative to the prim-level data source) where the container represent...
static USDSKELIMAGING_API UsdSkelImagingBindingSchema GetFromParent(const HdContainerDataSourceHandle &fromParentContainer)
Retrieves a container data source with the schema's default name token "skelBinding" from the parent ...
static USDSKELIMAGING_API const HdDataSourceLocator & GetJointsLocator()
Prim-level relative data source locator to locate joints.
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.