Exemple #1
0
VtTokenArray
UsdSkelAnimQuery::GetJointOrder() const
{
    if(TF_VERIFY(IsValid(), "invalid anim query.")) {
        return _impl->GetJointOrder();
    }
    return VtTokenArray();
}
Exemple #2
0
VtTokenArray
UsdSkelSkeletonQuery::GetJointOrder() const
{
    if(TF_VERIFY(IsValid(), "invalid skeleton query.")) {
        return _definition->GetJointOrder();
    }
    return VtTokenArray();
}
Exemple #3
0
UsdSkelSkinningQuery
UsdSkel_CacheImpl::ReadScope::_FindOrCreateSkinningQuery(
    const UsdPrim& skinnedPrim,
    const SkinningQueryKey& key)
{
    UsdSkelSkeletonQuery skelQuery = FindOrCreateSkelQuery(key.skel);

    // TODO: Consider some form of deduplication.
    return UsdSkelSkinningQuery(
        skinnedPrim,
        skelQuery ? skelQuery.GetJointOrder() : VtTokenArray(),
        key.jointIndicesAttr, key.jointWeightsAttr,
        key.geomBindTransformAttr, key.jointsAttr);
}
Exemple #4
0
UsdSkelSkinningQuery
UsdSkel_CacheImpl::ReadScope::_FindOrCreateSkinningQuery(
    const UsdPrim& skinnedPrim,
    const SkinningQueryKey& key)
{
    {
        _SkinningQueryMap::const_accessor a;
        if(_cache->_skinningQueryCache.find(a, key))
            return a->second;
    }
    
    _SkinningQueryMap::accessor a;
    if(_cache->_skinningQueryCache.insert(a, key)) {

        a->second = UsdSkelSkinningQuery(
            skinnedPrim,
            key.skelQuery ? key.skelQuery.GetJointOrder() : VtTokenArray(),
            key.jointIndicesAttr, key.jointWeightsAttr,
            key.geomBindTransformAttr,
            key.jointOrder ? &(*key.jointOrder) : nullptr);
    }
    return a->second;
}